
На данный момент у меня есть следующие разделы:
ACTIVE '/dev/vg_server/lv_root' [50.00 GiB] inherit
ACTIVE '/dev/vg_server/lv_home' [1.76 TiB] inherit
ACTIVE '/dev/vg_server/lv_swap' [5.86 GiB] inherit
Я хотел бы уменьшить lv_home
раздел, который почти пуст, и увеличить lv_root
раздел, поскольку он приближается к заполнению. У меня есть полная резервная копия, но я хотел бы сделать это на живом сервере, на котором у меня нет возможности использовать Live CD.
Я хотел бы изменить размер разделов и перезагрузиться, чтобы все заработало снова довольно быстро. Есть ли относительно безопасный способ сделать это?
решение1
Основная проблема — избежать необходимости использовать резервные копии. Если lv_home
действительно «почти пусто»,
- вы можете уменьшить его (изменить размер файловой системы, а затем уменьшить логический том) и
- используйте освободившееся пространство для временного тома для копирования
lv_home
. - Затемсуществующее
lv_home
пустует, и вы можете снести его, расширитьlv_root
по мере необходимости и - наконец (если
lv_home
естьДействительно(поначалу он был небольшим), переместите содержимое временного тома обратно в ту часть пустого пространства, которая вам не нужнаlv_root
, и объедините его с временным пространством.
Предложенный порядок предполагает, что разделы базового диска находятся в том же порядке, конечно. LVM не подходит для смещения разделов вверх и вниз (как это могут делать некоторые автономные инструменты разбиения дисков).
Теперь - вопрос OP не упоминал, находятся ли все базовые файловые системы на одном физическом диске, и находятся ли их разделы на диске в том же порядке. Если они все находятся на одном физическом диске, возникает вопрос, разбивается ли он с помощью MBR (максимум четыре физических раздела) или GPT (128) -- см. напримерВ чем разница между MBR и GPT?. В первом случае OP, возможно, придется создать расширенный раздел в качестве основы для измененного lv_home
раздела.
LVM по сути представляет собой три слоя: физический, тома и логический. Чтобы все было аккуратно, неплохо иметь физические диски рядом. Но LVM не требует этого. Можно сжать lv_home
(и его файловую систему и физический раздел) за один шаг, а затем создать новый физический раздел в пространстве на конце, добавив этот раздел в группу томов, соответствующую, lv_root
и затем запуститьresize2fs
для расширения файловой системы. Увеличение размера широко практикуется; уменьшение — гораздо реже — до недавнего времени в документации были предостережения, объясняющие, что с помощью этого инструмента можно испортить файловую систему.
Это может быть полезно:
решение2
Использование lvextended
команды для изменения размера логического тома:
lvextend -l +4607 /dev/vg_home/LogVol01
resize2fs /dev/vg_home/LogVol01
Я предлагаю почитать концептуально оизменение размера и уменьшение lvm на этом сайте.