Ich verwende XEN auf CentOS 6.5 64. Ich möchte eine Möglichkeit, alle virtuellen Maschinen zu stoppen, wenn der XEN-Server heruntergefahren wird. Ich baue einen Service-Aufruf in Stop, xm shutdown -a
aber er funktioniert nicht
#!/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
Antwort1
Wenn Sie Xen4CentOS verwenden, empfehle ich die Verwendunglibvirt. Obwohl es einen Xen-Treiber zur Schnittstelle verwendet xm
und xl
keine dedizierte Schnittstelle zu Dom0, automatisiert es Dinge wie Start, Herunterfahren, Netzwerkschnittstellen und eine einfache Installationsschnittstelle. Der Kompromiss für die Verwendung einer zusätzlichen Abstraktionsschicht wird dadurch ausgeglichen, dass ein System viel näher an der Standard-KVM-Virtualisierung ist, die in CentOS (und RHEL) standardmäßig verwendet wird.
Bei Verwendung von libvirt ist die Standard-Herunterfahraktion „Suspend“, die von dieser Softwarekombination derzeit nicht unterstützt wird. Durch Ändern /etc/sysconfig/libvirt-guests
der Einstellung ON_SHUTDOWN=shutdown
wird ein geeignetes Herunterfahrskript für die VMs bereitgestellt.