CentOS 6.5 64에서 XEN을 사용하고 있습니다. XEN 서버가 종료될 때 모든 가상 머신을 중지하는 방법을 원합니다. 중지된 상태에서 서비스 호출을 작성 중인데 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를 사용하는 경우 다음을 사용하는 것이 좋습니다.라이브러리 가상 머신. 전용 인터페이스가 아닌 xen 드라이버를 사용하여 dom0에 연결하지만 시작, 종료, 네트워크 인터페이스, 간단한 설치 인터페이스 등의 작업을 자동화합니다 xm
. xl
추가 추상화 계층 사용에 따른 장단점은 CentOS(및 RHEL)의 기본값인 기본 KVM 가상화에 더 가까운 시스템을 사용함으로써 보상됩니다.
libvirt를 사용할 때 기본 종료 동작은 "hang"이 되며, 이는 현재 이 소프트웨어 조합에서 지원되지 않습니다. /etc/sysconfig/libvirt-guests
설정을 변경하면 ON_SHUTDOWN=shutdown
가상 머신에 대한 올바른 종료 스크립트가 제공됩니다.