So migrieren Sie VMs von Hyper-V zu Proxmox: Eine Schritt-für-Schritt-Anleitung
Proxmox VE ist eine zuverlässige virtuelle Umgebung für Unternehmen jeder Größe, und die Migration virtueller Maschinen von einer anderen Virtualisierungslösung zu Proxmox VE kann eine Herausforderung darstellen. In den neuesten Versionen hat Proxmox einen Assistenten hinzugefügt, um Migrationen von VMware ESXi zu Proxmox VE teilweise zu automatisieren. Die Migration von Hyper-V zu Proxmox erfordert jedoch manuelle Schritte. Dieser Blogbeitrag zeigt die Details der Migration von VMs von Hyper-V zu Proxmox und wie die Migration konfiguriert wird.
Vorbereitung der Microsoft Hyper-V-VM für die Migration
Um Ihre Umgebung für eine Migration zu Proxmox VE vorzubereiten, sollten Sie zunächst VirtIO-Treiber auf dem Gastbetriebssystem der Microsoft Hyper-V-VM installieren, die Sie migrieren möchten. VirtIO-Treiber sind eine Reihe von Treibern für virtuelle Geräte von Proxmox-VMs, die die Leistung und Benutzererfahrung verbessern, ähnlich wie VMware Tools . Die Installation von VirtIO-Treibern vor Beginn des Migrationsprozesses ist erforderlich, um Probleme nach dem Start der VM auf einem Proxmox-Host zu vermeiden.So installieren Sie VirtIO-Treiber:
- Herunterladen der neuesten stabilen VirtIO-Treiber oder die aktuellste ISO-Version von der offiziellen Website . Dieses ISO-Image wird auch für die Installation von QEMU Guest Agent benötigt.
- Legen Sie das heruntergeladene ISO-Image mit den VirtIO-Treibern in das virtuelle CD/DVD-Laufwerk der Quelle-Hyper-V-VM ein. Der Name unserer Quelle-VM in diesem Beispiel lautet Win10test (Windows 10 ist das Gastbetriebssystem). Es handelt sich um eine Generation2-VM mit einer 20-GB-VHDX-Virtuellen Festplatte (dynamisch, nicht vorab zugewiesen – analog zu einer Thin Provisioned Festplatte) mit einem Betriebssystem (OS) und Daten.
- Öffnen Sie den Hyper-V-Manager . Klicken Sie mit der rechten Maustaste auf die VM, die Sie von Hyper-V zu Proxmox VE migrieren möchten, und klicken Sie im Kontextmenü auf Einstellungen .
- Klicken Sie im linken Bereich des Fensters VM-Einstellungen auf die Option DVD-Laufwerk . Klicken Sie im rechten Bereich auf Image-Datei , klicken Sie auf Durchsuchen und wählen Sie die Image-Datei der VirtIO-Treiber aus. In diesem Beispiel lautet der Name der Datei virtio-win-0.1.240.iso
Klicken Sie auf OK , um die Einstellungen zu speichern.
- Starten Sie die Quelle-VM und stellen Sie mit dem nativen Hyper-V-Tool VMConnect eine Verbindung zur VM her. Klicken Sie mit der rechten Maustaste auf die VM und klicken Sie auf Verbinden .
- Öffnen Sie den Windows Explorer ( Dieser PC ) im Gastbetriebssystem und navigieren Sie zu dem DVD-Laufwerk, in das das ISO-Image eingelegt wurde. Suchen Sie die Installationsdatei für die VirtIO-Treiber für Windows im Stammverzeichnis des DVD-Images. Wählen Sie die Installationsdatei im Format . msi entsprechend Ihrer Windows-Version aus ( virtio-win-gt-x64.msi oder virtio-win-gt-x86.msi ).
- Führen Sie die ausführbare Datei für Ihre Windows-Version (64-Bit oder 32-Bit) aus und folgen Sie den Anweisungen des Installationsassistenten, um die VirtIO-Treiber zu installieren.
- Installieren Sie QEMU Guest Agent . Das Installationsprogramm befindet sich im ISO-Image mit den VirtIO-Treibern im Verzeichnis guest-agent . Führen Sie die Installationsdatei für Ihre Windows-Version aus (wir führen qemu-ga-x84_64.msi aus, da wir Windows 10 64-Bit als Gastbetriebssystem verwenden).
- Überprüfen Sie mit dem folgenden PowerShell-Befehl, ob der Gastagent in einem Gastbetriebssystem der Quelle-Hyper-V-VM ausgeführt wird:
Get-Service QEMU-GA
Sie können den Status des QEMU-Gastagenten-Dienstes auch in der grafischen Benutzeroberfläche von Windows im Snap-In services.msc überprüfen. Klicken Sie mit der rechten Maustaste auf das Symbol „ Arbeitsplatz “ oder „ Dieser PC “, klicken Sie auf „ Verwalten “ und gehen Sie im Fenster „ Computerverwaltung “ zu „ Dienste und Anwendungen > Dienste “. Überprüfen Sie den Dienst „ QEMU Guest Agent “ – dieser Dienst muss mit dem Starttyp „ automatisch “ ausgeführt werden.
- Fahren Sie die Quelle-VM auf dem Hyper-V-Host herunter.
- Wenn die VM über Checkpoints (Schnappschüsse) verfügt, entfernen Sie diese. Die Virtuelle Maschine in unserem Beispiel hat keine Checkpoints.
Exportieren der Virtuellen Hyper-V-Maschine
Um die Quelle der Virtuellen Hyper-V-Maschine zu exportieren, die Sie von Hyper-V nach Proxmox VE migrieren möchten, klicken Sie mit der rechten Maustaste auf die VM und wählen Sie Exportieren im Kontextmenü.
Geben Sie den Standort an, an dem Sie die Dateien der exportierten VM speichern möchten, und klicken Sie auf Exportieren .
In diesem Beispiel werden die Dateien nach H:Exported auf dem Hyper-V-Host exportiert.
Übertragen der VM-Dateien auf den Proxmox-Server
Kopieren Sie die virtuellen Festplatten der exportierten Hyper-V-VM (VHD oder VHDX ) auf den Proxmox-Host. Die virtuellen Festplatten befinden sich im Unterverzeichnis Virtual Hard Disks der exportierten Virtuellen Maschine, in dem für den VM-Export angegebenen Verzeichnis. Mit WinSCP , dem über SSH arbeitenden SCP- und SFTP-Client, lassen sich Dateien bequem von einem Windows- auf einen Linux-Rechner kopieren, einschließlich eines Proxmox-Hosts.
- Erstellen Sie eine neue Sitzung in WinSCP und melden Sie sich bei Ihrem Proxmox-Host an.
- Kopieren Sie die virtuellen Festplatten VHD oder VHDX der exportierten Hyper-V-VM auf den Proxmox-Host. Sie können die Dateien einfach per Drag & Drop in WinSCP verschieben.
- Überprüfen Sie die kopierten virtuellen Festplatten der Hyper-V-VM auf dem Proxmox-Host, um sicherzustellen, dass die Datei konsistent und nicht beschädigt ist. Öffnen Sie die Konsole (Terminal) auf dem Proxmox-Host und führen Sie diesen Befehl aus:
qemu-img check -r all /home/user1/Downloads/Win10test.vhdx
Erstellen einer neuen Virtuellen Maschine in Proxmox
Erstellen Sie eine neue VM in Proxmox. Sie können dies über die Proxmox VE-Weboberfläche tun.
- Wählen Sie den Proxmox-Host im Rechenzentrum aus, klicken Sie mit der rechten Maustaste darauf und wählen Sie im Kontextmenü VM erstellen . Wir konfigurieren diese neue VM so, dass sie die importierten virtuellen Festplatten für den Migrationsprozess verwendet.
- Der Proxmox-Assistent zum Erstellen von VMs wird geöffnet.
- Allgemein . Geben Sie den VM-Name ein (z. B. Win10-migriert ). Sie können den Standardwert für die freie VM-ID beibehalten. In unserem Fall lautet die VM-ID 101.
- Betriebssystem . Wählen Sie Keine Medien verwenden . Gastbetriebssystemtyp: Microsoft Windows ; Version: 10/2016/2019 .
- System . Wählen Sie im Abschnitt Firmware die Option OVMF (UEFI) BIOS. In diesem Fall müssen Sie eine EFI-Festplatte basierend auf dem Gerät q35 und ohne virtuelles TPM (wie auf der Quelle) hinzufügen. Behalten Sie VirtIO SCSI single als SCSI-Controller bei, wie vom Assistenten vorgeschlagen. Wir haben UEFI ausgewählt, da wir eine Gen-2-Hyper-V-VM migrieren.
- Festplatten . Behalten Sie die Standardparameter bei, aber stellen Sie die Größe der virtuellen Festplatte auf 1 GB ein (dies ist eine temporäre virtuelle Festplatte, die zum Erstellen einer neuen VM verwendet wird; wir werden sie später löschen).
- CPU, Arbeitsspeicher, Netzwerk : Wählen Sie die gewünschten Werte aus. Sie können die gleiche CPU und den gleichen Arbeitsspeicher wie bei der Quell-VM einstellen.
- Sobald die neue Proxmox-VM erstellt ist, gehen Sie zu den VM-Einstellungen Hardware , wählen Sie die temporäre 1-GB-Festplatte, die gerade erstellt wurde, Festplatte (ide0) in diesem Fall, und klicken Sie auf Freigeben . Nach dem Freigeben der virtuellen Festplatte wird der Name der Festplatte in unserem Fall in Unbenutzte Festplatte 0 geändert.
- Löschen Sie die temporäre virtuelle 1-GB-Festplatte. Wählen Sie Nicht verwendete Festplatte 0 und klicken Sie auf Entfernen .
Konvertieren der VHDX-Dateien in QCOW2
Konvertieren Sie die virtuelle Hyper-V-Festplatte (VHD oder VHDX) auf dem Proxmox-Host in das native Proxmox-Format (KVM) um, um mehr Funktionen (Thin Provisioning) nutzen zu können. Öffnen Sie die Konsole (Terminal) auf dem Proxmox-Host und führen Sie den folgenden Befehl mit Root-Rechten aus: qemu-img convert -f vhdx -O qcow2 -o preallocation=off /var/lib/vz/dump/disk.vhdx /var/lib/vz/images/VMID/disk.qcow2 Dabei wird -f vhdx verwendet, um das Eingabeformat (VHDX) anzugeben. -O qcow2 wird verwendet, um das Ausgabeformat (QCOW2) anzugeben. -o preallocation=off – aktiviert Thin Provisioning für die virtuelle Zieldisk-Datei (die Festplatte belegt nur Speicherplatz basierend auf den tatsächlichen Daten). /var/lib/vz/dump/disk.vhdx ist die Quelle der VHDX-Datei. /var/lib/vz/images/VMID/disk.qcow2 ist der Zielspeicherort (ersetzen Sie VMID durch Ihre tatsächliche VM-ID in Proxmox).In unserem Beispiel lautet der genaue Befehl zum Konvertieren von Hyper-V in das virtuelle Festplattenformat von Proxmox (VHDX in QCOW2) wie folgt: qemu-img convert -f vhdx -O qcow2 -o preallocation=off ./Win10test.vhdx /var/lib/vz/images/101/Win10-converted.qcow2 Warten Sie, bis die virtuelle Festplatte konvertiert ist. Als Ergebnis wird eine neue Datei erstellt. Wir haben Win10test.vhdx in Win10-converted.qcow2 konvertiert.
Scannen Sie den Proxmox-Speicher erneut, um neue virtuelle Festplatten zu erkennen: qm rescan
Nach dem erneuten Scannen der virtuellen Festplatten wird die konvertierte virtuelle Festplatte in der Proxmox-Weboberfläche angezeigt.
Anhängen der virtuellen Festplatten an die Proxmox-VM
Fügen Sie die konvertierte Festplatte mit dem Status Unused Disk zur zuvor erstellten Virtuellen Maschine hinzu (wir fügen Win10-converted.qcow2 zu der Win10-migrated VM hinzu). Dies können Sie in der Proxmox-Weboberfläche tun.
- Doppelklicken Sie auf die ungenutzte Festplatte ( Unused Disk 0 ), um sie an die VM anzuschließen.
- Wählen Sie IDE (oder SATA ). Wenn Sie die importierte und konvertierte virtuelle Festplatte an einen SCSI-Controller anschließen, erfolgt während des Bootvorgangs des Gastbetriebssystems für diese VM eine Anzeige des BSOD (Blue Screen of Death in Windows). Nach dem Booten von der IDE- oder SATA-Festplatte installiert Windows Treiber für die virtuelle Hardware der Proxmox-VM. Anschließend können wir die virtuelle Festplatte so konfigurieren, dass sie den SCSI-Festplattencontroller verwendet.
- Fügen Sie die neue temporäre 1-GB-SCSI-Festplatte hinzu, die kürzlich erstellt wurde. Das Erstellen einer temporären Festplatte, die an einen SCSI-Controller angeschlossen ist, ist erforderlich, um die erforderlichen Treiber für die Arbeit mit SCSI-Controllern zu installieren. Wählen Sie die VM aus, die während der Migration von Hyper-V zu Proxmox erstellt wurde ( Win10-migriert ), gehen Sie zum Abschnitt Hardware , klicken Sie auf Hinzufügen und wählen Sie Festplatte .
- Wählen Sie die Parameter für die virtuelle Festplatte wie zuvor beschrieben aus, diesmal jedoch mit dem SCSI-Bus/Gerät.
- Bearbeiten Sie die Boot-Reihenfolge. Wählen Sie Ihre VM aus, gehen Sie zu Optionen > Startreihenfolge . Doppelklicken Sie auf Startreihenfolge oder wählen Sie Startreihenfolge und klicken Sie auf Bearbeiten .
- Aktivieren Sie das entsprechende Kontrollkästchen, um die virtuelle Festplatte zu aktivieren, die konvertiert, importiert und an diese VM angehängt wurde. Standardmäßig ist die neue Festplatte in der Boot-Reihenfolge nicht ausgewählt.
- Verschieben Sie die importierte und aktivierte Festplatte an den Anfang der Boot-Liste.
- Schalten Sie die VM ein und verbinden Sie sich mit der VM-Konsole. Wählen Sie die VM aus, die für die Migration von Hyper-V zu Proxmox erstellt wurde, klicken Sie auf Start und dann auf Konsole . Das Gastbetriebssystem sollte nun gebootet werden.
- Überprüfen Sie die Hardware im Geräte-Manager des Windows-Gastbetriebssystems. Klicken Sie mit der rechten Maustaste auf das Symbol Arbeitsplatz oder Dieser PC , klicken Sie auf Verwalten und wählen Sie Geräte-Manager . Alternativ können Sie das Snap-In
devmgmt.mscüber die Befehlszeile ausführen.Sie sollten zwei Festplattenlaufwerke sehen: die konvertierte/importierte virtuelle Festplatte (in unserem Fall eine 20-GB-Festplatte mit Thin Provisioning, die an den IDE-Controller angeschlossen ist) und die temporäre 1-GB-SCSI-Festplatte.
Sie sollten einen Standard-SATA/AHCI-Controller und einen VirtIO-SCSI-Controller sehen. Sobald der SCSI-Controller nach dem Booten von Windows von der IDE- oder SATA-Festplatte auf der VM installiert ist, werden die Treiber für die Verwendung des SCSI-Controllers installiert. Mit diesen Treibern können wir das Betriebssystem von der an den SCSI-Controller angeschlossenen Festplatte booten. Sie können die VM neu starten, um sicherzustellen, dass alles ordnungsgemäß arbeitet.
- Fahren Sie die nach Proxmox migrierte VM herunter.
- Freigeben Sie die mit dem IDE-Controller verbundene virtuelle Festplatte. Wählen Sie die virtuelle Festplatte im Abschnitt Hardware Ihrer migrierten VM aus und klicken Sie auf Freigeben . In unserem Beispiel ist dies nun Festplatte (ide0) (20 GB).
- Doppelklicken Sie auf diese Festplatte (unsere 20-GB-Festplatte ist jetzt eine ungenutzte Festplatte – Unused Disk 0 ), um sie anzuschließen.
- Hängen Sie diese virtuelle Festplatte an den SCSI-Controller (Bus/Gerät) an und klicken Sie auf Hinzufügen .
- Unsere 20-GB-virtuelle Festplatte arbeitet jetzt Festplatte (scsi1) . Wir behalten weiterhin die temporäre 1-GB-SCSI-Festplatte in dieser VM bei.
- Bearbeiten Sie die Boot-Reihenfolge der VM. Gehen Sie zu VM Optionen und doppelklicken Sie wie zuvor beschrieben auf Boot-Reihenfolge .
- Wählen Sie die virtuelle Festplatte mit Windows 10 aus, die kürzlich an den SCSI-Controller angeschlossen wurde (in diesem Fall Win10-converted.qcow2 ).
- Bearbeiten Sie die Boot-Reihenfolge – verschieben Sie diese importierte Festplatte (aus Hyper-V mit Windows 10) an den Anfang der Liste.
- Starten Sie die VM. Das Windows 10-Gastbetriebssystem sollte nun von der virtuellen SCSI-Festplatte booten.
- Sobald das Gastbetriebssystem gebootet ist, öffnen Sie den Geräte-Manager und überprüfen Sie die Festplatten und Speicher-Controller. Nun sehen wir zwei SCSI-Festplatten und zwei SCSI-Controller (siehe Screenshot unten). In diesem Fall ist jede SCSI-Festplatte an einen eigenen SCSI-Controller angeschlossen. Die im Geräte-Manager angezeigte Konfiguration ist für uns zu diesem Zeitpunkt korrekt.
- Wenn alles einwandfrei funktioniert, fahren Sie die VM herunter.
- Starten Sie die VM erneut. Wenn das Gastbetriebssystem korrekt gebootet wird und alles ordnungsgemäß funktioniert, können Sie die temporäre 1-GB-SCSI-Virtuelle Festplatte von der Proxmox-VM freigeben und löschen ( rm /var/lib/vz/images/101/vm-101-disk1.qcow2 ) und die vom Quell-Hyper-V-Host kopierte virtuelle VHDX-Festplatte löschen ( rm/home/user1/Downloads/Win10-test.vhdx ).
Sicherstellung des Schutzes von VMs nach der Migration mit NAKIVO
Nach dem Fertigstellen der Migration von Hyper-V zu Proxmox, vergessen Sie nicht, Ihre virtuellen Maschinen in der Proxmox-Umgebung mit einer dedizierten Backup-Lösung zu schützen. Wenn Ihre Hyper-V-Quell-VMs vor der Migration geschützt waren, werden die konvertierten VMs in Proxmox VE nicht automatisch geschützt. NAKIVO Backup & Replication unterstützt den Schutz von VMs in virtuellen Umgebungen von Hyper-V, Proxmox, VMware vSphere und Nutanix. Die NAKIVO-Lösung unterstützt agentenlose Backups für Proxmox VMs. Die Konfiguration ist ganz einfach: Fügen Sie einfach Proxmox-Hosts oder -Cluster zum Inventar hinzu und erstellen Sie Backupaufträge. Sie können vollständige VMs wiederherstellen oder eine granulare Wiederherstellung durchführen, um einzelne Dateien oder Objekte schnell wiederherzustellen. Die Datenwiederherstellung ist an den Speicherort der Quelle oder an benutzerdefinierte Standorte möglich. Sie können auch einen Backup-Export für Virtuelle Maschinen durchführen und diese in einer anderen Virtualisierungsplattform wiederherstellen. NAKIVO Backup & Replication unterstützt:
- Inkrementelle Backups . Reduzieren Sie den Speicherplatzbedarf, indem Sie nur die seit dem letzten Backup geänderten Daten kopieren. Die Konfiguration inkrementeller Backups mit regelmäßigen vollständigen Backups erhöht die Zuverlässigkeit einer Backup-Kette.
- Application-Aware Backups . Stellen Sie sicher, dass die Backup-Daten absturzsicher und anwendungskonsistent sind. Sichern Sie VMs auch dann, wenn Anwendungen ausgeführt werden, und stellen Sie Daten bei Bedarf ordnungsgemäß wieder her.
- Sicherung verschlüsseln . Die Sicherung verschlüsseln Sie während der Übertragung und im Ruhezustand, um . Konfigurieren Sie die Verschlüsselung auf Quellseite, im Netzwerk und im Backup-Repository entsprechend Ihren Anforderungen.
- Unveränderlichkeit von Backups . Die Sicherung verschlüsseln Sie während der Übertragung und im Ruhezustand, um . Konfigurieren Sie die Verschlüsselung auf Quellseite, im Netzwerk und im Backup-Repository entsprechend Ihren Anforderungen.
- Unveränderlichkeit von Backups . Die Sicherung verschlüsseln Sie während der Übertragung und im Ruhezustand, um . Konfigurieren Sie die Verschlüsselung auf Quellseite, im Netzwerk und im Backup-Repository entsprechend Ihren Anforderungen.
- Unveränderlichkeit von Backups . Die Sicherung verschlüsseln Sie während der Übertragung und im Ruhe Schützen Sie Backups vor Ransomware, indem Sie Unveränderlichkeit nutzen. Diese Daten können von Ransomware nicht verändert, manipuliert oder gelöscht werden.
- Mehrere Backup-Standorte . Implementieren Sie eine flexible Backup-Richtlinie und befolgen Sie die 3-2-1-Backup-Regel . Die NAKIVO-Lösung unterstützt die Speicherung von Backups auf lokalen Festplatten, NAS-Geräten, SMB- und NFS-Freigaben, Bandlaufwerken und in der Cloud, einschließlich Azure Blob, AWS S3 und anderen S3-kompatiblen Objektspeichern.
Fazit
Um eine Hyper-V-VM nach Proxmox zu migrieren, müssen Sie die Quelle-VM von VirtIO-Treibern vorbereiten, eine neue Proxmox-VM erstellen, die exportierte virtuelle Festplatte konvertieren und die konvertierte Festplatte in die Proxmox-VM importieren. Virtuelle SCSI-Festplatten bieten eine höhere Leistung, erfordern jedoch zusätzliche Konfigurationen, damit sie ordnungsgemäß funktionieren. Sie müssen außerdem von der virtuellen Festplatte booten, die mit dem IDE- oder SATA-Controller für virtuelle Festplatten verbunden ist, eine temporäre SCSI-Festplatte hinzufügen, um Treiber zu installieren, und dann können Sie die Boot-Festplatte an den SCSI-Controller anschließen. Vergessen Sie nicht, Ihre Daten mit einer fortschrittlichen Backup-Lösung wie NAKIVO Backup & Replication zu schützen.