本帖最后由 xiaoyu 于 2017-12-11 23:00 编辑
在XenServer的较早前版本(6.0以前)中,启动XenServer时,可以选择自动启动在其中安装的虚拟机。这个功能在XenServer 6.0中被Citrix取消了,原因是会干扰到XenServer的HA(高可用性)和Failover(故障转移)功能的兼容性。但是,如果只运行一个XenServer,这个功能还是非常好的。下面介绍三种方法实现虚拟机的自启动效果。 一、利用虚拟机UUID自启动 在XenServer 6.0中,自动启动虚拟机仍然是可以办到的。这需要在“Pool Level”上开启自启动功能,并且,在需要自启动的虚拟机上使用命令行进行设置。(适用于有Pool的环境,针对每台虚拟机设定自启动) 1 获取 Pool 的 UUID root@server# xe pool-list uuid ( RO) : POOL-UUIDname-label ( RW) : TestPoolname-description ( RW):master ( RO) : 74fc086b-8c89-4918-b69e-369fcb19847ddefault-SR ( RW) : bebb142a-d986-acac-d4f4-636de937d28b
2 设置 Pool 的自启动 root@server# xe pool-param-set uuid=POOL-UUID other-config:auto_poweron=true
3 获取需要设置为自启动的虚拟机的 UUID(以名称为“W2K08”的虚拟机为例) root@server# xe vm-list name-label="W2K08" uuid ( RO) : VM-UUIDname-label ( RW) : W2K08power-state ( RO) : running
如果要得到简介的结果(即只希望输出UUD),可以使用如下命令: root@server# xe vm-list name-label="W2K08" params=uuid --minimal
4 设置虚拟机的自启动 root@server# xe vm-param-set uuid=VM-UUID other-config:auto_poweron=true
二、利用虚拟机标记(Tag)自启动
有几个思路:1.开机任务。
2利用vApp或者HA特性。
有最简单方便的一个实现方法:
Step1: 给需要开机自启动的vm做标记(Tag)
Step2: 在xenserver系统修改开机任务脚本
Step3: XenCenter里面选中vm---Properties---General--Tags--Edit Tags,比如输入autostart作为Tag的值,给所有需要自动启动的虚拟机都做同样的打标机操作
Step4:用SSH工具连到XenServer,用vi编辑文件/etc/rc.d/rc.local
在文件末尾添加两行内容:
sleep 60
xe vm-start tags=autostart --multiple
*注意multiple前面是两个中杠,tags=autostart和Step3保持一样
保存并退出
修改rc.local的内容。
二、利用创建VApp自启动
You can also try to start your vms using vApp:
1. Create vApp.
2. Choose vms to vApp.
3. Choose boot order and delays between starts.
4. Use xe appliance-list name-label="name-vapp" to get uuid of vApp.
5. Use vi /etc/rc.local to open rc.local file.
6. At the end of the file past:
sleep 40
xe appliance-start uuid=uuid-vapp
7. Save file, reboot XenServer.
参考网址:
https://discussions.citrix.com/t ... n-within-xencenter/
https://support.citrix.com/article/CTX133910
https://discussions.citrix.com/t ... tart-vm-boot-order/
https://discussions.citrix.com/t ... n-within-xencenter/
http://www.dwhd.org/20160919_175003.html
|