当我连接 kvm VM 时,virsh 控制台挂起

当我连接 kvm VM 时,virsh 控制台挂起

KVM 主机环境:-

# cat /etc/issue
Welcome to openSUSE 13.2 "Harlequin" - Kernel \r (\l).

# /usr/bin/qemu-system-x86_64 --version
QEMU emulator version 2.1.3

正在运行的虚拟机列表如下,

# virsh list --all
 Id    Name                           State
----------------------------------------------------
 4     vm10                         running
 5     vm-test                      running
 6     vm11                         running
 16    vm12                         running
 18    vm1                          running

当我尝试vm1使用以下命令连接控制台会话时,按下回车键后没有反应。

# virsh console vm1
Connected to domain vm1
Escape character is ^]
# cat /var/log/libvirt/qemu/vm1.log

2022-07-10 06:11:09.972+0000: starting up
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/qemu-kvm -name vm1 -S -machine pc-i440fx-2.1,accel=kvm,usb=off -cpu host -m 32768 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 25da0d89-4249-41ae-baab-5282d1531ef7 -nographic -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/vm1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/srv/vm1.img,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=native -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive file=/srv/vm1-data.img,if=none,id=drive-virtio-disk4,format=raw,cache=none,aio=native -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0xb,drive=drive-virtio-disk4,id=virtio-disk4 -drive if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=22,id=hostnet0,vhost=on,vhostfd=23 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:2d:83:a1,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -msg timestamp=on
Domain id=2 is tainted: host-cpu
char device redirected to /dev/pts/1 (label charserial0)

因此,它看起来vm1运行良好。日志中也没有错误。但它不接受期望Ctrl + 5键。

能够从 KVM 主机和其他机器 ping 通的 IP vm1,也能从 KVM 主机和其他机器进行 ssh 连接,但会出现以下错误。

# ssh root@vm1
ssh: connect to host vm1 port 22: Connection refused

请告诉我virsh console vm1连接可能存在什么问题?

答案1

virsh console打开与客户机主串行端口的连接。如果客户机操作系统中有某些东西连接到串行端口的另一端(即 getty 进程),这将仅显示任何输出/接受输入。换句话说,它没有挂起,只是客户机中没有任何东西使用串行端口来响应。

如果没有可用的图形控制台(即没有 VGA 设备),使用 systemd 的操作系统通常会自动生成 getty 进程。如果您确实配置了图形控制台,请尝试连接到该控制台。您没有说明如何配置它,但通常您会使用 VNC/SPICE 客户端连接到图形控制台,例如virt-viewer vm1

答案2

我是一名 Debian 用户(对你来说可能有所不同)

  1. 在我编辑 /etc/ssh/sshd_config (permitRootLogin yes) 之前,ssh root@vm1 是不可能的...尝试您的非 root 用户?
  2. virsh 控制台 vm 挂起:systemctl enable (|start) [电子邮件保护]...幸运的是(对我来说)“virt-manager”控制台(VNC 或 spice)是可以的(并且由于未配置网络/没有 ssh 而必须使用);-) Phil

相关内容