Как я могу уменьшить размер существующего раздела LVM, не ввинчивая туда данные?
Что, если этот раздел является корневым (/)?
Во-первых, вы не можете уменьшить смонтированный раздел (по крайней мере, в случае ext {2,3,4}). Вы должны загрузиться с флешки или чего-то еще для /.
Затем, чтобы убедиться, что я не облажался, я делаю это в три этапа:
Уменьшите файловую систему (сначала потребуется fsck -f) с resize2fs до немного меньше (1 ГБ), чем цель.
$ sudo fsck -f / dev / vg / mylv
$ sudo resize2fs / dev / vg / mylv 24G
Уменьшите логический том с помощью lvreduce до целевого значения
$ sudo lvreduce -L 25G / dev / vg / mylv
Повторно запустите resize2fs без параметров на устройстве, он подберет размер блочного устройства.
$ sudo resize2fs / dev / vg / mylv
Вы также можете просто вычислить правильный размер, взяв кратные размеру экстента, но я считаю, что дополнительный шаг подвержен ошибкам, и когда мне приходится делать такие вещи, у меня нет лишних циклов в мозгу.
Вы хотите изменить размер одного LV (логического тома) или PV (физического тома, раздела LVM диска)? Нет ничего лучше «корневого раздела LVM». Я предполагаю, что у вас есть корневая файловая система поверх LV. В таком случае следуйте совету niXar.
Однако, если вы хотите изменить размер одного раздела LVM (диска) (то есть одного PV), вы можете изменить его размер с помощью «pvresize» или «pvmove».
# man pvmove
# man pvresize
И не забудьте сделать резервную копию своих данных перед тем, как начать играть с разделами диска или устройствами DM.