XenServer 6.2中的虚拟机默认是不会自动启动的(据说是为了防止在HA环境中出现某些异常),所以如果母鸡(宿主机)异常断电恢复启动后,所有的虚拟机均为关机状态。
但如果只是单台XenServer跑若干独立虚拟机,还是有必要让虚拟机开机自动启动的。
下面的方法可实现虚拟机开机自动启动:
一、用Citrix XenCenter登录并切换到Console —— Local Command Shell,或SSH工具(如putty、SecureCRT)登录到XenServer;
二、查看所有的pool并设置pool自动启动:
1、xe pool-list 查看所有的pool:
[root@xenserver ~]# xe pool-list uuid ( RO) : c7d7a7e4-77ad-e6a6-c935-4cba102881a8 name-label ( RW): name-description ( RW): master ( RO): b35d1618-ad4e-4830-89da-d93788e9f082 default-SR ( RW): 85280950-f08d-9e4d-5e51-f0ec4e221a7a
2、设置pool的自动启动:
[root@xenserver ~]# xe pool-param-set uuid=c7d7a7e4-77ad-e6a6-c935-4cba102881a8 other-config:auto_poweron=true
注意要把上面的c7d7a7e4-77ad-e6a6-c935-4cba102881a8换成你的pool的uuid。
三、列出所有的虚拟机并设置自动启动:
1、xe vm-list 列出所有的虚拟机:
[root@xenserver ~]# xe vm-list uuid ( RO) : adad6140-1cc8-30e9-dc4d-05fb426eaf4e name-label ( RW): MYSQL-MASTER power-state ( RO): running uuid ( RO) : 8e342f09-3a87-604e-11f4-96b37b8bcc40 name-label ( RW): Windows Server 2003 (64-bit) power-state ( RO): running uuid ( RO) : d7432a76-0486-492c-84f6-eab02c52af54 name-label ( RW): Control domain on host: xenserver power-state ( RO): running
2、设置所有虚拟机开机自动启动:
[root@xenserver ~]# for i in `xe vm-list params=uuid --minimal|sed 's/,/ /g'`;do xe vm-param-set uuid=$i other-config:auto_poweron=true;done
3、如果只需要设置单台虚拟机自动启动,则根据虚拟机的UUID来指定auto_poweron=true,例如我要指定上面MYSQL-MASTER这台虚拟机自动启动,则操作如下:
[root@xenserver ~]# xe vm-param-set uuid=adad6140-1cc8-30e9-dc4d-05fb426eaf4e other-config:auto_poweron=true
注意adad6140-1cc8-30e9-dc4d-05fb426eaf4e是上面MYSQL-MASTER这台虚拟机的uuid,你需要换成你想要设置开机自动启动的虚拟机的uuid。