![XEN останавливает все виртуальные машины при выключении](https://rvso.com/image/36403/XEN%20%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D1%82%20%D0%B2%D1%81%D0%B5%20%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%8B%20%D0%BF%D1%80%D0%B8%20%D0%B2%D1%8B%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B8.png)
Я использую 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
обеспечит правильный сценарий выключения для виртуальных машин.