FAILOVER-процедуры » История » Версия 3
« Предыдущее -
Версия 3/39
(Разница(diff)) -
Следующее » -
Текущая версия
Владимир Ипатов, 19.10.2012 16:58
.
FAILOVER-процедуры¶
Обозначения:
gnt# - запуск команды на мастер-узле gntX# - запуск команды на обычном узле gntY# - запуск команды на другом узле # - запуск команды на любом узле
Запуск на одном узле¶
При запуске на одном узле, управление кластером ganeti-masterd не стартует автоматически, даже на master-узле.
Это связано с тем, что невозможно отличить крах второго узла от потери связи, когда на втором узле продолжают работать запущенные виртуалки.
Запуск управляющего демона:
gnt# ganeti-masterd --no-voting
Штатное переключение master-узла¶
Оба узла запущены, смена master-узла производится в штатном режиме.
На master-candidate (gntX):
gntX# gnt-cluster master-failover
Выход из строя master-узла¶
Основной узел (в примере - gnt1) оказывается выключен в результате аппаратной аварии.
Запустить управляющий демон на узле master-candidate (gntX):
gntX# ganeti-masterd --no-voting
Активировать новый master-узел:
gntX# gnt-cluster master-failover --no-voting
Пометить отключенный узел offline, чтобы master в него не долбился
-С = master-candidate
-O = offline
gnt# gnt-node modify -C no -O yes gntY
Запустить все виртуалки отключенного узла на резервном:
gnt# gnt-node failover --ignore-consistency gnt1
Возврат основного узла в строй¶
Старый основной узел не будет автоматически запускать управляющего демона.- если не найдет парного узла,
- если найдет парный узел и узнает, что он стал новым master-ом.
Если на узле сохранились данные, то для включения его обратно в кластер:
Скопировать на него свежую конфигурацию с нового master-а
gnt# gnt-cluster redist-conf
Запустить на нем ganeti-демоны
gntX# /etc/init.d/ganeti restart
Плановый вывод узла из эксплуатации¶
Мигрируем виртуальные машины:
gnt-instance migrate имя_машины
если выводимый узел - мастер, то сначала нужно переназначить мастера(см. [B]Штатное переключение master узла[/B])
gnt-node modify -C no -O yes УЗЕЛ
Выводит узел из списка кандидатов на мастера и переводит его в режим offline
Далее узел можно просто выключить.
После включения узла нужно добавить заново в кластер:
gnt-node add --readd УЗЕЛ
Замена узла на новый¶
Добавить узел в кластер
gnt# gnt-node add --readd gntX
Для всех виртуалок, которые имеют secodnary на подключенном узле:
gnt# gnt-instance replace-disks --submit -s INSTANCE
Перерегистрировать узел в puppet
gnt# gnt-instance console sci sci# puppetca --clean gnt1.fqdn
gntX# /var/lib/puppet/ssl/* gntX# /etc/init.d/puppet restart
Замена жесткого диска¶
Скопировать разметку с существующего (только для дисков одной модели!)
# sfdisk -d /dev/sda|sfdisk /dev/sdX
Проверить
# fdisk -l
Добавить в RAID
# mdadm --manage /dev/md0 --add /dev/sdX1 # mdadm --manage /dev/md1 --add /dev/sdX2 # mdadm --manage /dev/md2 --add /dev/sdX3
Проверить
cat /proc/mdstat