考完期末考这天修了一晚上 PVE 上的虚拟机启动不了的问题。起因是更换了系统盘,将原来的机械硬盘换成了一个 SSD,重装了 PVE,发现虚拟机无法开机。这期间查询了大量论坛,尝试了各种各样的方法,最后终于以非常简单的方式解决,决定写一写记录一下,避免以后再遇到,因为这个问题单纯看 PVE 的报错竟然是完全和问题原因不沾边的!
更换系统盘前,将虚拟机 vm1
迁移到了另一个节点上,更换系统盘重装系统后,将 vm1
迁移回了这台物理机上,启动虚拟机,得到了如下报错:
TASK ERROR: KVM virtualisation configured, but not available. Either disable in VM configuration or enable in BIOS. |
按照报错的指引,进入 BIOS 查看了设置,设置是正确的,有启用虚拟化支持。
然后在网络上查询了大量资料、论坛讨论记录,均无法解决。这个过程尝试了包括:
apt upgrade
升级开新虚拟机
重装系统(PVE)
在虚拟机
Option
中取消KVM hardware Virtualization
的启用,这样就没有使用 KVM 技术,虚拟机性能是会更差的。但是启动vm1
发现虚拟机一直重启,对新虚拟机是有如下报错:shell Error: Unknown device type.
can't create interface fwln306i0 - command '/sbin/ip link add name fwln306i0 mtu 1500 type veth peer name fwpr306p0 mtu 1500' failed: exit code 2
kvm: -netdev type=tap,id=net0,ifname=tap306i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown: network script /var/lib/qemu-server/pve-bridge failed with status 512
TASK ERROR: start failed: QEMU exited with code 1
上述方法都没有解决问题。
真正发现问题原因是我在查看 BIOS 和重装系统后,发现每次开机启动 PVE 都有这样的报错:
经过询问大佬,才知道,我们更换系统盘后,由于仍想利用旧的机械硬盘,机械盘仍然插在物理机上。拔掉旧的盘之后问题就解决了。
PVE 采用 LVM,产生了逻辑卷冲突,导致了上图的报错,至于为什么会有什么关于虚拟化的报错,我们就不太清楚了,但是因为这个奇怪的报错我们浪费了两三个小时......