Проект

Общее

Профиль

Действия

Lvm-mirroring » История » Редакция 4

« Предыдущее | Редакция 4/16 (Разница(diff)) | Следующее »
Константин Пильник, 2016-04-01 21:29


Lvm-mirroring, перенос lvm-раздела online с минимальным downtime

Добавление (nbd, aoe, loop(nfs)) в группу, далее loop0 некоторое транзитное блочное устройство, в представленном (худшем) сценарии - это файл, лежащий на nfs шаре, подключенный через losetup, в лучшем сценарии - aoe/nbd-устройство (перенос с транзитного устройства на основное не требуется.

pvcreate /dev/loop0
vgextend vgnane /dev/loop0

Конвертируем исходный раздел в raid1, дожидаемся синхронизации.

lvconvert -m1 --type raid1 vgname/lvname /dev/loop0

снимаем нагрузку (shutdown vds) и расклеиваем исходный раздел, готовим половинку зеркала к отсоединению
lvconvert --splitmirrors 1 --name transit_lvname vgname/lvname /dev/loop0
lvchange -an vgname/transit_lvname
vgsplit vgname transit_vgname /dev/loop0
losetup -d /dev/loop0

на целевой машине принимаем транзитный раздел в целевую группу
lvrename transit_vgname transit_lvname lvname
vgmerge vgname transig_vgname
vgchange -ay vgname

том виден, включаем нагрузку (start vds), запускаем перенос с транзитного устройства на целевое
lvconvert -m1 --type raid1 vgname/lvname

дожидаемся синхронизации, и отклеиваем транзитное устройство
lvconvert -m0 vgname/lvname /dev/loop0
vgreduce vgname /dev/loop0
losetup -d /dev/loop0

Обновлено Константин Пильник больше 8 лет назад · 4 изменени(я, ий)