Я использую 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
обеспечит правильный сценарий выключения для виртуальных машин.