Máquina virtual fotovoltaica SLES 11 en KVM

Máquina virtual fotovoltaica SLES 11 en KVM

Tengo SUSE 11 SP4 VM, inicialmente funcionaba en Xen en modo PV. Ahora lo voy a pasar a KVM. Mi enfoque habitual es iniciar en red cualquier Linux en la máquina virtual de destino, montar la raíz del sistema operativo de destino, hacer chroot y reconstruir initramfs, luego reiniciar la máquina virtual en el sistema operativo de destino.

A SLES 11 SP4 parece que le falta algo porque después de eso initramfs no puede encontrar ningún dispositivo vbd para montar la raíz. Sin embargo, logré ejecutarlo mediante el comando qemu directo en el host 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

y funciona bien.

La configuración de KVM (relacionada con el disco) tiene este aspecto:

<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>

y mi virt-manager no me permite realizar cambios significativos aquí.

Puede que me equivoque aquí, pero creo que la principal diferencia es la estructura de los dispositivos PCI, por lo que los initramfs funcionan de una manera, pero no de la otra. He comparado dispositivos PCI:

Árbol de dispositivos encontrado en la VM que se ejecutó directamente mediante el comando qemu:

00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 VGA compatible controller: Device 1234:1111 (rev 02)
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
00:04.0 SCSI storage controller: Red Hat, Inc Virtio block device

Árbol de dispositivos encontrado en cualquier otra VM KVM (mismo host):

00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller
00:01.0 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
00:01.1 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
00:01.2 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
00:01.3 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
00:01.4 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
00:01.5 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
00:01.6 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
00:01.7 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
01:00.0 Ethernet controller: Red Hat, Inc. Virtio network device (rev 01)
02:00.0 USB controller: Red Hat, Inc. QEMU XHCI Host Controller (rev 01)
03:00.0 SCSI storage controller: Red Hat, Inc. Virtio block device (rev 01)
04:00.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon (rev 01)
05:00.0 Unclassified device [00ff]: Red Hat, Inc. Virtio RNG (rev 01)
08:00.0 SCSI storage controller: Red Hat, Inc. Virtio block device (rev 01)

Aquí veo la diferencia: qemu permite conectar almacenamiento al puente de host PCI raíz, pero en KVM siempre está conectado al puerto raíz PCIe de QEMU.

Mis preguntas son:

  1. ¿Es posible que SLES 11 sea demasiado antiguo para admitir el puerto QEMU PCIe Root?
  2. ¿Es posible facilitar la configuración de la máquina virtual para conectar el almacenamiento al puente del host directamente?
  3. Reconstruyo initramfs en el entorno de destino, sin agregar nada a los archivos de configuración. ¿Me falta algo (ganchos o controladores) al reconstruir initramfs?

Respuesta1

Creó la VM con el tipo de máquina i440fx. Inténtelo de nuevo con el tipo de máquina q35, que es la que usa su otra VM.

información relacionada