Я собираюсь реализовать xenserver и хотел бы знать, как заставить xenserver корректно завершить работу всех виртуальных машин после сбоя питания.
Предлагаемые решения являются слишком упрощенно, чтобы работать в практических ситуациях.
Мы используем диспетчер ресурсов кластера Pacemaker для управления нашими виртуальными машинами. Nagios контролирует имеющиеся у нас ИБП APC через их карты сетевого управления и запускает сценарий, когда неизбежен сбой питания, чтобы перевести серверы dom0 (также узлы кардиостимулятора) в режим ожидания, эффективно перемещая от них все ресурсы, включая виртуальные машины.
Pacemaker обрабатывает случай, когда ресурсы не могут мигрировать куда-либо относительно изящно, выполняя быстрое завершение работы компьютеров domU. Как только компьютеры pcmk node / dom0 восстанавливаются, «ресурсы» (также известные как виртуальные машины domU) снова запускаются там, где это разрешено правилами кластера кардиостимулятора.
Похоже, что продукты apc smartups работают: http://support.citrix.com/article/CTX119910 и http://techblog.deptive.co.nz/2009/04/automated-xenserver-host-vm-shutdown.html и http://forums.citrix.com/message.jspa?messageID=1339540
Думаю, я упускаю суть. Большинство этих решений продвигают отдельный компьютер Windows для запуска сценария.
Что меня уверяет: 1) Приставка Windows не теряет питание до того, как ИБП XS выдает разряд батареи? 2) Если несколько хостов XS, каждый с отдельными устройствами ИБП - нужен ли мне отдельный компьютер с Windows для каждого?
Похоже, что решения, основанные на физической машине XS, будут лучше. Отвечайте на сигнал, что вы собираетесь пострадать (батарея разряжена) - каждому участнику пула нужно только координировать свои действия с другими (в пределах пула). Теоретически достаточно позаботиться о том, чтобы ВМ работали на собственном сервере и выключились. (Усложняется, если мастер уже отключен - при обработке в качестве члена пула (теперь в аварийном режиме)).
На мой взгляд, предлагаемые «решения» слишком упрощены.