Migrieren Sie VMware-VMs mit HCX Automation mithilfe von PowerCLI - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Migrieren Sie VMware-VMs mit HCX Automation mithilfe von PowerCLI

Erstellt von Giri Nadiminty (AWS), Hassan Adekoya (AWS) und Naveen Deshwal

Umgebung: Produktion

Quelle: VMware vCenter oder SDDC vor Ort oder in der Cloud

Ziel: VMware Cloud on AWS

R-Typ: Rehost

Arbeitslast: Alle anderen Workloads

Technologien: Migration; Hybrid-Cloud

AWS-Services: VMware Cloud auf AWS

Übersicht

Hinweis: Seit dem 30. April 2024 AWS wird VMware Cloud on nicht mehr von AWS oder seinen Channel-Partnern weiterverkauft. Der Service wird weiterhin über Broadcom verfügbar sein. Wir empfehlen Ihnen, sich für weitere Informationen an Ihren AWS Vertreter zu wenden.

Dieses Muster beschreibt, wie lokale virtuelle Maschinen (VMs) von VMware zu VMware Cloud on AWS mithilfe von VMware Hybrid Cloud Extension (HCX) Automation auf Basis von VMware PowerCLI-Skripts migriert werden. PowerCLI ist ein Befehlszeilentool, das auf Windows basiert. PowerShell Es unterstützt Sie bei der Verwaltung von VMware-Software und automatisiert Infrastruktur- und Migrationsaufgaben.

Sie können dieses Muster für die Migration zwischen einer beliebigen Kombination von vCentern, softwaredefinierten Rechenzentren (SDDCs) und Cloud-Umgebungen anpassen. Die in diesem Muster enthaltenen PowerCLI-Skripts verwenden Automatisierung anstelle von Mausklicks für alle VM-Konfigurations- und Planungsaufgaben, sodass sie Zeit bei Migrationsaktivitäten sparen und das Risiko menschlicher Fehler verringern.

Voraussetzungen und Einschränkungen

Voraussetzungen

Einschränkungen

  • Wenn das Quell-vCenter Cross-vCenter NSX verwendet, funktioniert das PowerCLI-Modul nicht. Verwenden Sie eine Skriptmethode (wie Python) mit der HCX-API anstelle von PowerCLI.

  • Wenn die migrierten VMs neue Namen oder IP-Adressen benötigen, verwenden Sie eine Skriptmethode (wie Python) mit der HCX-API.

  • Dieses Muster füllt die CSV-Datei nicht auf, was erforderlich ist. Sie können die Datei mithilfe von VMware vRealize Network Insight (vRNI) oder einer anderen Methode auffüllen.

Produktversionen

  • VMware vSphere Version 5 oder höher

  • VMware HCX Version 4.4 oder höher

  • VMware PowerCLI Version 12.7 oder höher

Architektur

Quelltechnologie-Stack

  • VMware vor Ort oder in der Cloud

Zieltechnologie-Stack

  • VMware Cloud in AWS

Zielarchitektur

Migration von VMs zu AWS mit HCX Automation und PowerCLI

Tools

AWS-Services

  • VMware Cloud on AWS ist ein Service, der gemeinsam von AWS und VMware entwickelt wurde, um Sie bei der Migration und Erweiterung Ihrer lokalen VMware vSphere-basierten Umgebungen in die AWS-Cloud zu unterstützen.

Andere Tools

  • VMware Hybrid Cloud Extension (HCX) ist ein Hilfsprogramm für die Migration von Workloads aus Ihrer lokalen VMware-Umgebung zu VMware Cloud on AWS, ohne die zugrunde liegende Plattform zu ändern. Hinweis: Dieses Produkt war früher als Hybrid Cloud Extension und NSX Hybrid Connect bekannt. Dieses Muster verwendet HCX für die VM-Migration.

  • VMware PowerCLI ist ein Befehlszeilentool zur Automatisierung des VMware vSphere- und vCloud-Managements. Sie führen PowerCLI-Befehle in Windows mithilfe von Cmdlets aus. PowerShell PowerShell Dieses Muster verwendet PowerCLI, um Migrationsbefehle auszuführen.

Code

Einfaches, eigenständiges Skript

Es wird empfohlen, dieses Skript für einen einzelnen Computer für erste Tests zu verwenden, um sicherzustellen, dass die Konfigurationsoptionen akzeptiert werden und sich erwartungsgemäß verhalten. Anweisungen finden Sie im Abschnitt Epics.

<# Manual Variables #> $HcxServer = "[enterValue]" $SrcNetworkName = "[enterValue]" $DstNetworkName = "[enterValue]" $DstComputeName = "[enterValue]" $DstDSName = "[enterValue]" $DstFolderName = "[enterValue]" $vmName = "[enterValue]" <# Environment Setup #> Connect-HCXServer -Server $HcxServer $HcxDstSite = Get-HCXSite -Destination $HcxSrcSite = Get-HCXSite -Source $SrcNetwork = Get-HCXNetwork -Name $SrcNetworkName -Type VirtualWire -Site $HcxSrcSite $DstNetwork = Get-HCXNetwork -Name $DstNetworkName -Type NsxtSegment -Site $HcxDstSite $DstCompute = Get-HCXContainer -Name $DstComputeName -Site $HcxDstSite $DstDS = Get-HCXDatastore -Name $DstDSName -Site $HcxDstSite $DstFolder = Get-HCXContainer -name $DstFolderName -Site $HcxDstSite $vm = Get-HCXVM -Name $vmName <# Migration #> $NetworkMapping = New-HCXNetworkMapping -SourceNetwork $SrcNetwork -DestinationNetwork $DstNetwork $NewMigration = New-HCXMigration -VM $vm -MigrationType vMotion -SourceSite $HcxSrcSite -DestinationSite $HcxDstSite -Folder $DstFolder -TargetComputeContainer $DstCompute -TargetDatastore $DstDS -NetworkMapping $NetworkMapping -DiskProvisionType Thin -UpgradeVMTools $True -RemoveISOs $True -ForcePowerOffVm $True -RetainMac $True -UpgradeHardware $True -RemoveSnapshots $True

.csv-basiertes Skript mit vollem Funktionsumfang

Nach Abschluss der Tests können Sie das folgende Skript in Ihren Produktionsumgebungen verwenden. Anweisungen finden Sie im Abschnitt Epics.

<# Schedule #> write-host("Getting Time for Scheduling") $startTime = [DateTime]::Now.AddDays(12) $endTime = [DateTime]::Now.AddDays(15) <# Migration #> Connect-HCXServer -Server [enterValue] write-host("Getting Source Site") $HcxSrcSite = Get-HCXSite write-host("Getting Target Site") $HcxDstSite = Get-HCXSite -Destination $HCXVMS = Import-CSV .\Import_VM_list.csv ForEach ($HCXVM in $HCXVMS) { $DstFolder = Get-HCXContainer $HCXVM.DESTINATION_VM_FOLDER -Site $HcxDstSite $DstCompute = Get-HCXContainer $HCXVM.DESTINATION_COMPUTE -Site $HcxDstSite $DstDatastore = Get-HCXDatastore $HCXVM.DESTINATION_DATASTORE -Site $HcxDstSite $SrcNetwork = Get-HCXNetwork $HCXVM.SOURCE_NETWORK -Type VirtualWire -Site $HcxSrcSite $DstNetwork = Get-HCXNetwork $HCXVM.DESTINATION_NETWORK -Type NsxtSegment -Site $HcxDstSite $NetworkMapping = New-HCXNetworkMapping -SourceNetwork $SrcNetwork -DestinationNetwork $DstNetwork $NewMigration = New-HCXMigration -VM (Get-HCXVM $HCXVM.VM_NAME) -MigrationType Bulk -SourceSite $HcxSrcSite -DestinationSite $HcxDstSite -Folder $DstFolder -TargetComputeContainer $DstCompute -TargetDatastore $DstDatastore -NetworkMapping $NetworkMapping -DiskProvisionType Thin -UpgradeVMTools $True -RemoveISOs $True -ForcePowerOffVm $True -RetainMac $True -UpgradeHardware $True -RemoveSnapshots $True -ScheduleStartTime $startTime -ScheduleEndTime $endTime Start-HCXMigration -Migration $NewMigration -Confirm:$false }

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Suchen Sie die Quell- und Ziel-vCenter- und SDDC-Servernamen.

PowerCLI-Skripts benötigen die in diesem Epos beschriebenen Variablen. Sie können diese Informationen im Voraus sammeln, um die Verwendung des Skripts zu vereinfachen.

Wählen Sie im Abschnitt HCX der vSphere-Konsole Infrastructure, Site Pairing aus. Notieren Sie sich die angezeigten Quell- und Zielservernamen.

Cloud-Architekt

Suchen Sie die HCX-Quell- und Zielnamen.

Wählen Sie im HCX-Bereich der vSphere-Konsole System, Administration aus. Notieren Sie sich die angezeigten Quell- und Ziel-HCX-Namen.

Cloud-Architekt

Finden Sie die Namen des Quell- und Zielnetzwerks.

Wählen Sie im HCX-Bereich der vSphere-Konsole System, Network Extension aus. Notieren Sie sich die Namen des Quell- und Zielnetzwerks.

Hinweis: Alternativ können Sie die Quell- und Zielnetzwerknamen mithilfe der PowerCLI-Befehle Get-HCXNetwork und Get-HCXNetwork-Destination abrufen, nachdem Sie eine Verbindung zum HCX-Server hergestellt haben.

Cloud-Architekt

Sammeln Sie zusätzliche Informationen in der vSphere-Konsole.

Sammeln Sie auf der vSphere-Konsole die folgenden Informationen:

  • Namen der VMs, die Sie migrieren möchten

  • Ziel-Computerumgebung (Cluster/Host)

  • Zieldatenspeicher

  • Name des Ordners der Ziel-VM

Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Ermitteln Sie die Migrationsoptionen.

Ermitteln Sie Folgendes:

  • MigrationType— Die HCX-unterstützten Migrationstypen sind vMotion, Bulk, Cold und RAV. Ihre Wahl hängt von Ihren Ausfallanforderungen, der Netzwerkbandbreite, dem Migrationszeitraum und der Art der Arbeitslast ab. Weitere Informationen finden Sie im AWS-Blogbeitrag Migrieren von Workloads zu VMware Cloud on AWS with Hybrid Cloud Extension (HCX).

  • DiskProvisionType (Thin, Thick)

  • UpgradeVMTools ($True, $False)

  • RemoveISOs ($True, $False)

  • ForcePowerOffVm ($True, $False)

  • RetainMac ($True, $False)

  • UpgradeHardware ($True, $False)

  • RemoveSnapshots ($True, $False)

Weitere Informationen zu den einzelnen Optionen finden Sie in der VMware-Entwicklerdokumentation.

Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Kopieren Sie das Skript.

Die einfache Version des Skripts ist eigenständig in einer einzigen Datei enthalten. Sie können es verwenden, um die Migration einer einzelnen Maschine zu testen.

Kopieren Sie das erste Skript aus dem Codeabschnitt dieses Musters und speichern Sie es auf dem Computer, auf dem das VMware PowerCLI-Modul installiert ist. (Folgen Sie den Anweisungen in der VMware-Dokumentation, um PowerCLI zu installieren.)

Cloud-Architekt

Legen Sie Skriptvariablen fest.

Legen Sie alle Variablen im Manual Variables Abschnitt des Skripts fest.

Cloud-Architekt

Legen Sie Migrationsvariablen fest.

Legen Sie alle New-HCXMigration Einstellungen im Migration Abschnitt des Skripts fest.

Cloud-Architekt

Geben Sie Websites an.

(Optional) Wenn die Quelle oder das Ziel mehrere Sites hat, geben Sie die Sites manuell im Environment Setup Abschnitt des Skripts an.

Wenn die Quelle und das Ziel einzelne Websites haben, sucht das Skript automatisch nach den Informationen.

Cloud-Architekt

Führen Sie das Skript aus.

Führen Sie auf dem Server, auf dem PowerCLI installiert ist, in einem PowerShell Fenster mit erhöhten Rechten das Skript aus und geben Sie Ihre Anmeldeinformationen ein, wenn Sie dazu aufgefordert werden.

Cloud-Architekt

Validieren Sie das Skript.

Vergewissern Sie sich, dass die VM-Migration initiiert wurde.

Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie die CSV-Datei und füllen Sie sie aus.

Erstellen Sie eine CSV-Datei namens Import_VM_list.csv auf Ihrem Computer und füllen Sie sie mit dem folgenden Beispielinhalt:

VM_NAME,DESTINATION_VM_FOLDER,DESTINATION_COMPUTE,DESTINATION_DATASTORE,SOURCE_NETWORK,DESTINATION_NETWORK [enterValue],[enterValue],[enterValue],[enterValue],[enterValue],[enterValue]

Ersetzen Sie jede Datei [enterValue] in der CSV-Datei durch die Informationen, die Sie zuvor gesammelt haben.

Hinweis: Sie können die .csv-Datei mithilfe von VMware vRealize Network Insight (vRNI) oder einer anderen Methode auffüllen.

Cloud-Architekt

Kopieren Sie das Skript.

Die Version des Skripts mit vollem Funktionsumfang verwendet Informationen aus einer externen CSV-Datei, um mehrere VMs automatisch zu migrieren.

Kopieren Sie das zweite Skript aus dem Codeabschnitt dieses Musters und speichern Sie es auf dem Computer, auf dem das VMware PowerCLI-Modul installiert ist, im selben Ordner wie die CSV-Datei.

Cloud-Architekt

Ändern Sie das Skript.

Bearbeiten Sie das Skript, um die folgenden Änderungen vorzunehmen:

  • Zeile 7: Stellen Sie die HCX-Servervariable (Connect-HCXServer) ein.

  • Zeile 12: (Optional) Wenn Sie den CSV-Dateinamen anders festlegen, aktualisieren Sie ihn.

  • Zeilen 3-4: (Optional) Stellen Sie den Zeitplan ein.

  • Zeile 20: (Optional) Geben Sie die New-HCXMigration Einstellungen im Migration Abschnitt an.

  • Zeilen 9 und 11: (Optional) Wenn die Quelle oder das Ziel mehrere Standorte umfasst, geben Sie die gewünschten Standorte manuell an.

Cloud-Architekt

Führen Sie das Skript aus.

Führen Sie auf dem Server, auf dem PowerCLI installiert ist, in einem PowerShell Fenster mit erhöhten Rechten das Skript aus und geben Sie Ihre Anmeldeinformationen ein, wenn Sie dazu aufgefordert werden.

Cloud-Architekt

Validieren Sie das Skript.

Vergewissern Sie sich, dass die VM-Migration initiiert wurde.

Cloud-Architekt

Fehlerbehebung

ProblemLösung

Das Skript schlägt mit der folgenden Fehlermeldung fehl:

„Alle Quellnetzwerke sind nicht dem Ziel zugeordnet!“

Wenn das Quell-vCenter Cross-vCenter NSX verwendet, funktioniert das PowerCLI-Modul nicht. Verwenden Sie eine Skriptmethode (wie Python) mit der HCX-API anstelle von PowerCLI. Dies ist eine bekannte Einschränkung des PowerCLI-Skripts.

Das Skript schlägt mit der folgenden Fehlermeldung fehl: 

„Connect-HCXServer-Fehler: Nicht autorisiert“

Die von Ihnen eingegebenen Anmeldeinformationen bieten nicht die erforderlichen Berechtigungen.

Zugehörige Ressourcen