Назад | Перейти на главную страницу

Изменение размера логического тома lvm2 и файловой системы: точные размеры?

На моем сервере интрасети у меня есть раздел / dev / sda5 размером 100,00 ГиБ, который я использую как физический том для lvm2.

Я хочу уменьшить 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 явно предупреждает, что результирующий размер не должен быть меньше файловой системы. Я также не хочу делать его больше, чем должно быть. Но теперь у меня другие цифры:

Что мне нужно указать для lvreduce?

Редактировать:

Принятый в настоящее время ответ дает хороший обходной путь. Однако, чтобы интегрировать такие вещи в твердые скрипты и т. Д., Я обычно предпочитаю вместо этого использовать точные измерения. Или, может быть, уже есть надежный (!) Скрипт или инструмент, который выполняет всю процедуру изменения размера за один шаг?

Я думаю, что это лучше всего сделать с помощью параметра --resizefs для lvreduce / lvresize:

   -r, --resizefs
          Resize underlying filesystem together with the logical volume using fsadm(8).

По общему признанию, это вам не помогает сейчас, но это возможно в будущем.

По моему опыту, LVM и resize2fs имеют одинаковые представления о том, что означает «97G», поэтому указать одинаковый размер в обоих местах должно быть хорошо. Тем не менее, я параноик и везде, где это возможно, всегда использую стратегию, предложенную larsks в комментариях к вопросу и изменяю размер на один ГБ меньше, чем я хотел, выполнял lvresize до желаемого размера, а затем повторно запускал resize2fs (без size), чтобы позволить ему расшириться, чтобы заполнить весь LV.