简短答案

简短答案

我有一台运行 xen(仅使用 xen-tools)的 Ubuntu 服务器,当服务器遇到电源故障时,我必须手动运行xl create /etc/xen/MY_DOMU_GUEST.cfg以重新启动虚拟机。

我的重新启动配置设置如下:

/etc/xen/MY_DOMU_GUEST.cfg

on_poweroff = 'restart'
on_reboot   = 'restart'
on_crash    = 'restart'

但它无法在 dom0 启动时启动。我是不是漏掉了什么?

答案1

我在这里找到了答案:https://askubuntu.com/questions/196444/how-do-i-auto-start-xen-guests-on-boot/906499#906499

简短答案

要在启动时加载所有配置文件,请将auto文件夹直接链接到/etc/xen

ln -s /etc/xen/ /etc/xen/auto

要仅加载特定的配置文件,请单独链接每个文件:

mkdir -p /etc/xen/auto
ln -s /etc/xen/MY_DOMU_GUEST_1.cfg /etc/xen/auto/
ln -s /etc/xen/MY_DOMU_GUEST_2.cfg /etc/xen/auto/

解释

有一个鲜为人知的xen配置文件/etc/default/xendomains

您可以在注释文档中找到三个默认设置:

XENDOMAINS_SAVE=/var/lib/xen/save
XENDOMAINS_RESTORE=true
XENDOMAINS_AUTO=/etc/xen/auto

总结一下文档:

  • XENDOMAINS_SAVE导致虚拟机被保存在适当的位置reboot

  • XENDOMAINS_RESTORE导致虚拟机在保存时从保存状态恢复(无论是手动保存xl save还是由于主机重启而保存)。

  • XENDOMAINS_AUTOXENDOMAINS_SAVE指定当不存在保存状态(即已禁用或发生电源故障或明确shutdown而不是reboot)时从中加载虚拟机配置的文件夹

如果您auto在其下创建文件夹/etc/xen并为其提供指向您想要在物理机(Dom0 主机)上启动的虚拟机(DomU 客户机)的配置文件的符号链接,那么一般来说,它们将从物理(主机)服务器重启时保存的状态恢复,但是当该状态不可用时(例如在关机或断电或崩溃后),它们仍然会加载。

如果您希望虚拟机在重启时始终关闭而不是保存状态,您可以设置XENDOMAINS_SAVE=XENDOMAINS_RESTORE=false

旧方法

过去,现在有on_shutdown,,on_reboot并且on_crash您还可以配置on_xend_start = 'start'on_xend_stop = 'shutdown'...但这些不是当前的做法。

当前(适用于虚拟机状态本身):

on_shutdown = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'

忽略/弃用(适用于主机状态):

on_xend_start = 'start'
on_xend_stop = 'shutdown'

答案2

我知道这是旧帖子,但有一种更简单的方法。

创建脚本MyScripNameHere.sh,在此脚本中添加如下语法,并添加适当的权限以root身份执行。

/bin/bash #!/bin/bash

导出 PATH=/opt/xensource/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr

睡眠 60

xe vm-start vm="VMNAMEHERE1"

睡 5

xe vm-start vm="VMNAMEHERE2"

然后在 rc.local 中添加脚本路径,但在执行之前添加 sleep 60 这将自动启动脚本列表中的所有 VM。如果您不想处理 UUID 或池,则可以使用此选项。

相关内容