Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
xen_pacemaker_cluster [2013/06/11 17:09] metallic |
xen_pacemaker_cluster [2022/03/25 17:00] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Кластер виртуальных машин XEN ====== | + | ====== Кластер виртуальных машин |
===== Введение ===== | ===== Введение ===== | ||
Задача: | Задача: | ||
Строка 6: | Строка 6: | ||
===== Подготовка системы ===== | ===== Подготовка системы ===== | ||
- | Устанавливаем ядро XEN с утилитами, | + | Устанавливаем ядро XEN с утилитами, |
- | # apt-get install xen-linux-system-amd64 xen-tools bridge-utils drbd8-utils | + | # apt-get install xen-linux-system-amd64 xen-tools bridge-utils drbd8-utils |
| | ||
После установки у нас в загрузчике появится вариант загрузки XEN Dom0, на нужно сделать, | После установки у нас в загрузчике появится вариант загрузки XEN Dom0, на нужно сделать, | ||
Строка 426: | Строка 426: | ||
===== Дополнительная информация ===== | ===== Дополнительная информация ===== | ||
+ | ==== VNC для виртуалок ==== | ||
+ | В мануале выше, в качестве адреса для удаленных VNC-подключений используется 127.0.0.1, что не очень удобно, | ||
+ | |||
+ | # crm configure | ||
+ | | ||
+ | crm(live)configure# | ||
+ | crm(live)configure# | ||
+ | crm(live)configure# | ||
+ | crm(live)configure# | ||
+ | crm(live)configure# | ||
+ | |||
+ | Теперь виртуалка будет перемещаться по кластеру вместе с IP-адресом для VNC-консоли. | ||
+ | |||
==== Живая миграция ==== | ==== Живая миграция ==== | ||
+ | Теоретически(и по идее практически) можно настроить DRBD в режиме dual primary и пользоваться живой миграцией виртуальных машин(кластер это поддерживает). На практике у меня возникли некоторые мелкие проблемы с этим(сбои миграции, | ||
+ | |||
+ | Конфиг DRBD-ресурса для живой миграции: | ||
+ | |||
+ | resource Win2012 { | ||
+ | | ||
+ | handlers { | ||
+ | fence-peer "/ | ||
+ | after-resync-target "/ | ||
+ | } | ||
+ | | ||
+ | disk { | ||
+ | fencing resource-only; | ||
+ | } | ||
+ | | ||
+ | syncer { | ||
+ | verify-alg md5; | ||
+ | } | ||
+ | | ||
+ | net { | ||
+ | allow-two-primaries; | ||
+ | | ||
+ | after-sb-0pri discard-zero-changes; | ||
+ | after-sb-1pri discard-secondary; | ||
+ | after-sb-2pri disconnect; | ||
+ | } | ||
+ | | ||
+ | device | ||
+ | disk / | ||
+ | meta-disk internal; | ||
+ | | ||
+ | on node1 { | ||
+ | address | ||
+ | } | ||
+ | | ||
+ | on node2 { | ||
+ | address | ||
+ | } | ||
+ | | ||
+ | startup { | ||
+ | become-primary-on both; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | Конфигурация кластера: | ||
+ | |||
+ | crm configure primitive DRBDWin2012 ocf: | ||
+ | crm configure ms ms_DRBDWin2012 DRBDWin2012 meta master-max=" | ||
+ | | ||
+ | crm configure primitive XENWin2012 ocf: | ||
+ | crm configure colocation Win2012-on-DRBD inf: XENWin2012 ms_DRBDWin2012: | ||
+ | crm configure order Win2012AfterDRBD inf: ms_DRBDWin2012: | ||
+ | | ||
+ | crm configure primitive DRBDWin2012-2 ocf: | ||
+ | crm configure ms ms_DRBDWin2012-2 DRBDWin2012-2 meta master-max=" | ||
+ | | ||
+ | crm configure primitive XENWin2012-2 ocf: | ||
+ | crm configure colocation Win2012-on-DRBD-2 inf: XENWin2012-2 ms_DRBDWin2012-2: | ||
+ | crm configure order Win2012AfterDRBD-2 inf: ms_DRBDWin2012-2: | ||
+ | |||
==== Ручное восстановление split brain ==== | ==== Ручное восстановление split brain ==== | ||
+ | Ситуация с возникновением в нормальных условиях достаточно редкая, | ||
+ | - Останавливаем все ресурсы pacemaker(командой crm resource stop [res]), которые связаны с проблемным DRBD-ресурсом(как правило XEN виртуалки и сам DRBD-ресурс) | ||
+ | - На обоих узлах DRBD-ресурсы должны деактивироваться, | ||
+ | - Переводим на обоих узлах ресурс в автономный режим(drbdadm disconnect [res]) | ||
+ | - Переводим на обоих узлах ресурс в secondary режим (drbdadm secondary [res]) | ||
+ | - Выбираем один из узлов в качестве жертвы, | ||
+ | - Второй узел(источник репликации) переводим в режим подключения(drbdadm connect [res]) | ||
+ | - Дожидаемся завершения синхронизации | ||
+ | - Деактивируем ресурс на обоих узлах(drbdadm down [res]) | ||
+ | - Теперь можно запустить все ресурсы pacemaker в нужном порядке(crm resource start [res]) | ||
+ | |||
==== Полезные ссылки ==== | ==== Полезные ссылки ==== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// |