На моем интранет-сервере у меня есть раздел 100,00 ГиБ / dev / sda5, который я использую в качестве физического тома для lvm2.
- Это единственный физический том в моей группе томов vg01.
- В настоящее время vg01 содержит один логический том lv01, использующий все 100,00 ГиБ - ну, в действительности, 99,99 ГБ из-за некоторого округления (вот где начинается проблема).
- lv01 содержит файловую систему ext3, используя все пространство.
Я хочу уменьшить lv01 примерно до 97 ГиБ, поэтому я могу создать lv02 с прибл. 3 ГиБ (мне нужно, чтобы сделать снимки lvm).
Что я сделал до сих пор:
e2fsck -f /dev/mapper/vg01-lv01
resize2fs /dev/mapper/vg01-lv01 97G
Это сработало хорошо. Но теперь мне придется бежать
lvreduce --size ? /dev/mapper/vg01-lv01
И я не уверен, какое именно значение мне придется указать. Страница lvreduce
man явно предупреждает, что результирующий размер не должен быть меньше, чем файловая система. Я также не хочу делать это больше, чем должно быть. Но сейчас у меня разные цифры:
- Я указал
97G
в resize2fs. df -h
говорит, что это 96 г.df
говорит, что это 100115936 1K-блоков.- lvdisplay (конечно) все еще сообщает о 99.99 ГиБ для логического тома.
Что я должен указать для lvreduce
?
Редактировать:
В настоящее время принятый ответ обеспечивает хороший обходной путь. Однако для того, чтобы интегрировать такие вещи в надежные сценарии и т. Д., Я бы предпочел вместо этого использовать точные измерения. Или, может быть, уже есть надежный (!) Скрипт или инструмент, который выполняет всю процедуру изменения размера за один шаг?
resize2fs
чтобы уменьшить файловую систему до 90 ГБ или около того, а затем поиграться с аргументамиlvreduce
(послеresize2fs
), чтобы увидеть, что работает лучше всего.