Xen

Xen / libvirt - 嘗試啟動域時出現“讀取數據時文件結束:輸入/輸出錯誤”

  • July 5, 2016

當我嘗試使用 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

dmesg

[  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,

在我看來,我們面臨著同樣的問題。

請查看 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. 以 root 身份確保虛擬機管理器中沒有列出任何內容,並使用xl list或確認沒有正在執行的虛擬機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> Virtualization>Install Hypervisor和工具中只勾選 xen 工具,然後確定。

如果此時您會碰巧重新啟動。它會破壞系統,並且您在嘗試安裝虛擬機時會收到 EOF 錯誤。 7. 轉到Launcher> Applications> System> Virtualization> Virtual Machine Manager。除了本地主機 (xen) 之外,不應列出任何內容。 8. 現在,您有兩種選擇來安裝虛擬機,方法是點擊我認為使用的“創建新虛擬機”按鈕virt-install,或者點擊按鈕旁邊的箭頭,然後點擊vm-install。(我一直在使用後者)

引用自:https://serverfault.com/questions/660347