Freigeben über


Migrieren virtueller VMware-Computer zu Azure (ohne Agent): PowerShell

In diesem Artikel erfahren Sie, wie Sie ermittelte VMware-VMs ohne Agent migrieren und dabei Azure PowerShell für Migration und Modernisierung nutzen.

Folgendes wird vermittelt:

  • Abrufen ermittelter virtueller VMware-Computer in einem Azure Migrate-Projekt
  • Beginnen mit der Replikation von VMs
  • Aktualisieren von Eigenschaften für die Replikation virtueller Computer
  • Überwachen der Replikation
  • Führen Sie eine Testmigration aus, um sicherzustellen, dass alles wie erwartet funktioniert.
  • Durchführen einer vollständigen VM-Migration

Hinweis

In den Tutorials wird der einfachste Bereitstellungspfad für ein Szenario erläutert, damit Sie schnell einen Proof of Concept einrichten können. In den Tutorials werden nach Möglichkeit Standardoptionen verwendet und nicht alle möglichen Einstellungen und Pfade gezeigt.

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Voraussetzungen

Bevor Sie mit diesem Tutorial beginnen, sollten folgende Voraussetzungen erfüllt sein:

Installieren des Azure Migrate-PowerShell-Moduls

Das PowerShell-Modul für Azure Migrate ist als Teil von Azure PowerShell (Az) verfügbar. Führen Sie den Get-InstalledModule -Name Az.Migrate-Befehl aus, um zu überprüfen, ob das PowerShell-Modul für Azure Migrate auf Ihrem Computer installiert ist.

Melden Sie sich bei Ihrem Azure-Abonnement an.

Melden Sie sich mithilfe des Cmdlets Connect-AzAccount bei Ihrem Azure-Abonnement an.

Connect-AzAccount

Auswählen des Azure-Abonnements

Rufen Sie mithilfe des Cmdlets Get-AzSubscription die Liste der Azure-Abonnements ab, auf die Sie Zugriff haben. Wählen Sie mithilfe des Cmdlets Set-AzContext das Azure-Abonnement aus, das das zu verwendende Azure Migrate-Projekt enthält.

Set-AzContext -SubscriptionId aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e

Abrufen des Azure Migrate-Projekts

Ein Azure Migrate-Projekt wird zum Speichern von Ermittlungs-, Bewertungs- und Migrationsmetadaten verwendet, die in der von Ihnen bewerteten oder migrierten Umgebung gesammelt werden. In einem Projekt können Sie ermittelte Ressourcen nachverfolgen, Bewertungen orchestrieren und Migrationen durchführen.

Im Rahmen der Vorbereitung haben Sie bereits ein Azure Migrate-Projekt erstellt. Verwenden Sie das Cmdlet Get-AzMigrateProject, um Details zu einem Azure Migrate-Projekt abzurufen. Sie müssen den Namen des Azure Migrate-Projekts (Name) und den Namen der Ressourcengruppe des Azure Migrate-Projekts (ResourceGroupName) angeben.

# Get resource group of the Azure Migrate project
$ResourceGroup = Get-AzResourceGroup -Name MyResourceGroup
# Get details of the Azure Migrate project
$MigrateProject = Get-AzMigrateProject -Name MyMigrateProject -ResourceGroupName $ResourceGroup.ResourceGroupName
# View Azure Migrate project details
Write-Output $MigrateProject

Abrufen ermittelter virtueller Computer in einem Azure Migrate-Projekt

Von Microsoft Azure Migration und Modernisierung wird eine einfache Azure Migrate-Appliance verwendet. Die Azure Migrate-Appliance wurde im Rahmen der Vorbereitung als virtueller VMware-Computer bereitgestellt.

Geben Sie zum Abrufen eines bestimmten virtuellen VMware-Computers in einem Azure Migrate-Projekt den Namen des Azure Migrate-Projekts (ProjectName), die Ressourcengruppe des Azure Migrate-Projekts (ResourceGroupName) und den Namen des virtuellen Computers (DisplayName) an.

# Get a specific VMware VM in an Azure Migrate project
$DiscoveredServer = Get-AzMigrateDiscoveredServer -ProjectName $MigrateProject.Name -ResourceGroupName $ResourceGroup.ResourceGroupName -DisplayName MyTestVM | Format-Table DisplayName, Name, Type

# View discovered server details
Write-Output $DiscoveredServer

Dieser virtuelle Computer wird im Rahmen dieses Tutorials migriert.

Mithilfe der Parameter ProjectName und ResourceGroupName können Sie auch alle virtuellen VMware-Computer in einem Azure Migrate-Projekt abrufen.

# Get all VMware VMs in an Azure Migrate project
$DiscoveredServers = Get-AzMigrateDiscoveredServer -ProjectName $MigrateProject.Name -ResourceGroupName $ResourceGroup.ResourceGroupName

Wenn ein Azure Migrate-Projekt mehrere Appliances enthält, können Sie die Parameter ProjectName, ResourceGroupName und ApplianceName verwenden, um alle ermittelten VMs unter Verwendung einer bestimmten Azure Migrate-Appliance abzurufen.

# Get all VMware VMs discovered by an Azure Migrate Appliance in an Azure Migrate project
$DiscoveredServers = Get-AzMigrateDiscoveredServer -ProjectName $MigrateProject.Name -ResourceGroupName $ResourceGroup.ResourceGroupName -ApplianceName MyMigrateAppliance

Initialisieren der Replikationsinfrastruktur

Das Tool für Migration und Modernisierung nutzt verschiedene Azure-Ressourcen für die Migration von VMs. Hierbei werden die nachfolgend aufgeführten Ressourcen in derselben Ressourcengruppe bereitgestellt, in der sich auch das Projekt befindet.

  • Service Bus: Das Migrations- und Modernisierungstool verwendet den Service Bus, um Nachrichten zur Replikationsorchestrierung an die Appliance zu senden.
  • Gatewayspeicherkonto: Das Gatewayspeicherkonto wird vom Migrations- und Modernisierungstool verwendet, um Statusinformationen zu den replizierten VMs zu speichern.
  • Protokollspeicherkonto: Die Azure Migrate-Appliance lädt Replikationsprotokolle für VMs in ein Protokollspeicherkonto hoch. Azure Migrate wendet die Replikationsinformationen auf die verwalteten Replikatdatenträger an.
  • Schlüsseltresor: Die Microsoft Azure Migration und Modernisierung-Appliance verwendet den Schlüsseltresor, um Verbindungszeichenfolgen für den Service Bus zu verwalten, und Zugriffsschlüssel werden für die Speicherkonten genutzt, die bei der Replikation eingesetzt werden.

Führen Sie vor dem Replizieren der ersten VM im Azure Migrate-Projekt den folgenden Befehl aus, um die Replikationsinfrastruktur bereitzustellen. Durch diesen Befehl werden die oben genannten Ressourcen bereitgestellt und konfiguriert, damit Sie mit der Migration Ihrer VMware-VMs beginnen können.

Hinweis

Pro Azure Migrate-Projekt werden nur Migrationen in eine einzelne Azure-Region unterstützt. Nachdem Sie dieses Skript ausgeführt haben, kann die Zielregion für die Migration Ihrer virtuellen VMware-Computer nicht mehr geändert werden. Wenn Sie in Ihrem Azure Migrate-Projekt eine neue Appliance konfigurieren, müssen Sie den Befehl Initialize-AzMigrateReplicationInfrastructure ausführen.

Im Artikel wird die Replikationsinfrastruktur initialisiert, um die Migration der virtuellen Computer in die Region Central US zu ermöglichen.

# Initialize replication infrastructure for the current Migrate project
Initialize-AzMigrateReplicationInfrastructure -ResourceGroupName $ResourceGroup.ResourceGroupName -ProjectName $MigrateProject. Name -Scenario agentlessVMware -TargetRegion "CentralUS" 

Replizieren von VMs

Nach Abschluss der Ermittlung und der Initialisierung der Replikationsinfrastruktur können Sie mit der Replikation virtueller VMware-Computer in Azure beginnen. Sie können bis zu 500 Replizierungen gleichzeitig ausführen.

Verwenden Sie die folgende Tabelle, um die Replikationseigenschaften anzugeben.

Parameter Typ Beschreibung
Zielabonnement und -ressourcengruppe Obligatorisch. Geben Sie mithilfe des Parameters TargetResourceGroupId das Abonnement und die Ressourcengruppe an, zu dem bzw. der virtuelle Computer migriert werden soll.
Virtuelles Zielnetzwerk und -subnetz Obligatorisch. Geben Sie mithilfe der Parameter TargetNetworkId und TargetSubnetName die ID der Azure Virtual Network-Instanz und den Namen des Subnetzes ein, zu der bzw. zu dem der virtuelle Computer migriert werden soll.
Computer-ID Obligatorisch. Geben Sie die ID des ermittelten Computers an, der repliziert und migriert werden muss. Geben Sie mithilfe von InputObject das ermittelte VM-Objekt für die Replikation an.
Name des virtuellen Zielcomputers Obligatorisch. Geben Sie mithilfe des Parameters TargetVMName den Namen des zu erstellenden virtuellen Azure-Computers an.
Größe der Ziel-VM Obligatorisch. Geben Sie mithilfe des Parameters TargetVMSize die Größe des virtuellen Azure-Computers an, der für den replizierenden virtuellen Computer verwendet werden soll. Wenn Sie also beispielsweise eine VM zu „D2_v2“ in Azure migrieren möchten, geben Sie für TargetVMSize den Wert Standard_D2_v2 an.
Lizenz Obligatorisch. Wenn Sie den Azure-Hybridvorteil für Ihre Windows Server-Computer nutzen möchten, die durch aktive Software Assurance- oder Windows Server-Abonnements abgedeckt sind, geben Sie für den Parameter LicenseType den Wert WindowsServer an. Geben Sie andernfalls den Wert NoLicenseType an.
Betriebssystem-Datenträger Obligatorisch. Geben Sie den eindeutigen Bezeichner des Datenträgers an, auf dem sich der Bootloader und das Installationsprogramm des Betriebssystems befinden. Die zu verwendende Datenträger-ID ist die UUID-Eigenschaft (Unique Identifier, eindeutiger Bezeichner) für den Datenträger, die mithilfe des Cmdlets Get-AzMigrateDiscoveredServer abgerufen wurde.
Datenträgertyp Obligatorisch. Geben Sie den zu verwendenden Datenträgertyp an.
Redundanz bei der Infrastruktur Optional Geben Sie die Option für die Infrastrukturredundanz wie folgt an:

- Verfügbarkeitszone: Heftet den migrierten Computer an eine bestimmte Verfügbarkeitszone in der Region an. Verteilen Sie mit dieser Option Server, die eine Anwendungsebene mit mehreren Knoten bilden, über Verfügbarkeitszonen. Diese Option ist nur verfügbar, wenn die für die Migration ausgewählte Zielregion Verfügbarkeitszonen unterstützt. Falls Sie Verfügbarkeitszonen verwenden möchten, geben Sie für den Parameter TargetAvailabilityZone den Wert der Verfügbarkeitszone an.
- Verfügbarkeitsgruppe: Platziert den migrierten Computer in einer Verfügbarkeitsgruppe. Um diese Option verwenden zu können, muss die ausgewählte Zielressourcengruppe über mindestens eine Verfügbarkeitsgruppe verfügen. Falls Sie eine Verfügbarkeitsgruppe verwenden möchten, geben Sie für den Parameter TargetAvailabilitySet die ID der Verfügbarkeitsgruppe an.
Speicherkonto für die Startdiagnose Optional Wenn Sie ein Startdiagnose-Speicherkonto verwenden möchten, geben Sie die ID für den Parameter TargetBootDiagnosticStorageAccount an.
- Das für Startdiagnosen verwendete Speicherkonto sollte sich in dem Abonnement befinden, in das Sie auch Ihre virtuellen Computer migrieren.
- Standardmäßig ist für diesen Parameter kein Wert festgelegt.
`Tags` Optional Fügen Sie Ihren migrierten VMs, Datenträgern und NICs Tags hinzu.
Verwenden Sie Tag, um VMs, Datenträgern und NICs Tags hinzuzufügen:
- Verwenden Sie VMTag, um Ihren migrierten VMs Tags hinzuzufügen.
- Verwenden Sie DiskTag, um Datenträgern Tags hinzuzufügen.
- Verwenden Sie NicTag, um Tags zu Netzwerkschnittstellen hinzuzufügen.
Fügen Sie beispielsweise die erforderlichen Tags einer Variablen $tags hinzu, und übergeben Sie die Variable im erforderlichen Parameter: $tags = @{Organization=”Contoso”}.

Replizieren von virtuellen Computern mit allen Datenträgern

In diesem Tutorial werden alle Datenträger des ermittelten virtuellen Computers repliziert, und es wird ein neuer Name für den virtuellen Computer in Azure angegeben. Der erste Datenträger des ermittelten Servers wird als Betriebssystemdatenträger festgelegt, und alle Datenträger werden als HDD Standard migriert. Der Betriebssystemdatenträger enthält den Bootloader und das Installationsprogramm des Betriebssystems. Das Cmdlet gibt einen Auftrag zurück, der zur Überwachung des Vorgangsstatus nachverfolgt werden kann.

# Retrieve the resource group that you want to migrate to
$TargetResourceGroup = Get-AzResourceGroup -Name MyTargetResourceGroup
# Retrieve the Azure virtual network and subnet that you want to migrate to
$TargetVirtualNetwork = Get-AzVirtualNetwork -Name MyVirtualNetwork
# Start replication for a discovered VM in an Azure Migrate project
$MigrateJob =  New-AzMigrateServerReplication -InputObject $DiscoveredServer -TargetResourceGroupId $TargetResourceGroup.ResourceId -TargetNetworkId $TargetVirtualNetwork.Id -LicenseType NoLicenseType -OSDiskID $DiscoveredServer.Disk[0].Uuid -TargetSubnetName $TargetVirtualNetwork.Subnets[0].Name -DiskType Standard_LRS -TargetVMName MyMigratedTestVM -TargetVMSize Standard_DS2_v2
# Track job status to check for completion
while (($MigrateJob.State -eq 'InProgress') -or ($MigrateJob.State -eq 'NotStarted')){
        #If the job hasn't completed, sleep for 10 seconds before checking the job status again
        sleep 10;
        $MigrateJob = Get-AzMigrateJob -InputObject $MigrateJob
}
#Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded".
Write-Output $MigrateJob.State

Replizieren von virtuellen Computern mit ausgewählten Datenträgern

Die Datenträger der ermittelten VM können auch selektiv repliziert werden. Verwenden Sie dazu das Cmdlet New-AzMigrateDiskMapping, und geben Sie es als Eingabe für den Parameter DiskToInclude im Cmdlet New-AzMigrateServerReplication an. Sie können auch das Cmdlet New-AzMigrateDiskMapping verwenden, um für die einzelnen zu replizierenden Datenträger jeweils andere Zieldatenträgertypen anzugeben.

Geben Sie Werte für die folgenden Parameter des Cmdlet New-AzMigrateDiskMapping an:

  • DiskId: Geben Sie den eindeutigen Bezeichner für den zu migrierenden Datenträger an. Die zu verwendende Datenträger-ID ist die UUID-Eigenschaft für den Datenträger, die mithilfe des Cmdlets Get-AzMigrateDiscoveredServer abgerufen wurde.
  • IsOSDisk: Geben Sie true an, wenn es sich bei dem zu migrierenden Datenträger um den Betriebssystemdatenträger des virtuellen Computers handelt. Geben Sie andernfalls false an.
  • DiskType: Geben Sie die Art des Datenträgers an, die in Azure verwendet werden soll.

Im folgenden Beispiel werden nur zwei Datenträger des ermittelten virtuellen Computers repliziert. Der Betriebssystemdatenträger wird angegeben, und es werden unterschiedliche Datenträgertypen für die zu replizierenden Datenträger verwendet. Das Cmdlet gibt einen Auftrag zurück, der zur Überwachung des Vorgangsstatus nachverfolgt werden kann.

# View disk details of the discovered server
Write-Output $DiscoveredServer.Disk
# Create a new disk mapping for the disks to be replicated
$DisksToReplicate = @()
$OSDisk = New-AzMigrateDiskMapping -DiskID $DiscoveredServer.Disk[0].Uuid -DiskType StandardSSD_LRS -IsOSDisk true
$DataDisk = New-AzMigrateDiskMapping -DiskID $DiscoveredServer.Disk[1].Uuid -DiskType Premium_LRS -IsOSDisk false

$DisksToReplicate += $OSDisk
$DisksToReplicate += $DataDisk
# Retrieve the resource group that you want to migrate to
$TargetResourceGroup = Get-AzResourceGroup -Name MyTargetResourceGroup
# Retrieve the Azure virtual network and subnet that you want to migrate to
$TargetVirtualNetwork = Get-AzVirtualNetwork -Name MyVirtualNetwork
# Start replication for the VM
$MigrateJob =  New-AzMigrateServerReplication -InputObject $DiscoveredServer -TargetResourceGroupId $TargetResourceGroup.ResourceId -TargetNetworkId $TargetVirtualNetwork.Id -LicenseType NoLicenseType -DiskToInclude $DisksToReplicate -TargetSubnetName $TargetVirtualNetwork.Subnets[0].Name -TargetVMName MyMigratedTestVM -TargetVMSize Standard_DS2_v2
# Track job status to check for completion
while (($MigrateJob.State -eq 'InProgress') -or ($MigrateJob.State -eq 'NotStarted')){
        #If the job hasn't completed, sleep for 10 seconds before checking the job status again
        sleep 10;
        $MigrateJob = Get-AzMigrateJob -InputObject $MigrateJob
}
# Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded".
Write-Output $MigrateJob.State

Überwachen der Replikation

Eine Replikation erfolgt in den folgenden Fällen:

  • Nachdem der Auftrag „Replikation starten“ erfolgreich abgeschlossen wurde, beginnen die Computer mit der ersten Replikation in Azure.
  • Während der ersten Replikation wird eine VM-Momentaufnahme erstellt. Datenträgerdaten der Momentaufnahme werden auf verwalteten Replikatdatenträgern in Azure repliziert.
  • Nach Abschluss der ersten Replikation beginnt die Deltareplikation. Inkrementelle Änderungen an lokalen Datenträgern werden regelmäßig auf den Replikatdatenträgern in Azure repliziert.

Verfolgen Sie den Status der Replikation mithilfe des Cmdlets Get-AzMigrateServerReplication nach.

# List replicating VMs and filter the result for selecting a replicating VM. This cmdlet will not return all properties of the replicating VM.
$ReplicatingServer = Get-AzMigrateServerReplication -ProjectName $MigrateProject.Name -ResourceGroupName $ResourceGroup.ResourceGroupName -MachineName MyTestVM
# Retrieve all properties of a replicating VM 
$ReplicatingServer = Get-AzMigrateServerReplication -TargetObjectID $ReplicatingServer.Id

Sie können die Eigenschaften MigrationState und MigrationStateDescription in der Ausgabe nachverfolgen.

  • Bei der ersten Replikation haben die Eigenschaften MigrationState und MigrationStateDescription den Wert InitialSeedingInProgress bzw. Initial replication.
  • Während der Deltareplikation haben die Eigenschaften MigrationState und MigrationStateDescription den Wert Replicating bzw. Ready to migrate.
  • Nach Abschluss der Migration haben die Eigenschaften MigrationState und MigrationStateDescription den Wert Migration succeeded bzw. Migrated.
AllowedOperation            : {DisableMigration, TestMigrate, Migrate}
CurrentJobId                : /Subscriptions/xxx/resourceGroups/xxx/providers/Micr
                              osoft.RecoveryServices/vaults/xxx/replicationJobs/None
CurrentJobName              : None
CurrentJobStartTime         : 1/1/1753 1:01:01 AM
EventCorrelationId          : 9d435c55-4660-41a5-a8ed-dd74213d85fa
Health                      : Normal
HealthError                 : {}
Id                          : /Subscriptions/xxx/resourceGroups/xxx/providers/Micr
                              osoft.RecoveryServices/vaults/xxx/replicationFabrics/xxx/replicationProtectionContainers/xxx/
                              replicationMigrationItems/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_5009e941-3e40-
                              39b2-1e14-f90584522703
LastTestMigrationStatus     :
LastTestMigrationTime       :
Location                    :
MachineName                 : MyTestVM
MigrationState              : InitialSeedingInProgress
MigrationStateDescription   : Initial replication
Name                        : 10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_5009e941-3e40-39b2-1e14-f90584522703
PolicyFriendlyName          : xxx
PolicyId                    : /Subscriptions/xxx/resourceGroups/xxx/providers/Micr
                              osoft.RecoveryServices/vaults/xxx/replicationPolicies/xxx
ProviderSpecificDetail      : Microsoft.Azure.PowerShell.Cmdlets.Migrate.Models.Api20180110.VMwareCbtMigrationDetails
TestMigrateState            : None
TestMigrateStateDescription : None
Type                        : Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems

Details zum Replikationsfortschritt erhalten Sie durch Ausführen des folgenden Cmdlets:

Write-Output $replicatingserver.ProviderSpecificDetail

Sie können den Fortschritt der ersten Replikation anhand der Eigenschaft InitialSeedingProgressPercentage nachverfolgen.

    "DataMoverRunAsAccountId": "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.OffAzure/VMwareSites/xxx/runasaccounts/xxx",
    "FirmwareType":  "BIOS",
    "InitialSeedingProgressPercentage": 20,
    "InstanceType":  "VMwareCbt",
    "LastRecoveryPointReceived":  "\/Date(1601733591427)\/",
    "LicenseType":  "NoLicenseType",
    "MigrationProgressPercentage":  null,
    "MigrationRecoveryPointId":  null,
    "OSType":  "Windows",
    "PerformAutoResync":  "true",

Eine Replikation erfolgt in den folgenden Fällen:

  • Nachdem der Auftrag „Replikation starten“ erfolgreich abgeschlossen wurde, beginnen die Computer mit der ersten Replikation in Azure.
  • Während der ersten Replikation wird eine VM-Momentaufnahme erstellt. Datenträgerdaten der Momentaufnahme werden auf verwalteten Replikatdatenträgern in Azure repliziert.
  • Nach Abschluss der ersten Replikation beginnt die Deltareplikation. Inkrementelle Änderungen an lokalen Datenträgern werden regelmäßig auf den Replikatdatenträgern in Azure repliziert.

Abrufen des Status eines Auftrags

Sie können den Status eines Auftrags mithilfe des Cmdlets Get-AzMigrateJob überwachen.

# Retrieve the updated status for a job
$job = Get-AzMigrateJob -InputObject $job

Aktualisieren von Eigenschaften eines replizierenden virtuellen Computers

Migration und Modernisierung: Dieses Tool ermöglicht es Ihnen, Zieleigenschaften wie Name, Größe, Ressourcengruppe, NIC-Konfiguration usw. für eine replizierende VM zu ändern.

Folgende Eigenschaften können für einen virtuellen Computer aktualisiert werden:

Parameter Typ Beschreibung
Name des virtuellen Computers Optional Geben Sie mithilfe des Parameters TargetVMName den Namen des zu erstellenden virtuellen Azure-Computers an.
Größe des virtuellen Computers Optional Geben Sie mithilfe des Parameters TargetVMSize die Größe des virtuellen Azure-Computers an, der für den replizierenden virtuellen Computer verwendet werden soll. Wenn Sie also beispielsweise eine VM zu „D2_v2“ in Azure migrieren möchten, geben Sie für TargetVMSize den Wert Standard_D2_v2 an.
Virtuelles Netzwerk Optional Geben Sie mithilfe des Parameters TargetNetworkId die ID der Azure Virtual Network-Instanz ein, zu der der virtuelle Computer migriert werden soll.
Resource group Optional Die NIC-Konfiguration kann mithilfe des Cmdlets New-AzMigrateNicMapping angegeben werden. Das Objekt wird dann als Eingabe an den Parameter NicToUpdate im Cmdlet Set-AzMigrateServerReplication übergeben.

- Ändern der IP-Zuordnung: Wenn Sie eine statische IP-Adresse für eine NIC angeben möchten, geben Sie mithilfe des Parameters TargetNicIP die IPv4-Adresse an, die als statische IP für den virtuellen Computer verwendet werden soll. Wenn für eine NIC dynamisch eine IP-Adresse zugewiesen werden soll, geben Sie für den Parameter auto den Wert TargetNicIP an.
- Verwenden Sie für den Parameter TargetNicSelectionType den Wert Primary, Secondary oder DoNotCreate, um anzugeben, ob die NIC als primäre oder sekundäre NIC fungieren oder nicht auf dem migrierten virtuellen Computer erstellt werden soll. Es kann nur eine einzelne NIC als primäre NIC für den virtuellen Computer angegeben werden.
- Wenn eine NIC als primäre NIC fungieren soll, müssen Sie auch die anderen NICs angeben, die als sekundäre NICs fungieren oder nicht auf dem migrierten virtuellen Computer erstellt werden sollen.
- Wenn Sie das Subnetz für die NIC ändern möchten, geben Sie mithilfe des Parameters TargetNicSubnet den Namen des Subnetzes an.
Netzwerkschnittstelle Optional Geben Sie mithilfe des Parameters TargetVMName den Namen des zu erstellenden virtuellen Azure-Computers an.
Verfügbarkeitszone Optional Falls Sie Verfügbarkeitszonen verwenden möchten, geben Sie für den Parameter TargetAvailabilityZone den Wert der Verfügbarkeitszone an.
Verfügbarkeitsgruppe Optional Falls Sie eine Verfügbarkeitsgruppe verwenden möchten, geben Sie für den Parameter TargetAvailabilitySet die ID der Verfügbarkeitsgruppe an.
Tags Optional Verwenden Sie zum Aktualisieren von Tags die Parameter [UpdateTag] oder [UpdateVMTag], [UpdateDiskTag], [UpdateNicTag] und [UpdateTagOperation] oder [UpdateVMTagOperation], [UpdateDiskTagOperation], [UpdateNicTagOperation] für den Typ des Tagaktualisierungsvorgangs. Der Tagaktualisierungsvorgang übernimmt die folgenden Werte: „Merge“, „Delete“ und „Replace“.
Verwenden Sie UpdateTag, um alle Tags auf VMs, Datenträgern und NICs zu aktualisieren.
Verwenden Sie UpdateVMTag, um VM-Tags zu aktualisieren.
Verwenden Sie UpdateDiskTag, um Datenträgertags zu aktualisieren.
Verwenden Sie UpdateNicTag, um NIC-Tags zu aktualisieren.
Verwenden Sie UpdateTagOperation, um den Vorgang für alle Tags von VMs, Datenträgern und NICs zu aktualisieren.
Verwenden Sie UpdateVMTagOperation, um VM-Tags zu aktualisieren.
Verwenden Sie UpdateDiskTagOperation, um Datenträgertags zu aktualisieren.
Verwenden Sie UpdateNicTagOperation, um NIC-Tags zu aktualisieren.

Die replace-Option ersetzt den gesamten Satz vorhandener Tags durch einen neuen Satz.
Die merge-Option ermöglicht das Hinzufügen von Tags mit neuen Namen und das Aktualisieren der Werte von Tags mit vorhandenen Namen.
Die delete-Option ermöglicht das selektive Löschen von Tags basierend auf bestimmten Namen oder Name-Wert-Paaren.
Datenträger Optional Für den Betriebssystemdatenträger:
Aktualisieren Sie den Namen des Betriebssystemdatenträgers mit dem TargetDiskName-Parameter.

So aktualisieren Sie mehrere Datenträger:
- Verwenden Sie Set-AzMigrateDiskMapping, um die Datenträgernamen auf eine Variable $DiskMapping festzulegen. Verwenden Sie dann den Parameter DiskToUpdate, und übergeben Sie die Variable.

Die in Set-AzMigrateDiskMapping zu verwendende Datenträger-ID ist die UUID-Eigenschaft des Datenträgers. Diese kann mit dem Cmdlet Get-AzMigrateDiscoveredServer abgerufen werden.
NIC-Name Optional Verwenden Sie New-AzMigrateNicMapping, um die NIC-Namen auf eine Variable $NICMapping festzulegen. Verwenden Sie dann den NICToUpdate Parameter, und übergeben Sie die Variable.

Das Cmdlet Get-AzMigrateServerReplication gibt einen Auftrag zurück, der zur Überwachung des Vorgangsstatus nachverfolgt werden kann.

# List replicating VMs and filter the result for selecting a replicating VM. This cmdlet will not return all properties of the replicating VM.
$ReplicatingServer = Get-AzMigrateServerReplication -ProjectName $MigrateProject.Name -ResourceGroupName $ResourceGroup.ResourceGroupName -MachineName MyTestVM
# Retrieve all properties of a replicating VM 
$ReplicatingServer = Get-AzMigrateServerReplication -TargetObjectID $ReplicatingServer.Id

# View NIC details of the replicating server
Write-Output $ReplicatingServer.ProviderSpecificDetail.VMNic

Im folgenden Beispiel wird die NIC-Konfiguration wie folgt geändert: Die erste NIC wird als primäre NIC konfiguriert, und ihr wird eine statische IP-Adresse zugewiesen. Die zweite NIC wird bei der Migration nicht erstellt. Weiterhin werden Name und Größe des virtuellen Zielcomputers aktualisiert sowie die NIC-Namen angepasst.

# Specify the NIC properties to be updated for a replicating VM.
$NicMapping = @()
$NicMapping1 = New-AzMigrateNicMapping -NicId $ReplicatingServer.ProviderSpecificDetail.VMNic[0].NicId -TargetNicIP ###.###.###.### -TargetNicSelectionType Primary TargetNicName "ContosoNic_1"
$NicMapping2 = New-AzMigrateNicMapping -NicId $ReplicatingServer.ProviderSpecificDetail.VMNic[1].NicId -TargetNicSelectionType DoNotCreate - TargetNicName "ContosoNic_2"

$NicMapping += $NicMapping1
$NicMapping += $NicMapping2
# Update the name, size and NIC configuration of a replicating server
$UpdateJob = Set-AzMigrateServerReplication -InputObject $ReplicatingServer -TargetVMSize Standard_DS13_v2 -TargetVMName MyMigratedVM -NicToUpdate $NicMapping

Im folgenden Beispiel wird der Datenträgername angepasst.

# Customize the Disk names for a replicating VM
$OSDisk = Set-AzMigrateDiskMapping -DiskID "6000C294-1217-dec3-bc18-81f117220424" -DiskName "ContosoDisk_1" 
$DataDisk1= Set-AzMigrateDiskMapping -DiskID "6000C292-79b9-bbdc-fb8a-f1fa8dbeff84" -DiskName "ContosoDisk_2" 
$DiskMapping = $OSDisk, $DataDisk1 
# Update the disk names for a replicating server
$UpdateJob = Set-AzMigrateServerReplication InputObject $ReplicatingServer DiskToUpdate $DiskMapping 

Im folgenden Beispiel werden den replizierenden VMs Tags hinzugefügt.

# Update all tags across virtual machines, disks, and NICs.
Set-azmigrateserverreplication UpdateTag $UpdateTag UpdateTagOperation Merge/Replace/Delete

# Update virtual machines tags
Set-azmigrateserverreplication UpdateVMTag $UpdateVMTag UpdateVMTagOperation Merge/Replace/Delete 

Verwenden Sie das folgende Beispiel, um den Auftragsstatus nachzuverfolgen.

# Track job status to check for completion
while (($UpdateJob.State -eq 'InProgress') -or ($UpdateJob.State -eq 'NotStarted')){
        #If the job hasn't completed, sleep for 10 seconds before checking the job status again
        sleep 10;
        $UpdateJob = Get-AzMigrateJob -InputObject $UpdateJob
}
# Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded".
Write-Output $UpdateJob.State

Ausführen einer Testmigration

Wenn die Deltareplikation beginnt, können Sie zunächst eine Testmigration für die virtuellen Computer ausführen, bevor eine vollständige Migration zu Azure erfolgt. Wir empfehlen dringend, diese Testmigration mindestens einmal für jeden Computer auszuführen, bevor Sie ihn migrieren. Das Cmdlet gibt einen Auftrag zurück, der zur Überwachung des Vorgangsstatus nachverfolgt werden kann.

  • Bei einer Testmigration wird überprüft, ob die Migration wie erwartet funktioniert. Der lokale Computer wird dadurch nicht beeinträchtigt, bleibt betriebsbereit und wird weiter repliziert.
  • Eine Testmigration simuliert die Migration durch Erstellen eines virtuellen Azure-Testcomputers mithilfe von replizierten Daten. Der Test wird in der Regel auf ein nicht produktives virtuelles Netzwerk in Ihrem Azure-Abonnement migriert.
  • Sie können den replizierten virtuellen Azure-Testcomputer verwenden, um die Migration zu überprüfen, App-Tests durchzuführen und Probleme zu beheben, bevor die vollständige Migration erfolgt.

Wählen Sie die Azure Virtual Network-Instanz aus, die zum Testen verwendet werden soll, indem Sie mithilfe des Parameters TestNetworkID die ID des virtuellen Netzwerks angeben.

# Retrieve the Azure virtual network created for testing
$TestVirtualNetwork = Get-AzVirtualNetwork -Name MyTestVirtualNetwork
# Start test migration for a replicating server
$TestMigrationJob = Start-AzMigrateTestMigration -InputObject $ReplicatingServer -TestNetworkID $TestVirtualNetwork.Id
# Track job status to check for completion
while (($TestMigrationJob.State -eq 'InProgress') -or ($TestMigrationJob.State -eq 'NotStarted')){
        #If the job hasn't completed, sleep for 10 seconds before checking the job status again
        sleep 10;
        $TestMigrationJob = Get-AzMigrateJob -InputObject $TestMigrationJob
}
# Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded".
Write-Output $TestMigrationJob.State

Bereinigen Sie die Testmigration nach Abschluss des Tests mithilfe des Cmdlets Start-AzMigrateTestMigrationCleanup. Das Cmdlet gibt einen Auftrag zurück, der zur Überwachung des Vorgangsstatus nachverfolgt werden kann.

# Clean-up test migration for a replicating server
$CleanupTestMigrationJob = Start-AzMigrateTestMigrationCleanup -InputObject $ReplicatingServer
# Track job status to check for completion
while (($CleanupTestMigrationJob.State -eq "InProgress") -or ($CleanupTestMigrationJob.State -eq "NotStarted")){
        #If the job hasn't completed, sleep for 10 seconds before checking the job status again
        sleep 10;
        $CleanupTestMigrationJob = Get-AzMigrateJob -InputObject $CleanupTestMigrationJob
}
# Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded".
Write-Output $CleanupTestMigrationJob.State

Migrieren virtueller Computer

Nachdem Sie sich vergewissert haben, dass die Testmigration wie erwartet funktioniert, können Sie den replizierenden Server mithilfe des folgenden Cmdlets migrieren. Das Cmdlet gibt einen Auftrag zurück, der zur Überwachung des Vorgangsstatus nachverfolgt werden kann.

Soll der Quellserver nicht ausgeschaltet werden, lassen Sie den Parameter TurnOffSourceServer weg.

# Start migration for a replicating server and turn off source server as part of migration
$MigrateJob = Start-AzMigrateServerMigration -InputObject $ReplicatingServer -TurnOffSourceServer
# Track job status to check for completion
while (($MigrateJob.State -eq 'InProgress') -or ($MigrateJob.State -eq 'NotStarted')){
        #If the job hasn't completed, sleep for 10 seconds before checking the job status again
        sleep 10;
        $MigrateJob = Get-AzMigrateJob -InputObject $MigrateJob
}
#Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded".
Write-Output $MigrateJob.State

Fertigstellen der Migration

  1. Beenden Sie nach Abschluss der Migration die Replikation für den lokalen Computer, und bereinigen Sie die Informationen zum Replikationszustand für den virtuellen Computer mithilfe des folgenden Cmdlets. Das Cmdlet gibt einen Auftrag zurück, der zur Überwachung des Vorgangsstatus nachverfolgt werden kann.

    # Stop replication for a migrated server
    $StopReplicationJob = Remove-AzMigrateServerReplication -InputObject $ReplicatingServer
    
    # Track job status to check for completion
    while (($StopReplicationJob.State -eq 'InProgress') -or ($StopReplicationJob.State -eq 'NotStarted')){
            #If the job hasn't completed, sleep for 10 seconds before checking the job status again
            sleep 10;
            $StopReplicationJob = Get-AzMigrateJob -InputObject $StopReplicationJob
    }
    # Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded".
    Write-Output $StopReplicationJob.State
    
  2. Führen Sie App-Anpassungen nach der Migration durch, z.B. die Aktualisierung von Datenbankverbindungszeichenfolgen und Webserverkonfigurationen.

  3. Führen Sie endgültige Anwendungs- und Migrationsakzeptanztests für die migrierte Anwendung durch, die nun in Azure ausgeführt wird.

  4. Leiten Sie den Datenverkehr auf die migrierte Instanz der Azure-VM um.

  5. Entfernen Sie die lokalen VMs aus Ihrem lokalen VM-Bestand.

  6. Entfernen Sie die lokalen VMs aus lokalen Sicherungen.

  7. Aktualisieren Sie die interne Dokumentation zum Anzeigen des neuen Speicherorts und der IP-Adresse der Azure-VMs.

Bewährte Methoden nach der Migration