我正在将虚拟机从运行 qemu-kvm 版本 0.12.1 (qemu-kvm-0.12.1.2-2.503.el6_9.6) 的 centos6 服务器迁移到运行 qemu-kvm 版本 6.2.0 (qemu-kvm-6.2.0-20.module_el8.7.0+3346+68867adb.2) 的 AlmaLinux8 服务器,但在使网络接口正常工作时遇到了问题。虚拟机使用的是 pcnet nic 模型,但该模型在较新的 qemu-kvm 版本中不可用:
/usr/libexec/qemu-kvm -net nic,model=? 支持的网卡型号:e1000 e1000e rtl8139 virtio-net-pci virtio-net-pci-non-transitional virtio-net-pci-transitional
此虚拟机运行的是 SCO UNIX Openserver 5.0.5,因此支持的网卡非常旧,而且我认为我无法使用可用的网卡型号。是否有某种方法可以添加其他版本中可用的 pcnet 网卡型号?
答案1
我不确定您是否能够从 KVM 的先前版本添加旧网卡型号。即使可以,这听起来也像是在拖延问题,让下一个人来弄清楚何时再次进行迁移。
由于您有 VM 的备份,我会尝试使用该版本 KVM 中可用的一些 NIC 型号。
SCO Unix Openserver 基于 FreeBSD 10,我还会仔细阅读手册页以获取有关可用内容的更多信息。 https://www.freebsd.org/cgi/man.cgi?query=ethernet&apropos=1&sektion=0&manpath=FreeBSD+10.0-RELEASE+and+Ports&arch=default&format=html
您可以将这些驱动程序编译到内核中或者更新 loader.conf 以在启动时加载驱动程序。
Rtl8139 -
Virtio-
答案2
我在这里下载了 qemu 源:wgethttps://download.qemu.org/qemu-6.2.0.tar.xz
我构建了具有 pcnet 支持的 qemu 源。然后我将 qemu-system-x86_64 链接到 qemu-kvm,并且能够使 pcnet nic 正常工作。我不知道为什么 AlmaLinux8/RHEL8 版本的 qemu-kvm 不包含 pcnet nic。它包含在 CentOS7/RHEL7 中,并包含在 Ubuntu 22.04 中。