当我尝试使用 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
解决方法:
xl list
以 root 身份确保虚拟机管理器中没有列出任何内容,并使用或确认没有正在运行的虚拟机virsh list
。转到Yast> Software> Software Management,搜索
libvirt
。删除libvirt
、libvirt-daemon
、libvirt-glib-1_0-0
、libvirt-python
和perl-Sys-Virt
,当提示冲突时,使用第一个选项卸载冲突。- 备份或删除
/usr/share/virt-manager
及其内容。(重新安装时将重新创建该文件夹。) - 使用 xen 虚拟机管理程序重新启动,并以 root 身份登录。(一般来说,我不会使用桌面内核执行此操作)
- 按照步骤 2 进行操作,这次安装列出的软件包。
在Yast>>工具中仅勾选 xen 工具,然后确定Virtualization。Install Hypervisor
如果此时您碰巧重新启动。这将破坏系统,并且您在尝试安装虚拟机时会收到 EOF 错误。
转到Launcher> Applications> System> Virtualization> Virtual Machine Manager。除了本地主机 (xen) 之外,应该没有列出任何内容。
- 现在,您有两个选择来安装虚拟机,要么单击“创建新虚拟机”按钮(我认为使用)
virt-install
,要么单击按钮旁边的箭头,然后单击vm-install
。 (我一直在使用后者)
答案2
以 root 身份运行 vm-install --use-xl
13.2 中的错误。阅读https://bugzilla.opensuse.org/show_bug.cgi?id=909547