Delen via


VMware-VM's migreren naar Azure (zonder agent) - PowerShell

In dit artikel leert u hoe u gedetecteerde virtuele VMware-machines (VM's) migreert met de methode zonder agent met behulp van Azure PowerShell voor migratie en modernisering.

Notitie

Deze end-to-end documentatie voor VMware-migratiescenario's is momenteel beschikbaar als preview-versie. Zie de productdocumentatie van Azure Migrate voor meer informatie over het gebruik van Azure Migrate.

U leert het volgende:

  • Gedetecteerde VMware-VM's ophalen in een Azure Migrate-project.
  • Beginnen met repliceren van VM's.
  • Eigenschappen voor het repliceren van VM's bijwerken.
  • Replicatie controleren.
  • Voer een testmigratie uit om te controleren of alles goed werkt.
  • Een volledige VM-migratie uitvoeren.

Notitie

In de zelfstudies ziet u het eenvoudigste implementatiepad voor een scenario, zodat u snel een proof-of-concept kunt instellen. Zelfstudies gebruiken waar mogelijk standaardopties en tonen niet alle mogelijke instellingen en paden.

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Vereisten

Voordat u aan deze zelfstudie begint, dient u eerst:

De Azure Migrate PowerShell-module installeren

De Azure Migrate PowerShell-module is beschikbaar als onderdeel van Azure PowerShell (Az). Voer de Get-InstalledModule -Name Az.Migrate opdracht uit om te controleren of de Azure Migrate PowerShell-module op uw computer is geïnstalleerd.

Aanmelden bij uw Azure-abonnement

Meld u aan bij uw Azure-abonnement met de cmdlet Connect-AzAccount .

Connect-AzAccount

Selecteer uw Azure-abonnement

Gebruik de cmdlet Get-AzSubscription om de lijst met Azure-abonnementen op te halen waarvoor u toegang hebt. Selecteer het Azure-abonnement met uw Azure Migrate-project waarmee u wilt werken met behulp van de set-AzContext-cmdlet .

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

Het Azure Migrate-project ophalen

Een Azure Migrate project wordt gebruikt voor het opslaan van de metagegevens voor detectie, evaluatie en migratie die zijn verzameld uit de omgeving die u wilt beoordelen of migreren. In een project kunt u gedetecteerde assets bijhouden, evaluaties organiseren en migraties uitvoeren.

Als onderdeel van de vereisten hebt u al een Azure Migrate-project gemaakt. Gebruik de cmdlet Get-AzMigrateProject om details van een Azure Migrate-project op te halen. U moet de naam van het Azure Migrate-project (Name) en de naam van de resourcegroep van het Azure Migrate-project (ResourceGroupName) opgeven.

# 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

Gedetecteerde VM's ophalen in een Azure Migrate-project

Azure Migrate en Modernize maakt gebruik van een lichtgewicht Azure Migrate-apparaat. Als onderdeel van de vereisten hebt u het Azure Migrate-apparaat geïmplementeerd als een VMware-VM.

Als u een specifieke VMware-VM in een Azure Migrate-project wilt ophalen, geeft u de naam op van het Azure Migrate-project (ProjectName), de resourcegroep van het Azure Migrate-project (ResourceGroupName) en de naam van de VM (DisplayName).

# 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

Deze VIRTUELE machine wordt gemigreerd als onderdeel van deze zelfstudie.

U kunt ook alle VMware-VM's in een Azure Migrate-project ophalen met behulp van de parameters ProjectName en ResourceGroupName.

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

Als u meerdere apparaten in een Azure Migrate-project hebt, kunt u de ProjectName, ResourceGroupNameen ApplianceName parameters gebruiken om alle vm's op te halen die zijn gedetecteerd met behulp van een specifiek Azure Migrate-apparaat.

# 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

Replicatie-infrastructuur initialiseren

Migratie en modernisering maakt gebruik van meerdere Azure-resources voor het migreren van VM's. Met migratie en modernisering worden de volgende resources ingericht, in dezelfde resourcegroep als het project.

  • Servicebus: Migratie en modernisering maakt gebruik van de servicebus om replicatieindelingsberichten naar het apparaat te verzenden.
  • Gatewayopslagaccount: migratie en modernisering maakt gebruik van het gatewayopslagaccount om statusinformatie op te slaan over de vm's die worden gerepliceerd.
  • Logboekopslagaccount: het Azure Migrate-apparaat uploadt replicatielogboeken voor VM's naar een logboekopslagaccount. Azure Migrate past de replicatiegegevens toe op door de replica beheerde schijven.
  • Sleutelkluis: Het Azure Migrate-apparaat maakt gebruik van de sleutelkluis voor het beheren van verbindingsreeks s voor de servicebus en toegangssleutels voor de opslagaccounts die worden gebruikt in replicatie.

Voordat u de eerste VIRTUELE machine in het Azure Migrate-project repliceert, voert u de volgende opdracht uit om de replicatie-infrastructuur in te richten. Met deze opdracht worden de voorgaande resources ingericht en geconfigureerd, zodat u kunt beginnen met het migreren van uw VMware-VM's.

Notitie

Per Azure Migrate-project worden alleen migraties naar één Azure-regio ondersteund. Nadat u dit script hebt uitgevoerd, kunt u de doelregio waarnaar u uw VMware-VM's wilt migreren, niet meer wijzigen. U moet de Initialize-AzMigrateReplicationInfrastructure opdracht uitvoeren als u een nieuw apparaat in uw Azure Migrate-project configureert.

In dit artikel initialiseren we de replicatie-infrastructuur zodat we onze VM's naar de Central US regio kunnen migreren.

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

VM's repliceren

Nadat u de detectie hebt voltooid en de replicatie-infrastructuur hebt geïnitialiseerd, kunt u beginnen met het repliceren van VMware-VM's naar Azure. U kunt maximaal 500 replicaties tegelijk uitvoeren.

Gebruik de volgende tabel om de replicatie-eigenschappen op te geven.

Parameter Type Description
Doelabonnement en resourcegroep Verplicht Geef het abonnement en de resourcegroep op waarnaar de virtuele machine moet worden gemigreerd door de resourcegroep-id op te geven met behulp van de TargetResourceGroupId parameter.
Doel virtueel netwerk en subnet Verplicht Geef de id op van het Azure Virtual Network-exemplaar en de naam van het subnet waarnaar de VIRTUELE machine moet worden gemigreerd, respectievelijk met behulp van de TargetNetworkId en TargetSubnetName parameters.
Machine-id Verplicht Geef de id op van de gedetecteerde computer die moet worden gerepliceerd en gemigreerd. Hiermee InputObject geeft u het gedetecteerde VM-object op voor replicatie.
Naam van doel-VM Verplicht Geef de naam op van de Azure-VM die moet worden gemaakt met behulp van de TargetVMName parameter.
Grootte van doel-VM Verplicht Geef de Azure VM-grootte op die moet worden gebruikt voor de replicerende VM met behulp van de TargetVMSize parameter. Als u bijvoorbeeld een virtuele machine wilt migreren naar D2_v2 VM in Azure, geeft u de waarde op als TargetVMSize Standard_D2_v2.
Licentie Verplicht Als u Azure Hybrid Benefit wilt gebruiken voor uw Windows Server-computers die worden gedekt met actieve Software Assurance- of Windows Server-abonnementen, geeft u de waarde voor de LicenseType parameter op als WindowsServer. Geef anders de waarde op als NoLicenseType.
Besturingssysteemschijf Verplicht Geef de unieke id op van de schijf met het opstartlaadprogramma van het besturingssysteem en het installatieprogramma. De te gebruiken schijf-id is de unieke id (UUID) voor de schijf die wordt opgehaald met behulp van de cmdlet Get-AzMigrateDiscoveredServer .
Schijftype Verplicht Geef het type schijf op dat moet worden gebruikt.
Infrastructuurredundantie Optioneel Geef de optie voor infrastructuurredundantie als volgt op:

- Beschikbaarheidszone: hiermee wordt de gemigreerde machine vastgemaakt aan een specifieke beschikbaarheidszone in de regio. Gebruik deze optie om servers te distribueren die een toepassingslaag met meerdere knooppunten vormen in beschikbaarheidszones. Deze optie is alleen beschikbaar als de doelregio die is geselecteerd voor de migratie beschikbaarheidszones ondersteunt. Als u beschikbaarheidszones wilt gebruiken, geeft u de waarde van de beschikbaarheidszone voor de TargetAvailabilityZone parameter op.
- Beschikbaarheidsset: plaatst de gemigreerde machine in een beschikbaarheidsset. De geselecteerde doelresourcegroep moet een of meer beschikbaarheidssets hebben om deze optie te kunnen gebruiken. Als u een beschikbaarheidsset wilt gebruiken, geeft u de id van de beschikbaarheidsset voor de TargetAvailabilitySet parameter op.
Diagnostisch opslagaccount opstarten Optioneel Als u een diagnostisch opslagaccount voor opstarten wilt gebruiken, geeft u de id voor de TargetBootDiagnosticStorageAccount parameter op.
- Het opslagaccount dat wordt gebruikt voor diagnostische gegevens over opstarten, moet zich in hetzelfde abonnement bevinden als waarop u uw VM's migreert.
- Standaard is er geen waarde ingesteld voor deze parameter.
Tags Optioneel Voeg tags toe aan uw gemigreerde VM's, schijven en NIC's.
Gebruik Tag dit om tags toe te voegen aan VM's, schijven en NIC's of:
- Gebruik VMTag dit om tags toe te voegen aan uw gemigreerde VM's.
- Gebruik DiskTag dit om tags toe te voegen aan schijven.
- Gebruik NicTag dit om tags toe te voegen aan netwerkinterfaces.
Voeg bijvoorbeeld de vereiste tags toe aan de variabele $tags en geef de variabele door in de vereiste parameter: $tags = @{Organization=”Contoso”}

VM's repliceren met alle schijven

In deze zelfstudie repliceren we alle schijven van de gedetecteerde VM en geven we een nieuwe naam op voor de VIRTUELE machine in Azure. We geven de eerste schijf van de gedetecteerde server op als besturingssysteemschijf en migreren alle schijven als Standard HDD. De besturingssysteemschijf is de schijf die de bootloader en het installatieprogramma van het besturingssysteem bevat. De cmdlet retourneert een taak die kan worden bijgehouden voor het bewaken van de status van de bewerking.

# 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

VM's repliceren met specifieke schijven

U kunt de schijven van de gedetecteerde VIRTUELE machine ook selectief repliceren met behulp van de cmdlet New-AzMigrateDiskMapping en dat als invoer voor de DiskToInclude parameter in de cmdlet New-AzMigrateServerReplication . U kunt ook de cmdlet New-AzMigrateDiskMapping gebruiken om verschillende doelschijftypen op te geven voor elke afzonderlijke schijf die moet worden gerepliceerd.

Geef waarden op voor de volgende parameters van de cmdlet New-AzMigrateDiskMapping :

  • DiskId: Geef de unieke id op voor de schijf die moet worden gemigreerd. De schijf-id die moet worden gebruikt, is de UUID-eigenschap voor de schijf die wordt opgehaald met behulp van de cmdlet Get-AzMigrateDiscoveredServer .
  • IsOSDisk: geef op true of de schijf die moet worden gemigreerd de besturingssysteemschijf van de virtuele machine is. Geef anders op false.
  • DiskType: Geef het type schijf op dat moet worden gebruikt in Azure.

In het volgende voorbeeld repliceren we slechts twee schijven van de gedetecteerde VM. We geven de besturingssysteemschijf op en gebruiken verschillende schijftypen voor elke schijf die moet worden gerepliceerd. De cmdlet retourneert een taak die kan worden bijgehouden voor het bewaken van de status van de bewerking.

# 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

Replicatie bewaken

Replicatie vindt plaats in de volgende gevallen:

  • Wanneer deze taak is voltooid, beginnen de machines hun initiële replicatie naar Azure.
  • Tijdens de eerste replicatie wordt een VM-momentopname gemaakt. Schijfgegevens uit de momentopname worden gerepliceerd naar beheerde replicaschijven in Azure.
  • Nadat de initiële replicatie is voltooid, begint de deltareplicatie. Incrementele wijzigingen van on-premises schijven worden periodiek gerepliceerd naar de replicaschijven in Azure.

Volg de status van de replicatie met behulp van de cmdlet Get-AzMigrateServerReplication .

# 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

U kunt de eigenschappen migratiestatus en migratiestatusbeschrijving bijhouden in de uitvoer.

  • Voor de eerste replicatie zijn InitialSeedingInProgress de waarden voor de eigenschappen Migratiestatus en Migratiestatusbeschrijving respectievelijk.Initial replication
  • Tijdens de replicatie van verschillen zijn Replicating de waarden voor de eigenschappen Status migreren en Statusbeschrijving van migratie respectievelijk.Ready to migrate
  • Nadat u de migratie hebt voltooid, zijn Migration succeeded de waarden voor de eigenschappen Status en Migratiestatusbeschrijving respectievelijk.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

Voer de volgende cmdlet uit voor meer informatie over de voortgang van de replicatie:

Write-Output $replicatingserver.ProviderSpecificDetail

U kunt de voortgang van de initiële replicatie bijhouden met behulp van de eigenschappen Voortgangspercentage voor eerste seeding in de uitvoer.

    "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",

Replicatie vindt plaats in de volgende gevallen:

  • Wanneer deze taak is voltooid, beginnen de machines hun initiële replicatie naar Azure.
  • Tijdens de eerste replicatie wordt een VM-momentopname gemaakt. Schijfgegevens uit de momentopname worden gerepliceerd naar beheerde replicaschijven in Azure.
  • Nadat de initiële replicatie is voltooid, begint de deltareplicatie. Incrementele wijzigingen van on-premises schijven worden periodiek gerepliceerd naar de replicaschijven in Azure.

De status van een taak ophalen

U kunt de status van een taak controleren met behulp van de cmdlet Get-AzMigrateJob .

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

Eigenschappen van een replicatie-VM bijwerken

Met migratie en modernisering kunt u doeleigenschappen wijzigen, zoals naam, grootte, resourcegroep, NIC-configuratie, enzovoort voor een replicerende VM.

De volgende eigenschappen kunnen worden bijgewerkt voor een VM.

Parameter Type Description
VM-naam Optioneel Geef de naam op van de Azure-VM die moet worden gemaakt met behulp van de TargetVMName parameter.
VM-grootte Optioneel Geef de Azure VM-grootte op die moet worden gebruikt voor de replicerende VM met behulp van de TargetVMSize parameter. Als u bijvoorbeeld een virtuele machine wilt migreren naar D2_v2 VM in Azure, geeft u de waarde op als TargetVMSize Standard_D2_v2.
Virtueel netwerk Optioneel Geef de id op van het virtuele Azure-netwerk waarnaar de virtuele machine moet worden gemigreerd met behulp van de TargetNetworkId parameter.
Resourcegroep Optioneel IC-configuratie kan worden opgegeven met behulp van de cmdlet New-AzMigrateNicMapping . Het object wordt vervolgens doorgegeven aan de NicToUpdate parameter in de cmdlet Set-AzMigrateServerReplication .

- IP-toewijzing wijzigen: als u een statisch IP-adres voor een NIC wilt opgeven, geeft u het IPv4-adres op dat moet worden gebruikt als het statische IP-adres voor de virtuele machine met behulp van de TargetNicIP parameter. Als u dynamisch een IP-adres voor een NIC wilt toewijzen, geeft u auto deze op als de waarde voor de TargetNicIP parameter.
- Gebruik de waarden Primaryof Secondary DoNotCreate voor de TargetNicSelectionType parameter om op te geven of de NIC primair, secundair moet zijn of niet moet worden gemaakt op de gemigreerde VM. Er kan slechts één NIC worden opgegeven als primaire NIC voor de VM.
- Als u een NIC primair wilt maken, moet u ook de andere NIC's opgeven die secundair moeten worden gemaakt of die niet moeten worden gemaakt op de gemigreerde VM.
- Als u het subnet voor de NIC wilt wijzigen, geeft u de naam van het subnet op met behulp van de TargetNicSubnet parameter.
Netwerkinterface Optioneel Geef de naam op van de Azure-VM die moet worden gemaakt met behulp van de TargetVMName parameter.
Availability zone Optioneel Als u beschikbaarheidszones wilt gebruiken, geeft u de waarde van de beschikbaarheidszone voor de TargetAvailabilityZone parameter op.
Beschikbaarheidsset Optioneel Als u beschikbaarheidssets wilt gebruiken, geeft u de id van de beschikbaarheidsset voor de TargetAvailabilitySet parameter op.
Tags Optioneel Voor het bijwerken van tags gebruikt u de volgende parameters: of , , en het type updatetagbewerking UpdateTagOperation of UpdateVMTagOperation, UpdateDiskTagOperationUpdateNicTagOperation. UpdateNicTagUpdateDiskTagUpdateVMTagUpdateTag De updatetagbewerking heeft de volgende waarden: Samenvoegen, Verwijderen en Vervangen.
Hiermee UpdateTag kunt u alle tags bijwerken op VM's, schijven en NIC's.
Gebruik UpdateVMTag deze functie om VM-tags bij te werken.
Gebruik UpdateDiskTag dit om schijftags bij te werken.
Gebruik UpdateNicTag dit om NIC-tags bij te werken.
Gebruik UpdateTagOperation deze functie om de bewerking voor alle tags op vm's, schijven en NIC's bij te werken.
Gebruik UpdateVMTagOperation deze functie om VM-tags bij te werken.
Gebruik UpdateDiskTagOperation dit om schijftags bij te werken.
Gebruik UpdateNicTagOperation dit om NIC-tags bij te werken.

Met de optie Vervangen wordt de hele set bestaande tags vervangen door een nieuwe set.
Met de optie samenvoegen kunt u tags met nieuwe namen toevoegen en de waarden van tags bijwerken met bestaande namen.
Met de optie verwijderen kunnen tags selectief worden verwijderd op basis van specifieke namen of naam-/waardeparen.
Disks Optioneel Voor de besturingssysteemschijf:
- Werk de naam van de besturingssysteemschijf bij met behulp van de TargetDiskName parameter.

Meerdere schijven bijwerken:
- Gebruik Set-AzMigrateDiskMapping om de schijfnamen in te stellen op een variabele $DiskMapping. Gebruik vervolgens de DiskToUpdate parameter en geef de variabele door.

De schijf-id die moet worden gebruikt in Set-AzMigrateDiskMapping is de UUID-eigenschap voor de schijf die wordt opgehaald met behulp van de cmdlet Get-AzMigrateDiscoveredServer .
Naam van NIC Optioneel Gebruik New-AzMigrateNicMapping om de NIC-namen in te stellen op een variabele $NICMapping. Gebruik vervolgens de NICToUpdate parameter en geef de variabele door.

De cmdlet Get-AzMigrateServerReplication retourneert een taak die kan worden bijgehouden voor het bewaken van de status van de bewerking.

# 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

In het volgende voorbeeld werken we de NIC-configuratie bij door de eerste NIC als primair te maken en er een statisch IP-adres aan toe te wijzen. We verwijderen de tweede NIC voor migratie, werken de naam en grootte van de doel-VM bij en passen NIC-namen aan.

# 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

In het volgende voorbeeld passen we de schijfnaam aan.

# 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 

In het volgende voorbeeld voegen we tags toe aan de replicerende VM's.

# 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 

Gebruik het volgende voorbeeld om de taakstatus bij te houden.

# 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

Een testmigratie uitvoeren

Wanneer de deltareplicatie begint, kunt u een testmigratie uitvoeren voor de VM's voordat u een volledige migratie naar Azure uitvoert. We raden u ten zeerste aan om ten minste één keer een testmigratie uit te voeren voor elke machine voordat u deze migreert. De cmdlet retourneert een taak die kan worden bijgehouden voor het bewaken van de status van de bewerking.

  • Bij het uitvoeren van een testmigratie wordt gecontroleerd of de migratie werkt zoals verwacht. Testmigratie heeft geen invloed op de on-premises machine, die operationeel blijft en blijft repliceren.
  • Testmigratie simuleert de migratie door een Virtuele Azure-machine te maken met behulp van gerepliceerde gegevens. De test wordt meestal gemigreerd naar een niet-productie virtueel netwerk in uw Azure-abonnement.
  • U kunt de gerepliceerde Azure-VM gebruiken om de migratie te valideren, apps te testen en problemen op te lossen voordat u de volledige migratie uitvoert.

Selecteer het virtuele Azure-netwerk dat moet worden gebruikt voor testen door de id van het virtuele netwerk op te geven met behulp van de TestNetworkID parameter.

# 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

Nadat het testen is voltooid, schoont u de testmigratie op met behulp van de cmdlet Start-AzMigrateTestMigrationCleanup . De cmdlet retourneert een taak die kan worden bijgehouden voor het bewaken van de status van de bewerking.

# 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

Virtuele machines migreren

Nadat u hebt gecontroleerd of de testmigratie werkt zoals verwacht, kunt u de replicerende server migreren met behulp van de volgende cmdlet. De cmdlet retourneert een taak die kan worden bijgehouden voor het bewaken van de status van de bewerking.

Als u de bronserver niet wilt uitschakelen, gebruikt u de TurnOffSourceServer parameter niet.

# 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

Migratie voltooien

  1. Nadat de migratie is voltooid, stopt u de replicatie voor de on-premises machine en schoont u de informatie over de replicatiestatus voor de VIRTUELE machine op met behulp van de volgende cmdlet. De cmdlet retourneert een taak die kan worden bijgehouden voor het bewaken van de status van de bewerking.

    # 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. Voer correcties van de app uit na de migratie, zoals updates van de databaseverbindingsreeksen en webserverconfiguraties.

  3. Voer acceptatietesten van de toepassing en de migratie uit op de gemigreerde toepassing die nu wordt uitgevoerd in Azure.

  4. Leid het verkeer naar het gemigreerde Azure VM-exemplaar.

  5. Verwijder de on-premises VM's uit uw lokale VM-inventaris.

  6. Verwijder de on-premises VM's uit de lokale back-ups.

  7. Werk eventuele interne documentatie bij met de nieuwe locatie en het nieuwe IP-adres van de Azure VM's.

Best practices na de migratie