Am SUSE 11 SP4 VM, inițial funcționa pe Xen în modul PV. Acum îl mut pe KVM. Abordarea mea obișnuită este să pornesc prin net orice Linux în VM-ul țintă, să montez rădăcina sistemului de operare țintă, să repornesc și să reconstruiesc initramfs, apoi să repornesc VM-ul în sistemul de operare țintă.
SLES 11 SP4 pare să-i lipsească ceva pentru că după aceea initramfs nu poate găsi niciun dispozitiv vbd pentru a monta root. Cu toate acestea, am reușit să-l rulez prin comanda directă qemu pe gazda KVM:
qemu-kvm -m 32768 -smp 8 -device virtio-net-pci,mac=42:5f:96:48:39:fa,netdev=vmnic -netdev tap,id=vmnic,script=/etc/ovs-ifup ,downscript=/etc/ovs-ifdown -nographic -serial mon:stdio -drive file=/dev/lvm/vm,if=none,id=drive0,format=raw -device virtio-blk-pci,drive=drive0, scsi=off
si merge bine.
Configurația KVM (legată de disc) arată astfel:
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none" io="native"/>
<source dev="/dev/lvm/vm"/>
<target dev="vda" bus="virtio"/>
<address type="pci" domain="0x0000" bus="0x03" slot="0x00" function="0x0"/>
</disk>
<controller type="pci" index="3" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="3" port="0xa"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x2"/>
</controller>
iar virt-managerul meu nu îmi permite să fac schimbări semnificative aici.
S-ar putea să greșesc aici, dar cred că principala diferență este structura dispozitivelor PCI, astfel încât initramfs funcționează într-un fel, dar nu în celălalt. Am comparat dispozitive PCI:
Arborele de dispozitiv găsit pe VM care a fost rulat direct prin comanda qemu:
00:00.0 Punte gazdă: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 Interfață IDE: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 Controler compatibil VGA: Dispozitiv 1234:1111 (rev 02)
00:03.0 Controler Ethernet: dispozitiv de rețea Red Hat, Inc Virtio
00:04.0 Controler de stocare SCSI: dispozitiv de blocare Red Hat, Inc Virtio
Arborele de dispozitive găsit pe orice alt VM KVM (aceeași gazdă):
00:00.0 Punte gazdă: Controler DRAM Intel Corporation 82G33/G31/P35/P31 Express
00:01.0 Punte PCI: Red Hat, Inc. Port rădăcină QEMU PCIe
00:01.1 Punte PCI: Red Hat, Inc. Port rădăcină QEMU PCIe
00:01.2 Punte PCI: Red Hat, Inc. Port rădăcină QEMU PCIe
00:01.3 Punte PCI: Red Hat, Inc. Port rădăcină QEMU PCIe
00:01.4 Punte PCI: Red Hat, Inc. Port rădăcină QEMU PCIe
00:01.5 Punte PCI: Red Hat, Inc. Port rădăcină QEMU PCIe
00:01.6 Punte PCI: Red Hat, Inc. Port rădăcină QEMU PCIe
00:01.7 Punte PCI: Red Hat, Inc. Port rădăcină QEMU PCIe
00:1f.0 Puntea ISA: Controler de interfață LPC Intel Corporation 82801IB (ICH9) (rev. 02)
00:1f.2 Controler SATA: Controler SATA cu 6 porturi Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) [mod AHCI] (rev 02)
00:1f.3 SMBus: Controler SMBus Intel Corporation 82801I (familia ICH9) (rev. 02)
01:00.0 Controler Ethernet: Dispozitiv de rețea Virtio Red Hat, Inc. (rev 01)
02:00.0 Controler USB: Red Hat, Inc. Controler gazdă QEMU XHCI (rev 01)
03:00.0 Controler de stocare SCSI: Red Hat, Inc. Dispozitiv de blocare Virtio (rev 01)
04:00.0 Dispozitiv neclasificat [00ff]: Red Hat, Inc. Balon de memorie Virtio (rev 01)
05:00.0 Dispozitiv neclasificat [00ff]: Red Hat, Inc. Virtio RNG (rev 01)
08:00.0 Controler de stocare SCSI: Red Hat, Inc. Dispozitiv de blocare Virtio (rev 01)
Aici văd diferența: qemu permite atașarea stocării la podul gazdă PCI root, dar în KVM este întotdeauna atașat la portul QEMU PCIe Root.
Întrebările mele sunt:
- Este posibil ca SLES 11 să fie prea vechi pentru a suporta portul QEMU PCIe Root?
- Este posibil să ușurați configurarea VM pentru a atașa stocarea direct la puntea gazdă?
- Reconstruiesc initramfs în mediul țintă, fără a adăuga nimic la fișierele de configurare. Îmi lipsește ceva (cârlige sau drivere) când reconstruiesc initramfs?