Jak przenieść maszyny wirtualne z Hyper-V do Proxmox: przewodnik krok po kroku
Proxmox VE to niezawodne środowisko wirtualne dla organizacji każdej wielkości, a przenoszenie maszyn wirtualnych z innego rozwiązania do wirtualizacji do Proxmox VE może stanowić wyzwanie. W najnowszych wersjach Proxmox dodał kreator, który częściowo automatyzuje migrację z VMware ESXi do Proxmox VE. Jednak migracja z Hyper-V do Proxmox wymaga wykonania czynności ręcznie. Ten wpis na blogu przedstawia szczegółowe kroki migracji maszyn wirtualnych z Hyper-V do Proxmox oraz sposób konfiguracji migracji.
Przygotowanie maszyny wirtualnej Microsoft Hyper-V do migracji
Aby przygotować środowisko do migracji do Proxmox VE, należy najpierw zainstalować sterowniki VirtIO w systemie operacyjnym gościa maszyny wirtualnej Hyper-V, którą planujesz przenieść. Sterowniki VirtIO to zestaw sterowników dla urządzeń wirtualnych maszyn wirtualnych Proxmox, które poprawiają wydajność i komfort użytkowania, podobnie jak Narzędzia VMware. Zainstalowanie sterowników VirtIO przed rozpoczęciem procesu migracji jest konieczne, aby uniknąć problemów po uruchomieniu maszyny wirtualnej na hoście Proxmox.
Aby zainstalować sterowniki VirtIO:
- Pobierz kompilację najnowsze stabilne sterowniki VirtIO lub najnowsza norma ISO ze strony oficjalne źródło. Ten obraz ISO jest również potrzebny do zainstalowania agenta gościa QEMU.
- Włóż pobrany obraz ISO ze sterownikami VirtIO do wirtualnego napędu CD/DVD źródłowej maszyny wirtualnej Hyper-V. Nazwa naszej maszyny wirtualnej źródłowej w tym przykładzie to Win10test (Windows 10 jest systemem operacyjnym gościa). Jest to maszyna wirtualna generacji 2, która posiada jeden dysk wirtualny VHDX o pojemności 20 GB (dynamiczny, nieprzydzielony z góry – odpowiednik dysku przydzielane dynamicznie ) z systemem operacyjnym (OS) i danymi.
- Otwórz
Hyper-V Manager. Kliknij prawym przyciskiem myszy maszynę wirtualną Hyper-V, którą chcesz przenieść do Proxmox VE, a następnie w menu kontekstowym kliknijSettings.
- W lewym panelu okna ustawienia VM kliknij opcję
DVD Drive. W prawym panelu kliknijImage file, naciśnijBrowsei wybierz plik obrazu sterowników VirtIO. W tym przykładzie nazwa pliku tovirtio-win-0.1.240.isoKliknij
OK, aby zapisać ustawienia.
- Uruchom maszynę wirtualną źródłową i połącz się z nią za pomocą natywnego narzędzia Hyper-V VMConnect . Kliknij prawym przyciskiem myszy maszynę wirtualną i wybierz
Connect. - Otwórz Eksploratora Windows ( Ten komputer ) w systemie operacyjnym gościa i przejdź do napędu DVD, do którego włożono obraz ISO. Znajdź plik instalacyjny sterowników VirtIO dla systemu Windows w folderze głównym obrazu DVD. Wybierz plik instalatora w formacie . msi w zależności od wersji systemu Windows (
virtio-win-gt-x64.msilubvirtio-win-gt-x86.msi).
- Uruchom plik wykonywalny dla swojej wersji systemu Windows (64-bitowej lub 32-bitowej) i postępuj zgodnie z instrukcjami kreatora instalacji, aby zainstalować sterowniki VirtIO.
- Zainstaluj QEMU Guest Agent . Instalator znajduje się w obrazie ISO ze sterownikami VirtIO w katalogu
guest-agent. Uruchom plik instalatora dla swojej wersji systemu Windows (uruchamiamyqemu-ga-x84_64.msi, ponieważ jako system operacyjny gościa używamy 64-bitowego systemu Windows 10).
- Sprawdź, czy agent gościa działa w systemie operacyjnym gościa źródłowej maszyny wirtualnej Hyper-V, używając następującego polecenia PowerShell:
Get-Service QEMU-GA
Można również sprawdzić stan usługi QEMU Guest Agent w graficznym interfejsie użytkownika systemu Windows, korzystając z modułu
services.msc. Kliknij prawym przyciskiem myszy ikonęMy ComputerlubThis PC, wybierz opcjęManage, a następnie w oknie Zarządzanie komputerem przejdź do sekcjiServices and Applications>Services. Sprawdź usługęQEMU Guest Agent– usługa ta musi być uruchomiona z typem uruchamianiaautomatic.
- Wyłącz maszynę wirtualną źródłową na hoście Hyper-V.
- Jeśli maszyna wirtualna posiada punkty kontrolne (migawki), usuń je. W naszym przykładzie maszyna wirtualna nie ma punktów kontrolnych.
Eksportowanie maszyny wirtualnej Hyper-V
Aby wyeksportować źródłową maszynę wirtualną Hyper-V, którą chcesz przenieść z Hyper-V do Proxmox VE, right-click maszynę wirtualną i wybierz Export z menu kontekstowego.

Wskaż lokalizację, w której chcesz zapisać pliki wyeksportowanej maszyny wirtualnej, a następnie kliknij Export.

W tym przykładzie pliki są eksportowane do H:Exported na hoście Hyper-V.
Przenoszenie plików maszyny wirtualnej Hyper-V na serwer Proxmox
Skopiuj dyski wirtualne wyeksportowanej maszyny wirtualnej Hyper-V (VHD lub VHDX) na host Proxmox. Dyski wirtualne znajdują się w podkatalogu Virtual Hard Disks wyeksportowanej maszyny wirtualnej, w katalogu określonym dla eksportu maszyny wirtualnej. Korzystanie z WinSCP, klienta SCP i SFTP działającego przez SSH, jest wygodne do kopiowania plików z komputera z systemem Windows na komputer z systemem Linux, w tym na host Proxmox.
- Utwórz nową sesję w WinSCP i zaloguj się do swojego hosta Proxmox.
- Skopiuj dyski wirtualne VHD lub VHDX wyeksportowanej maszyny wirtualnej Hyper-V na host Proxmox. Wystarczy przeciągnąć & i upuścić pliki w WinSCP.

- Sprawdź skopiowane dyski wirtualne maszyn wirtualnych Hyper-V na hoście Proxmox, aby upewnić się, że plik jest spójny i nie jest uszkodzony. Otwórz konsolę (terminal) na hoście Proxmox i uruchom to polecenie:
qemu-img check -r all /home/user1/Downloads/Win10test.vhdx
Tworzenie nowej maszyny wirtualnej w Proxmox
Utwórz nową maszynę wirtualną w Proxmox. Można to zrobić za pomocą interfejsu internetowego Proxmox VE.
- Wybierz host Proxmox w Centrum danych ,
right-clicki kliknijCreate VMw menu kontekstowym. Skonfigurujemy tę nową maszynę wirtualną tak, aby wykorzystywała zaimportowane dyski wirtualne do procesu migracji.
- Otworzy się kreator tworzenia maszyny wirtualnej Proxmox.
General. Wprowadź nazwę maszyny wirtualnej (na przykładWin10-migrated). Możesz pozostawić domyślną wartość identyfikatora maszyny wirtualnej. W naszym przypadku identyfikator maszyny wirtualnej to 101.OS. Wybierz Nie używaj żadnego nośnika . Typ systemu operacyjnego gościa: Microsoft Windows ; wersja: 10/2016/2019 .System. W sekcji Oprogramowanie układowe wybierzOVMF (UEFI)BIOS. W tym przypadku należy dodać dysk EFI oparty na urządzeniuq35i bez wirtualnego modułu TPM (tak jak w maszynie wirtualnej źródłowej). PozostawVirtIO SCSI singlejako kontroler SCSI, zgodnie z sugestią kreatora. Wybraliśmy UEFI, ponieważ migrujemy maszynę wirtualną Hyper-V Gen-2.Disks. Pozostaw domyślne ustawienia, ale ustaw rozmiar dysku wirtualnego na 1 GB (jest to tymczasowy dysk wirtualny używany do utworzenia nowej maszyny wirtualnej; usuniemy go później).CPU, Memory, Network: Wybierz dowolne wartości. Możesz ustawić ten sam Procesor i pamięć, co w maszynie źródłowej.

- Po utworzeniu nowej maszyny wirtualnej Proxmox przejdź do ustawień maszyny
Hardware, wybierz tymczasowy dysk wirtualny o pojemności 1 GB, który został niedawno utworzony,Hard Disk (ide0)w tym przypadku, i kliknijDetach. Po odłączeniu dysku wirtualnego nazwa dysku zostanie zmieniona naUnused Disk 0w naszym przypadku.
- Usuń tymczasowy dysk wirtualny o pojemności 1 GB. Wybierz
Unused Disk 0i kliknijRemove.
Konwersja plików VHDX do formatu QCOW2
Przekonwertuj dysk wirtualny Hyper-V (VHD lub VHDX) na hoście Proxmox do natywnego formatu Proxmox (KVM), aby korzystać z większej liczby funkcji (thin provisioning). Otwórz konsolę (terminal) na hoście Proxmox i wykonaj następujące polecenie z uprawnieniami administratora:
qemu-img convert -f vhdx -O qcow2 -o preallocation=off /var/lib/vz/dump/disk.vhdx /var/lib/vz/images/VMID/disk.qcow2
Gdzie:
-f vhdx służy do określenia formatu wejściowego (VHDX).
-O qcow2 służy do określenia formatu wyjściowego (QCOW2).
-o preallocation=off – włącza alokację dynamiczną dla docelowego pliku dysku wirtualnego (dysk zajmuje miejsce tylko na podstawie rzeczywistych danych).
/var/lib/vz/dump/disk.vhdx to źródłowy plik VHDX.
/var/lib/vz/images/VMID/disk.qcow2 to lokalizacja docelowa (zastąp VMID rzeczywistym identyfikatorem maszyny wirtualnej w Proxmox).
W naszym przykładzie dokładne polecenie do konwersji formatu dysku wirtualnego Hyper-V to Proxmox (z VHDX na QCOW2) jest następujące:
qemu-img convert -f vhdx -O qcow2 -o preallocation=off ./Win10test.vhdx /var/lib/vz/images/101/Win10-converted.qcow2
Poczekaj, aż dysk wirtualny zostanie przekonwertowany. W rezultacie zostanie utworzony nowy plik. Przekonwertowaliśmy Win10test.vhdx na Win10-converted.qcow2

Przeskanuj ponownie magazyn Proxmox, aby rozpoznała nowe dyski wirtualne:
qm rescan

Po ponownym przeskanowaniu dysków wirtualnych przekonwertowany dysk wirtualny zostanie wyświetlony w interfejsie internetowym Proxmox.
Podłączanie dysków wirtualnych do maszyny wirtualnej Proxmox
Dodaj przekonwertowany dysk o statusie Unused Disk do wcześniej utworzonej maszyny wirtualnej (w naszym przypadku dodajemy Win10-converted.qcow2 do maszyny wirtualnej Win10-migrated ). Można to zrobić w interfejsie internetowym Proxmox.
- Kliknij dwukrotnie nieużywany dysk (
Unused Disk 0), aby podłączyć go do maszyny wirtualnej.
- Wybierz
IDE(lubSATA). Jeśli podłączysz zaimportowany i przekonwertowany dysk wirtualny do kontrolera SCSI, podczas uruchamiania systemu operacyjnego gościa tej maszyny wirtualnej pojawi się niebieski ekran śmierci (BSOD w systemie Windows). Po uruchomieniu z dysku IDE lub SATA system Windows zainstaluje sterowniki dla wirtualnego sprzętu maszyny wirtualnej Proxmox. Następnie można ponownie skonfigurować dysk wirtualny tak, aby korzystał z kontrolera dysków SCSI.
- Dodaj nowy tymczasowy dysk SCSI o pojemności 1 GB, który został niedawno utworzony. Utworzenie tymczasowego dysku podłączonego do kontrolera SCSI jest wymagane do zainstalowania sterowników niezbędnych do pracy z kontrolerami SCSI. Wybierz maszynę wirtualną utworzoną podczas migracji
Hyper-V to Proxmox( Win10-migrated ), przejdź do sekcjiHardware, kliknijAddi wybierzHard Disk.
- Wybierz parametry dysku wirtualnego zgodnie z wcześniejszymi wyjaśnieniami, ale tym razem z magistralą/urządzeniem SCSI.

- Edytuj kolejność uruchamiania. Wybierz swoją maszynę wirtualną, przejdź do
Options>Boot order. Kliknij dwukrotnie Boot Order lub wybierzBoot Orderi kliknijEdit.
- Zaznacz odpowiednie pole wyboru, aby włączyć dysk wirtualny, który został przekonwertowany, zaimportowany i podłączony do tej maszyny wirtualnej. Domyślnie nowy dysk jest niezaznaczony na liście kolejności uruchamiania.
- Przenieś zaimportowany i włączony dysk na początek listy rozruchowej.

- Włącz maszynę wirtualną i połącz się z konsolą maszyny wirtualnej. Wybierz maszynę wirtualną utworzoną do migracji z Hyper-V do Proxmox, kliknij
Starta następnie kliknijConsole. System operacyjny gościa powinien się teraz uruchomić.
- Sprawdź sprzęt w Menedżerze urządzeń gościnnego systemu operacyjnego Windows. Kliknij prawym przyciskiem myszy ikonę
My ComputerlubThis PC, kliknijManagei wybierzDevice Manager. Alternatywnie możesz uruchomić przystawkędevmgmt.mscz wiersza poleceń.Powinieneś zobaczyć dwa dyski: przekonwertowany/zaimportowany dysk wirtualny (w naszym przypadku dysk o alokacji dynamicznej o pojemności 20 GB podłączony do kontrolera IDE) oraz tymczasowy dysk wirtualny SCSI o pojemności 1 GB.
Powinieneś zobaczyć standardowy kontroler SATA/AHCI oraz kontroler VirtIO SCSI. Po zainstalowaniu kontrolera SCSI na maszynie wirtualnej po uruchomieniu systemu Windows z dysku IDE lub SATA instalowane są sterowniki umożliwiające korzystanie z kontrolera SCSI. Sterowniki te pozwalają nam uruchomić system operacyjny z dysku podłączonego do kontrolera SCSI. Możesz ponownie uruchomić maszynę wirtualną, aby upewnić się, że wszystko działa poprawnie.

- Wyłącz maszynę wirtualną przeniesioną do Proxmox.
- Odłącz dysk wirtualny podłączony do kontrolera IDE. Wybierz dysk wirtualny w sekcji „
Hardware” swojej przeniesionej maszyny wirtualnej i kliknij „Detach”. W naszym przykładzie jest to obecnie dysk twardy „ ” (ide0) (20 GB).
- Kliknij dwukrotnie ten dysk (obecnie nasz dysk o pojemności 20 GB jest dyskiem nieużywanym –
Unused Disk 0), aby go podłączyć.
- Podłącz ten dysk wirtualny do kontrolera SCSI (magistrala/urządzenie) i kliknij
Add.
- Nasz dysk wirtualny o pojemności 20 GB to teraz
Hard Disk (scsi1). Wciąż utrzymujemy tymczasowy dysk SCSI o pojemności 1 GB działający w tej maszynie wirtualnej.
- Edytuj kolejność uruchamiania maszyn wirtualnych. Przejdź do maszyny wirtualnej
Optionsi kliknij dwukrotnieBoot Order, zgodnie z wcześniejszymi instrukcjami.- Wybierz dysk wirtualny z systemem Windows 10, który został niedawno podłączony do kontrolera SCSI (w tym przypadku
Win10-converted.qcow2). - Edytuj kolejność uruchamiania – przenieś ten zaimportowany dysk (z maszyny wirtualnej Hyper-V z systemem Windows 10) na początek listy.
- Wybierz dysk wirtualny z systemem Windows 10, który został niedawno podłączony do kontrolera SCSI (w tym przypadku
- Uruchom maszynę wirtualną. System operacyjny Windows 10 powinien teraz uruchomić się z wirtualnego dysku SCSI.
- Po uruchomieniu systemu operacyjnego otwórz
Device Manageri sprawdź dyski oraz kontrolery pamięci masowej. Teraz widzimy dwa dyski SCSI i dwa kontrolery SCSI (patrz zrzut ekranu poniżej). W tym przypadku każdy dysk SCSI jest podłączony do własnego kontrolera SCSI. Konfiguracja wyświetlana w Menedżerze urządzeń jest dla nas na tym etapie poprawna.
- Jeśli wszystko działa poprawnie, wyłącz maszynę wirtualną.
- Uruchom ponownie maszynę wirtualną. Jeśli system operacyjny gościa uruchamia się poprawnie i wszystko działa prawidłowo, możesz odłączyć i usunąć tymczasowy dysk wirtualny SCSI o pojemności 1 GB z maszyny wirtualnej Proxmox (
rm /var/lib/vz/images/101/vm-101-disk1.qcow2) oraz usunąć dysk wirtualny VHDX skopiowany z hosta źródłowego Hyper-V (rm/home/user1/Downloads/Win10-test.vhdx).
Zapewnienie ochrony maszyn wirtualnych po migracji za pomocą NAKIVO
Po zakończeniu migracji z Hyper-V do Proxmox nie zapomnij zabezpieczyć swoich maszyn wirtualnych w środowisku Proxmox za pomocą dedykowanego rozwiązania do tworzenia kopii zapasowych. Jeśli źródłowe maszyny wirtualne Hyper-V były zabezpieczone przed migracją, przekonwertowane maszyny wirtualne nie będą automatycznie zabezpieczone w Proxmox VE.
NAKIVO Backup & Replication obsługuje ochronę maszyn wirtualnych w środowiskach wirtualnych Hyper-V, Proxmox, VMware vSphere i Nutanix. Rozwiązanie NAKIVO obsługuje maszyny wirtualne Kopia zapasowa bez serwera dla Proxmox . Konfiguracja jest prosta – wystarczy dodać hosty lub klastry Proxmox do zasobów i utworzyć zadania wykonywania kopii zapasowej.
Można przywrócić całe maszyny wirtualne lub przeprowadzić odzyskiwanie szczegółowe, aby szybko przywrócić poszczególne pliki lub obiekty. Odzyskiwanie danych jest możliwe do lokalizacji źródłowej lub niestandardowej. Można również wykonać eksport kopii zapasowej maszyn wirtualnych i przywrócić je na innej platformie wirtualizacyjnej.
NAKIVO Backup & Replication obsługuje:
Incremental backups. Zmniejsz zużycie przestrzeni dyskowej, kopiując wyłącznie dane, które uległy zmianie od ostatniej kopii zapasowej. Skonfigurowanie kopii przyrostowych wraz z okresowymi kopiami pełnymi zwiększa niezawodność łańcucha kopii zapasowych.Application-aware backups. Upewnij się, że dane kopii zapasowej są spójne pod względem awarii i spójne z aplikacją. Wykonywaj kopie zapasowe maszyn wirtualnych nawet wtedy, gdy działają na nich aplikacje, i w razie potrzeby prawidłowo odzyskuj dane.Backup encryption. Szyfruj kopie zapasowe podczas przesyłania i przechowywania, aby zapewnić . Skonfiguruj szyfrowanie po stronie źródła, w sieci oraz w repozytorium kopii zapasowych zgodnie z własnymi potrzebami.Backup immutability. Chroń kopie zapasowe przed oprogramowaniem wymuszającym okup, wykorzystując niezmienność. Dane te nie mogą być modyfikowane, zmieniane ani usuwane przez oprogramowanie wymuszające okup.Multiple backup locations. Wprowadź elastyczną politykę tworzenia kopii zapasowych i postępuj zgodnie z Zasada tworzenia kopii zapasowej 3-2-1. Rozwiązanie NAKIVO obsługuje przechowywanie kopii zapasowych na dyskach lokalnych, urządzeniach NAS, udziałach SMB i NFS, taśmach oraz w chmurze, w tym Magazynie Azure Blob, AWS S3 i innych magazynach obiektowych zgodnych z S3.
Wnioski
Aby przenieść maszynę wirtualną Hyper-V do Proxmox, należy przygotować maszynę źródłową, instalując sterowniki VirtIO, utworzyć nową maszynę wirtualną Proxmox, przekonwertować wyeksportowany dysk wirtualny i zaimportować przekonwertowany dysk do maszyny wirtualnej Proxmox. Wirtualne dyski SCSI zapewniają wyższą wydajność, ale wymagają dodatkowej konfiguracji, aby działały poprawnie. Należy również uruchomić system z dysku wirtualnego podłączonego do kontrolera dysków wirtualnych IDE lub SATA, dodać tymczasowy dysk SCSI w celu zainstalowania sterowników, a następnie podłączyć dysk rozruchowy do kontrolera SCSI. Nie zapomnij zabezpieczyć swoich danych za pomocą zaawansowanego rozwiązania do tworzenia kopii zapasowych, takiego jak NAKIVO Backup & Replication.