XEN останавливает все виртуальные машины при выключении

XEN останавливает все виртуальные машины при выключении

Я использую XEN на CentOS 6.5 64 Мне нужен способ остановить все виртуальные машины при завершении работы сервера XEN Я создаю вызов службы stop, xm shutdown -aно он не работает

#!/bin/bash
# chkconfig: 2345 95 20
# description: 
# processname: 

stop()
{
    /usr/sbin/xm shutdown -a
   while [[ true ]]; do
     if [[ `virsh list|wc -l` == 4 ]]; then
       break
     fi
     sleep 1
   done
}

case "$1" in
  stop)
    stop
    ;;
  *)
    echo $"Usage: $prog {stop}"
esac

введите описание изображения здесь

решение1

Если вы используете Xen4CentOS, я бы рекомендовал использоватьlibvirt. Хотя он использует драйвер xen для взаимодействия с xmи xlне выделяет интерфейс для dom0, он автоматизирует такие вещи, как запуск, завершение работы, сетевые интерфейсы и простой интерфейс установки. Компромисс за использование дополнительного уровня абстракции компенсируется наличием системы, которая намного ближе к виртуализации KVM по умолчанию, которая используется по умолчанию в CentOS (и RHEL).

При использовании libvirt действие выключения по умолчанию будет 'suspend', что не поддерживается этой комбинацией программного обеспечения в настоящее время. Изменение /etc/sysconfig/libvirt-guestsнастройки ON_SHUTDOWN=shutdownобеспечит правильный сценарий выключения для виртуальных машин.

Связанный контент