Hyper-V gen2 UEFI gép migrálása Proxmox LVM-Thin-re SCSI kontrollerrel

Ha már kellett egy ilyen doksit készítenem közkinccsé teszem, hát segít valakinek.

A feladat az, hogy Hyper-V gen2-es UEFI boot Windows virtuál gépeket kell áttenni Proxmox szerver alá, amin LVM-Thin pool-ban fognak futni SCSI kontrollerrel.

Röviden a lényeg az, hogy egy hyper-v smb share-ről a qm importdisk utasítást használva egy műveltben elvégezhető az egész. Utána a Proxmox-on a guest Windows SCSI drivert kell telepíteni és kész is van.

  1. Hozd létre a VM-et a migrálandó gépnek a Proxmox host-on, ezek a lényeges pontok:

    1. Create VM

    2. System lap → BIOS: OVMF (UEFI)

    3. System lap → Add EFI Disk: (Igen)

    4. System lap → Storage: local-lvm (vagy ha más a neve nálad akkor a Thin Pool )

    5. Hard Disk lap → Bus/Device: SCSI / 1 (ennek a lemeznek később lesz jelentősége)

    6. Hard Disk lap → Storage: local-lvm

    7. Hard Disk lap → Disk Size: 5 GiB (bármennyi lehet, elég egy nagyon kicsi, majd a driver telepítés miatt kell)

  2. A hyper-v szerveren állítsd el a migrálandó gépet és töröld le az összes hozzá tartozó snapshot-ot!

  3. Készíts egy megosztást a hyper-v szerveren, amin keresztül elérhető lesz a gép vhdx lemeze

  4. Mount-old fel ezt a megosztást a Proxmox szerveren például így: mount -t cifs -o user=pve,vers=2.0 //192.168.x.x/hyper-v /mnt/hyperv

  5. A qm importdisk utasítás képes közvetlenül vhdx-ből importálni, és a konverziót is elvégzi egy műveletben. A cél gép id-t kell megadni a forrás lemezt és a cél disk pool-t

  6. qm importdisk 100 /mnt/hyperv/windows-guest.vhdx local-lvm

  7. Az import után a cél VM-nél találni fogsz egy „Unused Disk”-et, azt add hozzá IDE 0 kotroller-el.

  8. Vm id → Hardware → Unused Disk (Dupla klikk, vagy Edit) → IDE 0

  9. Állíts be, hogy boot-oljon róla a VM

  10. Vm id → Options → Boot Order → Állíts be a lemezt elsőnek

  11. Indítsd el a gépet.

  12. Telepítsd a legújabb Virtio driver-eket

    1. Töltsd le a „Stable virtio-win ISO”-t: https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md

    2. Csatold fel a VM-nek a Proxmox szerveren

    3. d:\virtio-win-gt-x64.msi és mehet minden

    4. Restart VM

    5. Ellenőrizd le, hogy a létrehozott kicsi második lemez rendben elérhető a Windows alatt és a Driverek között megtalálható a Sotrage controllers → Red Hat VirtIO SCSI pass-trough controller

  13. Állítsd le VM-et

  14. Csatold le a lemezeket

  15. Vm id → Hardware → Hard Disk (mindkettő) → Detach

  16. Csatold fel SCSI-nek a konvertált lemezt

  17. Vm id → Hardware → Unused Disk (Dupla klikk, vagy Edit) → SCSI 0

    1. A másik kicsi „segéd” lemezt törölheted

  18. Állíts be, hogy boot-oljon róla a VM

  19. Vm id → Options → Boot Order → Állíts be a lemezt elsőnek

  20. Start VM

Kész vagy, mér csak a simítások vannak hátra, a gépnek IP cím beállítás, újra aktiválni a Windows-t és persze ellenőrizni mindent.

Opció:

A OVMF gépen a képernyő felbontást a UEFI-ben lehet beállítani.

  1. A VM-en a konzolon a Start után nyomd meg az ESC-t

  2. Az menüben állítsd be a kívánt képernyőfelbontást

  3. OVMF → Device Manager → OVMF Platform Configuration → Change Preferred

     

Hozzászólások

miert jobb scsivel hozzaadni, mint virtio controllerrel?

A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Kissé zavaros a dolog, mert a kontroller az "VirtIO SCSI" és lemez csatolásnál van bus-nak "VirtIO Block" és "SCSI" lehetőség. Most hirtelen nem találom a cikket, de azt olvastam, hogy Windows alá a "VirtIO Block" bus nem ajánlott , mert nem fejlesztik rendesen, hanem az SCSI bus-t kell használni. Szóval zavaros, mert ha úgy nézzük az SCSI-is VirtIO :)

Maga a Proxmox is az SCSI-t ajánlja:

https://pve.proxmox.com/wiki/Windows_10_guest_best_practices

+

https://pve.proxmox.com/wiki/Paravirtualized_Block_Drivers_for_Windows

 

Note: Proxmox recommends using SCSI with VirtIO SCSI as SCSI Controller Type for VM disks, to have the most features and best performance.

VirtIO block may get deprecated in the future.

Egy, Egyből Kettő, Kettő meg Egy. Ez minden mérték alapja, minden élet csirája, számok, nevek építőköve.

Szerkesztve: 2021. 04. 23., p – 11:47

kozkin*ccs*e