XEN 从 18.04 升级到 20.04 后无法启动域

XEN 从 18.04 升级到 20.04 后无法启动域

Dom0 错误

xl list 
Name                                        ID   Mem VCPUs      State   Time(s)
(null)                                       0 31898     8     r-----      27.7

域名启动以错误结束


xl create xen/xxx.cfg
Parsing config from xen/xxx.cfg
libxl: error: libxl_domain.c:1214:libxl__get_domid: failed to get own domid (domid)
libxl: error: libxl_device.c:1167:device_hotplug: Domain 4:Failed to get domid
libxl: error: libxl_domain.c:1214:libxl__get_domid: failed to get own domid (domid)
libxl: error: libxl_device.c:1167:device_hotplug: Domain 4:Failed to get domid
libxl: error: libxl_create.c:1299:domcreate_launch_dm: Domain 4:unable to add disk devices
libxl: error: libxl_domain.c:1214:libxl__get_domid: failed to get own domid (domid)
libxl: error: libxl_device.c:968:libxl__initiate_device_generic_remove: Domain 4:unable to get my domid
libxl: error: libxl_domain.c:1214:libxl__get_domid: failed to get own domid (domid)
libxl: error: libxl_domain.c:1214:libxl__get_domid: failed to get own domid (domid)
libxl: error: libxl_device.c:968:libxl__initiate_device_generic_remove: Domain 4:unable to get my domid
libxl: error: libxl_domain.c:1214:libxl__get_domid: failed to get own domid (domid)
libxl: error: libxl_domain.c:1107:devices_destroy_cb: Domain 4:libxl__devices_destroy failed
libxl: error: libxl_domain.c:1034:libxl__destroy_domid: Domain 4:Non-existant domain
libxl: error: libxl_domain.c:993:domain_destroy_callback: Domain 4:Unable to destroy guest
libxl: error: libxl_domain.c:920:domain_destroy_cb: Domain 4:Destruction of domain failed

答案1

这对我来说还不够,我的 XEN 服务无法正确启动,并且与 QEMU 发生冲突。我无法在 Ubuntu 20.04 或 20.04.1 上工作。我不得不升级到Ubuntu 20.10

  1. 备份以下所有 XEN 配置/etc/xen/

  2. 卸载 XEN 和 QEMU:

apt purge xen-system-amd64 xen-hypervisor-common xen-hypervisor-4.9-amd64 xen-hypervisor-4.11-amd64 xenstore-utils xen-utils-common xen-tools xe-guest-utilities  libxen-dev qemu-system qemu-system-common qemu-block-extra qemu-efi-aarch64 qemu-efi-arm qemu-slof qemu-system qemu-system-arm qemu-system-common qemu-system-data qemu-system-gui qemu-system-mips qemu-system-misc qemu-system-ppc qemu-system-s390x qemu-system-sparc qemu-system-x86 qemu-user qemu-user-binfmt qemu-utils
apt autoremove
  1. 升级到 Ubuntu 20.10

编辑/etc/update-manager/release-upgrades并设置Prompt=normal以便升级到最新版本(非 LTS)。

do-release-upgrade
  1. 在 Ubuntu 20.10 上仅安装 XEN 虚拟机管理程序
apt install xen-hypervisor
  1. 恢复 XEN 配置

  2. 重启

答案2

通过保存客户机配置(/etc/xen/*cfg)并卸载所有 xen 组件解决了该问题

apt search xen
apt purge <all components installed or partial config conponents>

然后重新安装

apt install xen-hypervisor

然后恢复 cfg 文件。

答案3

对我来说,卸载并重新安装 xen-hypervisor 包就足以解决问题。另请注意,某些 .cfg 文件可能包含 pygrub v4.9 的路径,该版本现在在 Ubuntu 20.04 中为 v4.11 版本。

答案4

就我的情况而言,在 Ubuntu 20.04 上,运行:

grep xen /var/log/syslog

您收到错误消息“设备上没有剩余空间”。

当您检查 /var/lib/xen 所在的分区时,在我的计算机上显示它已满 100%。清理磁盘空间后(在我的例子中,有数 TB 的旧 docker 镜像),运行

systemctl restart xen.service

解决了这个问题。

相关内容