Подключаем новый диск (пусть это будет /dev/sdd
) равной или большей емкости чем заменяемый и проверяем, появился ли он в системе (fdisk -l
).
Инициализируем LVM на новом диске:
pvcreate /dev/sdd
Добавляем его в группу томов data-vg
:
vgextend data-vg /dev/sdd
Теперь в группе томов data-vg
есть два диска – старый и новый (крайне желательно, чтобы не меньший по объему, чем старый):
vgscan
Даем команду освободить старый диск, переместив данные с него на доступное место в рамках его группы томов. Как будто несколько емкостей соединены общим шлангом – вылитая вода из одной бутылки “растечется” по остальным. Главное, чтобы хватило свободных емкостей. В нашем случае бутылки две: /dev/sdc
и /dev/sdd
. Опустошая /dev/sdc
, мы автоматом перекачаем все в /dev/sdd
:
pvmove /dev/sdc
Если бы в группе data-vg было бы больше двух дисков, то, возможно, логичнее было бы указать так:
# pvmove /dev/sdc /dev/sdd
После успешного выполнения pvmove удаляем старый диск из группы:
vgreduce data-vg /dev/sdc
Если новый диск больше, чем старый (тот, который на свалку истории), то есть возможность расширить логическую группу до размеров нового диска.
Смотрим логические группы:
lvscan
Выбираем ту, которая на /dev/data-vg/
(например, /dev/data-vg/data-lv
).
Расширяем логический том на все свободное новое место.
lvextend -l +100%FREE /dev/data-vg/data-lv
Расширяем ФС штатными средствами.
resize2fs /dev/data-vg/data-lv
Отключаем физически старый диск.