Проект

Общее

Профиль

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

Редакция 1 (Константин Пильник, 2016-04-01 21:24) → Редакция 2/16 (Константин Пильник, 2016-04-01 21:26)

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

 Добавление удаленного устройства в группу (nbd, aoe, loop(nfs)) в группу, далее loop(nfs)), здесь loop0 некоторое транзитное блочное устройство 
 <pre> 
 pvcreate /dev/loop0 
 vgextend vgnane src_vgnane /dev/loop0 
 </pre> 

 Конвертируем исходный раздел в raid1, дожидаемся синхронизации. 
 <pre> 
 lvconvert -m1 --type raid1 vgname/lvname /dev/loop0 
 </pre> 
 снимаем нагрузку (shutdown vds) и расклеиваем исходный раздел, готовим половинку зеркала к отсоединению 
 <pre> 
 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 
 </pre> 
 на целевой машине принимаем транзитный раздел в целевую группу 
 <pre> 
 lvrename transit_vgname transit_lvname lvname 
 vgmerge vgname transig_vgname 
 vgchange -ay vgname 
 </pre> 
 том виден, включаем нагрузку (start vds), запускаем перенос с транзитного устройства на целевое 
 <pre> 
 lvconvert -m1 --type raid1 vgname/lvname 
 </pre> 
 дожидаемся синхронизации, и отклеиваем транзитное устройство 
 <pre> 
 lvconvert -m0 vgname/lvname /dev/loop0 
 vgreduce vgname /dev/loop0 
 losetup -d /dev/loop0 
 </pre>