【问题标题】:libvirt: virt-install hangs on installationlibvirt:virt-install 在安装时挂起
【发布时间】:2020-11-11 19:01:14
【问题描述】:

阅读wiki libvirt后,我开始virt-install从Debian10 netinstall ISO镜像安装VM:

% sudo virt-install --debug --connect qemu:///system --virt-type kvm --name vm-debian --memory 1024 --disk path=/var/lib/libvirt/images/vm-debian.img,size=10 --graphics none --cdrom /var/lib/libvirt/images/debian-10.6.0-amd64-netinst.iso --location /var/lib/libvirt/images/debian-10.6.0-amd64-netinst.iso --network network=default,mac=00:22:bb:cc:dd:ee --os-variant debian10

我可以在调试输出中看到virt-install 分析 ISO 映像,提取 initrd.gz 和 vmlinuz 以及挂起之前的最后一条消息:

[Wed, 11 Nov 2020 13:49:51 virt-install 729328] DEBUG (cli:370) Running: virsh --connect qemu:///system console vm-debian
Connected to domain vm-debian
Escape character is ^]

如果我按下 'Ctrl-]' virt-install 退出并且qemu-kvm 进程仍在内存中。

这里到底发生了什么?难道我做错了什么?或许这种在 libvirt 环境下的安装方式已经过时了,还有更简单直接的方法吗?

谢谢。

更新

按照 DanielB 的建议,我在客户机端启用了设置端口,并在串行控制台上启用了 virt-install 输出:

% virt-install --name debian10 --virt-type kvm --memory 1024 \
               --disk path=/var/lib/libvirt/images/vm-debian10.img,size=10 \
               --graphics none \
               --console pty,target_type=serial \
               --cdrom /var/lib/libvirt/images/debian-10.6.0-amd64-netinst.iso \
               --location /var/lib/libvirt/images/debian-10.6.0-amd64-netinst.iso \
               --network bridge=virbr0 \
               --os-type linux --os-variant debian10 \
               --extra-args console=ttyS0,115200n8 serial

【问题讨论】:

    标签: virtualization qemu kvm libvirt


    【解决方案1】:

    这不是挂起 - 发生的事情是因为您使用了-graphics none,因此没有创建图形控制台,因此它假定您正在尝试进行串行控制台安装。 virt-install 正在显示串行端口输出,并让您输入输入,但您的客户操作系统似乎没有激活客户端的串行端口,因此您看不到任何输出,并且您输入的任何内容都会被客户忽略。

    IOW,这里对根本原因问题的修复是需要告知来宾操作系统安装程序以某种方式在串行端口上运行。另一种解决方法是启用图形作为您的后续提到的

    【讨论】:

    • 感谢您的建议。我想我已经解决了,我更新了我的问题。
    • 在此处查看[ubuntu-16.04] 的注释:builder.libguestfs.org/index。将这些控制台参数添加到 linux 引导参数似乎适用于我的 Ubuntu 18.04 映像。现在修复网络...
    【解决方案2】:

    我设法仅在启用图形的情况下继续安装,即将--graphics vnc,listen=0.0.0.0 传递给 virt-install。这将启动virt-viewer(应该安装)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 2014-05-26
      • 1970-01-01
      • 2015-12-17
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      相关资源
      最近更新 更多