Целевая система - CentOS 6.x, но операции изменения размера будут выполняться в разделе% pre кикстарта CentOS 7.6.
Я уже бегал resize2fs -M /dev/mapper/centos-home
успешно. Если я монтирую том, df сообщает, что он заполнен на 100%. Это хорошо.
Теперь мне нужно уменьшить размер логического тома, чтобы он соответствовал размеру файловой системы ext4. Я не хочу использовать приблизительные оценки. Мне также не нужно копить во всех возможных пределах. В пределах диапазона> = 1 ГБ это нормально. т.е. объем может быть уменьшен до 1 ГБ> = размер файловой системы.
Целевой объем делает содержат данные, которые я не могу потерять. У меня нет доступа к системе через оболочку (или какой-либо другой). В системе нет доступных репозиториев CentOS, поэтому я не могу ее обновить. У меня даже нет удаленных рук, с которыми я могу поговорить. Я использую другой компьютер для сборки и тестирования установочного ISO.
Мой синтаксис / сценарий% pre должен безопасно сократить / dev / mapper / centos-home, чтобы я мог создать новый корневой том для установки CentOS 7.6. Да, все это предложение безумно.
Сделайте это за один прием.
/sbin/lvresize --resizefs --size -8g /dev/mapper/centos-home
Где 8g - размер корневого тома, который вы хотите установить.
Постоянный размер может быть приемлемым, потому что размер вашей новой установки предсказуем.
Это не совсем сценарий как таковой.
rootvol=/dev/mapper/vg_stt-lv_root
mkdir /tmp/rootlv
mount -t ext4 -o ro $rootvol /tmp/rootlv
usedROOT=$(df -h $rootvol | tail -1 | awk '{print $2}' | awk '{printf("%d\n",$1 + 1)}')
umount /tmp/rootvol
/sbin/lvresize --resizefs --size $usedROOT\g $rootvol