Действия
Lvm-mirroring » История » Редакция 14
« Предыдущее |
Редакция 14/16
(Разница(diff))
| Следующее »
Константин Пильник, 2016-04-14 16:50
Lvm-mirroring, перенос lvm-раздела online с минимальным downtime¶
Добавление (nbd, aoe, loop(nfs)) в группу, далее loop0 некоторое транзитное блочное устройство, в представленном (худшем) сценарии - это файл, лежащий на nfs шаре, подключенный через losetup, в лучшем сценарии - aoe/nbd-устройство (перенос с транзитного устройства на основное не требуется.
losetup -f nfs-share/path-to_big-sparse-file 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/lvname
том виден, включаем нагрузку на целевой хост-системе (start vds), запускаем перенос с транзитного устройства на целевое
lvconvert -m1 --type raid1 vgname/lvname
дожидаемся синхронизации, и отклеиваем транзитное устройство
lvs vgname/lvname -o+raid_sync_action lvconvert -m0 vgname/lvname /dev/loop0 vgreduce vgname /dev/loop0 losetup -d /dev/loop0
Полезные настройки raid1
/sys/module/raid1/parameters/max_queued_requests [default:1024] - размер очереди подробнее /usr/src/linux/drivers/md/raid10.c /proc/sys/dev/raid/speed_limit_max - абсолютный максимум скорости [default:200000] (Kb) /proc/sys/dev/raid/speed_limit_min - гарантированный лимит скорости [default:1000] (Kb) подробнее /usr/src/linux/drivers/md/md.c
Обновлено Константин Пильник больше 8 лет назад · 14 изменени(я, ий)