virt-install 挂起,日志中没有明显错误,virsh list 稍后在 ctrl c 退出后显示其正在运行,但没有 domifaddr

virt-install 挂起,日志中没有明显错误,virsh list 稍后在 ctrl c 退出后显示其正在运行,但没有 domifaddr

被卷入了之前使用 virt 管理机器的情况,因此我试图加快速度。作为测试,执行以下 virt-install:

virt-install --virt-type=kvm --name kosmos-icc --ram 1000 --os-variant=centos7.0 --cdrom=/var/lib/libvirt/boot/CentOS-7-x86_64-Minimal-1810.iso --network=bridge=virbr0,model=virtio --graphics vnc --disk path=/var/lib/libvirt/images/centos7.qcow2,size=8,bus=virtio,format=qcow2 --boot userserial=on

它运行如下:

WARNING  Graphics requested but DISPLAY is not set. Not running virt-viewer.
WARNING  No console to launch for the guest, defaulting to --wait -1

Starting install...
Allocating 'centos7.qcow2'                                                                                                                                                | 8.0 GB  00:00:00     
Domain installation still in progress. Waiting for installation to complete.

然后挂起,我可以按 ctrl-c 并得到我的提示,执行 virsh 列表显示它正在运行,但执行 virsh domifaddr kosmos-icc 什么也没有显示(另一个是通用的并且使用 gui 安装)显示来自机器的 ip 地址(我可以 ssh 进入)。

所以不确定为什么它没有完成,或者它是否完成了却对此保持沉默,或者我是否错过了一个开关。我假设 virbr0 是与网络一起使用的方式。因此仍在学习 virsh/virt,看看我是否可以通过命令行安装虚拟机,然后在非测试机器上复制该过程。

/root/.cache/virt-manager 中的安装日志没有显示任何实际错误……实际上显示:

[Wed, 19 Jun 2019 11:28:38 virt-install 351] DEBUG (guest:441) XML fetched from libvirt object:

... the xml ...


[Wed, 19 Jun 2019 11:28:38 virt-install 351] DEBUG (virt-install:744) Domain state after install: 1

安装后的状态是日志看到我的 ctrl-c 键盘中断之前的最后一行。

答案1

WARNING  Graphics requested but DISPLAY is not set. Not running virt-viewer.
WARNING  No console to launch for the guest, defaulting to --wait -1

收到此警告是因为该virt-install命令试图使用您的显示器将您连接到虚拟机的控制台。但是,由于您没有设置 DISPLAY,因此它无法在您的环境中执行此操作。

推测可能是您通过某种没有 X11 转发的 SSH 组合和/或使用 sudo 与显示器的连接丢失了。

如果您能够通过其他方式连接到控制台,则可以将其包含--noautoconsolevirt-install命令选项中,它就不会进行此尝试或显示警告。

您可以通过 连接到虚拟机的控制台virt-manager。使用它来设置到虚拟机主机的 SSH 连接,所有显示隧道都通过 SSH 为您完成。

一旦进入虚拟机控制台,您可能会发现安装没有问题。也许您只需要等待更长时间即可virsh domifaddr kosmos-icc。目前还不清楚此安装是否会自动进行。它也可能正在等待您的干预。

无论哪种方式,一旦您在虚拟机上拥有一个控制台,它的状态就会开始回答问题。

相关内容