У нас есть небольшой кластер серверов Xen в офисе. Каждый системный образ виртуальной машины находится на собственном блочном устройстве в нашей iSCSI SAN. Все серверы одновременно подключают свой инициатор iSCSI к каждому LUN виртуальной машины.
Чтобы одна и та же виртуальная машина не запускалась на нескольких хостах, мы просто гарантируем, что каждая виртуальная машина добавляется только на один сервер с помощью xm new
. Разумный мониторинг всех серверов через virt-manager
тоже помогает. Однако на самом деле нет никаких гарантий, которые могли бы предотвратить случайный запуск одной и той же виртуальной машины на нескольких хостах.
У меня вопрос: как лучше реализовать систему управления для такой установки? Существуют ли какие-либо существующие инструменты для управления такой настройкой Xen с помощью серверной части общего хранилища?
Мы используем openSUSE 11.1 в качестве основной ОС.
Xen имеет встроенный механизм блокировки, который следует использовать, особенно при использовании горячей или динамической миграции. У нас есть общий ресурс NFS, смонтированный на всех наших хостах Dom0, и Xen сначала проверяет его, чтобы увидеть, работает ли кто-то еще с экземпляром DomU, прежде чем пытаться его запустить.
Посмотрите в свой файл xend-config.sxp - настройки конфигурации, которые вы ищете, начинаются примерно со строки 261 в моей системе и называются xend-domain-lock
, xend-domain-lock-path
, и если вы хотите настроить внешнюю утилиту для управления ею другим способом, вы можете указать внешнюю команду для запуска с xend-domain-lock-utility
. Я использую Xen 3.3.1 на SLES11; ваш пробег может отличаться.
Мы управляем xend, xendomains и nfs с помощью pacemaker / openais и храним файлы блокировки на монтировании NFS, которое становится высокодоступным с помощью pacemaker и раздела на san.