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.

A tömegek sohasem szomjúhozták az igazságot. A nekik nem tetsző bizonyságok elől elfordulnak és inkább a tévedést istenítik, ha ez őket elkápráztatja. Aki illúzióba ringatja őket, úr lesz fölöttük, de áldozatuk az, aki megpróbálja őket kiábrándítani.

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

kozkin*ccs*e

Ciki :) köszi, javítottam.

A tömegek sohasem szomjúhozták az igazságot. A nekik nem tetsző bizonyságok elől elfordulnak és inkább a tévedést istenítik, ha ez őket elkápráztatja. Aki illúzióba ringatja őket, úr lesz fölöttük, de áldozatuk az, aki megpróbálja őket kiábrándítani.