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
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
Ein VMware Cloud on AWS AWS-Konto mit SDDC
Ein vorhandenes lokales oder cloudbasiertes vCenter oder SDDC
Ein Benutzerkonto mit den erforderlichen Berechtigungen für Quell- und Ziel-vCenter oder SDDCs
HCX Site Pairing
mit HCX Network Extension (HCX-NE) , konfiguriert zwischen Quell- und Ziel-vCenters oder SDDCs
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](images/pattern-img/744c7937-c625-40d8-a858-e8fdcc2f6600/images/c4ffe8b3-d905-4bd6-8538-ecd57d01b8a7.png)
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
Aufgabe | Beschreibung | Erforderliche 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:
| Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Ermitteln Sie die Migrationsoptionen. | Ermitteln Sie Folgendes:
Weitere Informationen zu den einzelnen Optionen finden Sie in der VMware-Entwicklerdokumentation | Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche 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 | Cloud-Architekt |
Legen Sie Skriptvariablen fest. | Legen Sie alle Variablen im | Cloud-Architekt |
Legen Sie Migrationsvariablen fest. | Legen Sie alle | Cloud-Architekt |
Geben Sie Websites an. | (Optional) Wenn die Quelle oder das Ziel mehrere Sites hat, geben Sie die Sites manuell im 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 |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie die CSV-Datei und füllen Sie sie aus. | Erstellen Sie eine CSV-Datei namens
Ersetzen Sie jede Datei 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:
| 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
Problem | Lö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
Migration von Workloads zu VMware Cloud on AWS mit Hybrid Cloud Extension (HCX) (AWS-Blogbeitrag)
Auswahl eines Migrationsansatzes für die Verlagerung Ihrer VMware-Anwendungen und -Workloads in die AWS-Cloud (AWS Prescriptive Guidance)
Migrieren Sie VMware SDDC mithilfe von VMware HCX zu VMware Cloud on AWS (AWS Prescriptive Guidance)