Xen / libvirt — 尝试启动域时出现“读取数据时文件结束:输入/输出错误”

Xen / libvirt — 尝试启动域时出现“读取数据时文件结束:输入/输出错误”

当我尝试使用 virsh 启动域时收到以下错误字符串:

virsh # start vimes
error: Failed to start domain vimes
error: End of file while reading data: Input/output error
error: Failed to reconnect to the hypervisor

当这种情况发生时,跟踪日志文件,我得到以下输出:

/var/log/libvirt/libxl/vimes.log

libxl: debug: libxl_create.c:1362:do_domain_create: ao 0x7f4e1c0017e0: create: how=(nil) callback=(nil) poller=0x7f4e1c0019c0

消息

[  852.559719] libvirtd[2187]: segfault at ffffffffffffffff ip 00007f4e45472614 sp 00007f4e3e6b60d8 error 7 in libc-2.19.so[7f4e453ed000+19e000]

/var/log/libvirt/libxl/libxl-driver.log

xc: debug: hypercall buffer: cache current size:4
xc: debug: hypercall buffer: cache hits:13 misses:4 toobig:1
xc: debug: hypercall buffer: total allocations:18 total releases:18
xc: debug: hypercall buffer: current allocations:0 maximum allocations:4
xc: debug: hypercall buffer: cache current size:4
xc: debug: hypercall buffer: cache hits:13 misses:4 toobig:1
xc: debug: hypercall buffer: total allocations:18 total releases:18
xc: debug: hypercall buffer: current allocations:0 maximum allocations:4
xc: debug: hypercall buffer: cache current size:4
xc: debug: hypercall buffer: cache hits:13 misses:4 toobig:1

我有点不知道该怎么做。从错误消息中无法判断到底出了什么问题。主机和客户机都运行 OpenSuse 13.2,

答案1

在我看来,我们面临着同样的问题。

请查看 Bugzilla – Bug 909547 https://bugzilla.opensuse.org/show_bug.cgi?id=909547

以及 openSUSE 论坛中描述的临时部分解决方法(直到主机重新启动!!) https://forums.opensuse.org/showthread.php/502307-openSUSE-13-1-gt-13-2-upgrade-issues-with-xen-libvirt-and-virt-manager

解决方法:

  1. xl list以 root 身份确保虚拟机管理器中没有列出任何内容,并使用或确认没有正在运行的虚拟机virsh list

  2. 转到Yast> Software> Software Management,搜索libvirt。删除libvirtlibvirt-daemonlibvirt-glib-1_0-0libvirt-pythonperl-Sys-Virt,当提示冲突时,使用第一个选项卸载冲突。

  3. 备份或删除/usr/share/virt-manager及其内容。(重新安装时将重新创建该文件夹。)
  4. 使用 xen 虚拟机管理程序重新启动,并以 root 身份登录。(一般来说,我不会使用桌面内核执行此操作)
  5. 按照步骤 2 进行操作,这次安装列出的软件包。
  6. Yast>>工具中仅勾选 xen 工具,然后确定VirtualizationInstall Hypervisor

    如果此时您碰巧重新启动。这将破坏系统,并且您在尝试安装虚拟机时会收到 EOF 错误。

  7. 转到Launcher> Applications> System> Virtualization> Virtual Machine Manager。除了本地主机 (xen) 之外,应该没有列出任何内容。

  8. 现在,您有两个选择来安装虚拟机,要么单击“创建新虚拟机”按钮(我认为使用)virt-install,要么单击按钮旁边的箭头,然后单击vm-install。 (我一直在使用后者)

答案2

以 root 身份运行 vm-install --use-xl

13.2 中的错误。阅读https://bugzilla.opensuse.org/show_bug.cgi?id=909547

相关内容