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.

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.

Opmerking

Handleidingen laten het eenvoudigste implementatiepad voor een scenario zien, zodat u snel een proof of concept kunt instellen. Handleidingen gebruiken waar mogelijk standaardinstellingen en tonen niet alle mogelijke instellingen en paden.

Als je geen Azure-abonnement hebt, maak dan een gratis account aan voordat je begint.

Vereiste voorwaarden

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 detectie-, evaluatie- en migratiemetagegevens die zijn verzameld uit de omgeving die u beoordeelt of migreert. 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

We migreren deze VM als onderdeel van deze handleiding.

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. Bij migratie en modernisering worden de volgende voorzieningen ingericht, in dezelfde resourcegroep als het project.

  • Servicebus: Migratie en modernisering maakt gebruik van de servicebus om replicatie-orkestratieberichten 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.

Opmerking

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.

Kenmerk Typologie Beschrijving
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.
Doel-VM-grootte 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 TargetVMSizeStandard_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.
OS-schijf 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 opstartdiagnostiek moet zich in hetzelfde abonnement bevinden als dat waarin 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 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 gevolgd om de voortgang van de bewerking bij te houden.

# 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. Specificeer anders 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 gevolgd om de voortgang van de bewerking bij te houden.

# 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 in 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 de waarden voor de eigenschappen Migratiestatus en InitialSeedingInProgress respectievelijk.Initial replication
  • Tijdens de replicatie van verschillen zijn de waarden voor de eigenschap Migratiestatus en de eigenschap Statusomschrijving van migratie respectievelijk Replicating en Ready to migrate.
  • Nadat u de migratie hebt voltooid, zijn de waarden voor de eigenschappen Migratiestatus en Migratiestatusbeschrijving respectievelijk Migration succeeded en 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 Initiële 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 in 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.

Kenmerk Typologie Beschrijving
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 TargetVMSizeStandard_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.
Bronnengroep 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 SecondaryDoNotCreate 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.
beschikbaarheidszone Optioneel Als u beschikbaarheidszones wilt gebruiken, geeft u de waarde van de beschikbaarheidszone voor de TargetAvailabilityZone parameter op.
Beschikbaarheidsconfiguratie 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 UpdateTag of UpdateVMTag, UpdateDiskTagUpdateNicTag. UpdateTagOperationUpdateVMTagOperationUpdateDiskTagOperationUpdateNicTagOperation 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.
Schijven 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 gevolgd om de voortgang van de bewerking bij te houden.

  • 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 gevolgd om de voortgang van de bewerking bij te houden.

# 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 gevolgd om de voortgang van de bewerking bij te houden.

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 gevolgd om de voortgang van de bewerking bij te houden.

    # 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. Schakel het verkeer over naar de gemigreerde Azure VM-instantie.

  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.

De beste praktijken na de migratie