对于虚拟机自启动而言,VMwareCitrix的设置还是不同的,使用过VMware虚拟化技术的朋友应该比较清楚,VMware虚拟机是可以在可视化操作界面进行虚拟机自启动设置的,而如果想要Citrix虚拟机随XenServer主机开机自启动并非那么简单,因为Citrix给予XenCenter的可视化设置操作功能很少,并且没有直接动动鼠标就可以完成自启动的功能,但这并不代表Citrix虚拟机不能实现自启动功能,如果想实现该功能,就需要在命令行完成以下步骤,即可实现虚拟机自启动。

  1. 首先我们需要获得需要自启动虚拟机所在poolUUID,命令如下:

  [root@xenserver1 /]# xe pool-list

  1. 通过上一步的操作,可以获得对应的UUID,然后设置虚拟机所在的pool支持auto_poweron,这里的UUIDpoolUUID,输入时按tab即可出来,并非虚拟机的UUID,操作命令如下:

  [root@xenserver1 /]# xe pool-param-setuuid=0e5056e9-f95f-e78b-23f3-23da41e27d31

 other-config:auto_poweron=true

  1. 然后我们需要获得需要自启动虚拟机的UUID,命令如下:

  [root@xenserver1 /]# xe vm-list

  1. 设置虚拟机auto_poweron,这里的UUID才是虚拟机的UUID,操作命令如下:

[root@xenserver1 /]# xe vm-param-set uuid=1d6fc3c5-7078-ff8e-763b-d5468e79c8d8 
other-config:auto_poweron=true
  1. 一般经过如上面4个步骤设置后,Windows虚拟机还是无法自启动(linux虚拟机肯定没问题的),就需再编辑启动配置文件/etc/rc.local,在末尾加上如下代码

sleep 20
xe vm-start uuid=214c1cf2-8b79-1511-9d29-297722a01f71

 

注意:sleep 20是指xenserver启动20秒后再自动开启这个虚拟机
这里的UUID替换成需要自启动Windows虚拟机的UUID

 

  1. 如果需要自启动的虚拟机比较多,并且不想让虚拟机同时自启动,可以仿照如下操作进行设置,在启动配置文件/etc/rc.local末端加入如下命令:

xenserver02虚拟机随主机开机自启动

sleep 30

xevm-start uuid=305fa715-9a8c-e238-9b7a-31223f1f5450

xevm-start uuid=e3a0d5f5-449a-e387-403f-53defd4d608e

xevm-start uuid=9b9d3d0d-2905-5410-2130-710878f29d7f

xevm-start uuid=59ef29a8-214b-dafc-ea83-0c9a3cb06d4b

xevm-start uuid=5c611dcb-1d59-353f-2920-34dcc2909163

 

sleep 60

xevm-start uuid=09bf505d-7e0d-b70b-49b0-b2da658773f3

xevm-start uuid=6ba9f6ad-9da3-0da1-b6fa-9d12e58d7422

xevm-start uuid=03573c76-82f9-2413-0fdb-6b6cacaee769

xevm-start uuid=0940aea3-5b22-c55d-6982-e41febbd6fd7

xevm-start uuid=bb4a731b-b6b3-1a06-a263-409687f510b7

sleep 90

xevm-start uuid=1dc10f52-2906-113b-71c7-9cccc895fc87

xevm-start uuid=09d0084e-d0fe-b0b6-89fd-cc7e9a3943ed

xevm-start uuid=1528ca4e-dfb4-de5a-bfce-b9edd0597adb

xevm-start uuid=adf768c4-2609-3200-a9b9-79a58b42215e

xevm-start uuid=4477552e-ce10-0192-3e1d-bb2867be6d1c

  1. 设置所有虚拟机开机自动启动:

[root@xenserver1/]# for i in `xe vm-listparams=uuid --minimal|sed 's/,/ /g'`;do xe vm-param-set uuid=$i other-config:auto_poweron=true;done