Udostępnij za pośrednictwem


Migrowanie maszyn wirtualnych VMware na platformę Azure (bez agentów) — PowerShell

Z tego artykułu dowiesz się, jak przeprowadzić migrację odnalezionych maszyn wirtualnych VMware przy użyciu metody bez agenta przy użyciu programu Azure PowerShell na potrzeby migracji i modernizacji.

Dowiedz się, jak odbywa się:

  • Pobieranie odnalezionych maszyn wirtualnych VMware w projekcie usługi Azure Migrate.
  • Uruchom replikowanie maszyn wirtualnych.
  • Zaktualizuj właściwości replikowania maszyn wirtualnych.
  • Monitorowanie replikacji.
  • Uruchom migrację testową, aby upewnić się, że wszystko działa zgodnie z oczekiwaniami.
  • Uruchom pełną migrację maszyny wirtualnej.

Uwaga

W samouczkach przedstawiono najprostszą ścieżkę wdrażania dla scenariusza, dzięki czemu można szybko skonfigurować weryfikację koncepcji. W samouczkach są używane opcje domyślne, jeśli to możliwe i nie są wyświetlane wszystkie możliwe ustawienia i ścieżki.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Przed rozpoczęciem tego samouczka należy:

Instalowanie modułu programu PowerShell usługi Azure Migrate

Moduł Azure Migrate PowerShell jest dostępny w ramach programu Azure PowerShell (Az). Uruchom polecenie , Get-InstalledModule -Name Az.Migrate aby sprawdzić, czy na maszynie jest zainstalowany moduł Programu PowerShell usługi Azure Migrate.

Zaloguj się do Twojej subskrypcji platformy Azure.

Zaloguj się do subskrypcji platformy Azure przy użyciu polecenia cmdlet Connect-AzAccount .

Connect-AzAccount

Wybierz subskrypcję platformy Azure

Użyj polecenia cmdlet Get-AzSubscription, aby uzyskać listę subskrypcji platformy Azure, do których masz dostęp. Wybierz subskrypcję platformy Azure, z którą ma projekt usługi Azure Migrate do pracy przy użyciu polecenia cmdlet Set-AzContext .

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

Pobieranie projektu usługi Azure Migrate

Projekt usługi Azure Migrate służy do przechowywania metadanych odnajdywania, oceny i migracji zebranych ze środowiska, które oceniasz lub migrujesz. W projekcie można śledzić odnalezione zasoby, organizować oceny i przeprowadzać migracje.

W ramach wymagań wstępnych utworzono już projekt usługi Azure Migrate. Użyj polecenia cmdlet Get-AzMigrateProject, aby pobrać szczegóły projektu usługi Azure Migrate. Należy określić nazwę projektu usługi Azure Migrate (Name) i nazwę grupy zasobów projektu usługi Azure Migrate (ResourceGroupName).

# 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

Pobieranie odnalezionych maszyn wirtualnych w projekcie usługi Azure Migrate

Usługa Azure Migrate i modernizacja korzystają z uproszczonego urządzenia usługi Azure Migrate. W ramach wymagań wstępnych urządzenie usługi Azure Migrate zostało wdrożone jako maszyna wirtualna VMware.

Aby pobrać określoną maszynę wirtualną VMware w projekcie usługi Azure Migrate, określ nazwę projektu usługi Azure Migrate (ProjectName), grupę zasobów projektu usługi Azure Migrate () i nazwę maszyny wirtualnej (ResourceGroupNameDisplayName).

# 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

Migrujemy tę maszynę wirtualną w ramach tego samouczka.

Możesz również pobrać wszystkie maszyny wirtualne VMware w projekcie usługi Azure Migrate przy użyciu ProjectName parametrów i ResourceGroupName .

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

Jeśli masz wiele urządzeń w projekcie usługi Azure Migrate, możesz użyć ProjectNameparametrów , ResourceGroupNamei ApplianceName , aby pobrać wszystkie odnalezione maszyny wirtualne przy użyciu określonego urządzenia usługi Azure Migrate.

# 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

Inicjowanie infrastruktury replikacji

Migracja i modernizacja korzysta z wielu zasobów platformy Azure do migrowania maszyn wirtualnych. Migracja i modernizacja aprowizuje następujące zasoby w tej samej grupie zasobów co projekt.

  • Service Bus: migracja i modernizacja używają magistrali usług do wysyłania komunikatów orkiestracji replikacji do urządzenia.
  • Konto magazynu bramy: Migracja i modernizacja używają konta magazynu bramy do przechowywania informacji o stanie replikowanych maszyn wirtualnych.
  • Konto magazynu dzienników: urządzenie usługi Azure Migrate przekazuje dzienniki replikacji dla maszyn wirtualnych do konta magazynu dzienników. Usługa Azure Migrate stosuje informacje o replikacji do dysków zarządzanych przez replikę.
  • Magazyn kluczy: urządzenie usługi Azure Migrate używa magazynu kluczy do zarządzania parametry połączenia dla magistrali usług i kluczy dostępu dla kont magazynu używanych w replikacji.

Przed replikacją pierwszej maszyny wirtualnej w projekcie usługi Azure Migrate uruchom następujące polecenie, aby aprowizować infrastrukturę replikacji. To polecenie aprowizuje i konfiguruje poprzednie zasoby, aby można było rozpocząć migrację maszyn wirtualnych VMware.

Uwaga

Jeden projekt usługi Azure Migrate obsługuje migracje tylko do jednego regionu świadczenia usługi Azure. Po uruchomieniu tego skryptu nie można zmienić regionu docelowego, do którego chcesz przeprowadzić migrację maszyn wirtualnych VMware. Jeśli skonfigurujesz nowe urządzenie w projekcie usługi Azure Migrate, musisz uruchomić Initialize-AzMigrateReplicationInfrastructure polecenie .

W tym artykule zainicjujemy infrastrukturę replikacji, aby umożliwić migrację maszyn wirtualnych do Central US regionu.

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

Replikowanie maszyn wirtualnych

Po zakończeniu odnajdywania i zainicjowaniu infrastruktury replikacji można rozpocząć replikację maszyn wirtualnych VMware na platformę Azure. Jednocześnie można uruchomić maksymalnie 500 replikacji.

Aby określić właściwości replikacji, użyj poniższej tabeli.

Parametr Type Opis
Docelowa subskrypcja i grupa zasobów Obowiązkowy Określ subskrypcję i grupę zasobów, do których ma zostać zmigrowana maszyna wirtualna, podając identyfikator grupy zasobów przy użyciu parametru TargetResourceGroupId .
Docelowa sieć wirtualna i podsieć Obowiązkowy Określ identyfikator wystąpienia usługi Azure Virtual Network i nazwę podsieci, do której ma zostać zmigrowana maszyna wirtualna przy użyciu TargetNetworkId odpowiednio parametrów i TargetSubnetName .
Identyfikator komputera Obowiązkowy Określ identyfikator odnalezionej maszyny, która ma zostać zreplikowana i zmigrowana. Użyj InputObject polecenia , aby określić odnaleziony obiekt maszyny wirtualnej na potrzeby replikacji.
Nazwa docelowej maszyny wirtualnej Obowiązkowy Określ nazwę maszyny wirtualnej platformy Azure do utworzenia przy użyciu parametru TargetVMName .
Rozmiar docelowej maszyny wirtualnej Obowiązkowy Określ rozmiar maszyny wirtualnej platformy Azure, który ma być używany na potrzeby replikowania maszyny wirtualnej przy użyciu parametru TargetVMSize . Na przykład aby przeprowadzić migrację maszyny wirtualnej do maszyny wirtualnej D2_v2 na platformie Azure, określ wartość jako TargetVMSize Standard_D2_v2.
Licencja Obowiązkowy Aby użyć Korzyść użycia hybrydowego platformy Azure dla maszyn z systemem Windows Server, które są objęte aktywnym pakietem Software Assurance lub subskrypcjami systemu Windows Server, określ wartość parametru LicenseType jako WindowsServer. W przeciwnym razie określ wartość jako NoLicenseType.
Dysk systemu operacyjnego Obowiązkowy Określ unikatowy identyfikator dysku z modułem ładujący i instalatorem systemu operacyjnego. Identyfikator dysku do użycia jest unikatową właściwością identyfikatora (UUID) dysku pobranego przy użyciu polecenia cmdlet Get-AzMigrateDiscoveredServer .
Typ dysku Obowiązkowy Określ typ dysku do użycia.
Nadmiarowość infrastruktury Opcjonalnie Określ opcję nadmiarowości infrastruktury w następujący sposób:

- Strefa dostępności: przypina zmigrowany komputer do określonej strefy dostępności w regionie. Użyj tej opcji, aby dystrybuować serwery tworzące warstwę aplikacji wielowęźle w różnych strefach dostępności. Ta opcja jest dostępna tylko wtedy, gdy region docelowy wybrany dla migracji obsługuje strefy dostępności. Aby użyć stref dostępności, określ wartość strefy dostępności dla parametru TargetAvailabilityZone .
- Zestaw dostępności: umieszcza zmigrowany komputer w zestawie dostępności. Wybrana docelowa grupa zasobów musi mieć co najmniej jeden zestaw dostępności, aby można było użyć tej opcji. Aby użyć zestawu dostępności, określ identyfikator zestawu dostępności dla parametru TargetAvailabilitySet .
Konto magazynu diagnostycznego rozruchu Opcjonalnie Aby użyć konta magazynu diagnostycznego rozruchu, określ identyfikator parametru TargetBootDiagnosticStorageAccount .
— Konto magazynu używane do diagnostyki rozruchu powinno znajdować się w tej samej subskrypcji, do której migrujesz maszyny wirtualne.
- Domyślnie dla tego parametru nie jest ustawiona żadna wartość.
Tagi Opcjonalnie Dodaj tagi do migrowanych maszyn wirtualnych, dysków i kart sieciowych.
Służy Tag do dodawania tagów do maszyn wirtualnych, dysków i kart sieciowych lub:
— Służy VMTag do dodawania tagów do migrowanych maszyn wirtualnych.
— Służy DiskTag do dodawania tagów do dysków.
— Służy NicTag do dodawania tagów do interfejsów sieciowych.
Na przykład dodaj wymagane tagi do zmiennej $tags i przekaż zmienną w wymaganym parametrze: $tags = @{Organization=”Contoso”}.

Replikowanie maszyn wirtualnych ze wszystkimi dyskami

W tym samouczku replikujemy wszystkie dyski odnalezionej maszyny wirtualnej i określamy nową nazwę maszyny wirtualnej na platformie Azure. Określamy pierwszy dysk odnalezionego serwera jako dysk systemu operacyjnego i migrujemy wszystkie dyski jako hdd w warstwie Standardowa. Dysk systemu operacyjnego to dysk, na którym jest zainstalowany program ładujący i instalator systemu operacyjnego. Polecenie cmdlet zwraca zadanie, które można śledzić na potrzeby monitorowania stanu operacji.

# 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

Replikowanie maszyn wirtualnych z wybranymi dyskami

Można również selektywnie replikować dyski odnalezionej maszyny wirtualnej, używając polecenia cmdlet New-AzMigrateDiskMapping i podając, że jako dane wejściowe do parametru DiskToInclude w poleceniu cmdlet New-AzMigrateServerReplication . Można również użyć polecenia cmdlet New-AzMigrateDiskMapping , aby określić różne typy dysków docelowych dla każdego pojedynczego dysku do replikacji.

Określ wartości dla następujących parametrów polecenia cmdlet New-AzMigrateDiskMapping :

  • DiskId: określ unikatowy identyfikator dysku, który ma zostać zmigrowany. Identyfikator dysku, który ma być używany, to właściwość UUID dysku pobranego przy użyciu polecenia cmdlet Get-AzMigrateDiscoveredServer .
  • IsOSDisk: określ true , czy dysk do zmigrowania jest dyskiem systemu operacyjnego maszyny wirtualnej. W przeciwnym razie określ wartość false.
  • DiskType: określ typ dysku, który ma być używany na platformie Azure.

W poniższym przykładzie replikujemy tylko dwa dyski odnalezionej maszyny wirtualnej. Określamy dysk systemu operacyjnego i używamy różnych typów dysków dla każdego dysku do replikacji. Polecenie cmdlet zwraca zadanie, które można śledzić na potrzeby monitorowania stanu operacji.

# 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

Monitorowanie replikacji

Replikacja występuje w następujących przypadkach:

  • Po pomyślnym zakończeniu zadania uruchamiania replikacji maszyny rozpoczynają replikację początkową na platformę Azure.
  • Podczas replikacji początkowej tworzona jest migawka maszyny wirtualnej. Dane dysku z migawki są replikowane do dysków zarządzanych przez replikę na platformie Azure.
  • Po zakończeniu replikacji początkowej rozpoczyna się replikacja różnicowa. Przyrostowe zmiany dysków lokalnych są okresowo replikowane do dysków repliki na platformie Azure.

Śledzenie stanu replikacji przy użyciu polecenia 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

Właściwości Stan migracji i Opis stanu migracji można śledzić w danych wyjściowych.

  • W przypadku replikacji początkowej wartości właściwości Stan migracji i Opis stanu migracji to InitialSeedingInProgress i Initial replication, odpowiednio.
  • Podczas replikacji różnicowej wartości właściwości Stan migracji i Opis stanu migracji to Replicating i Ready to migrate, odpowiednio.
  • Po zakończeniu migracji wartości właściwości Stan migracji i Opis stanu migracji to Migration succeeded i Migrated, odpowiednio.
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

Aby uzyskać szczegółowe informacje na temat postępu replikacji, uruchom następujące polecenie cmdlet:

Write-Output $replicatingserver.ProviderSpecificDetail

Postęp replikacji początkowej można śledzić przy użyciu właściwości Initial Seeding Progress Percentage (Procent początkowego postępu rozmieszczania) w danych wyjściowych.

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

Replikacja występuje w następujących przypadkach:

  • Po pomyślnym zakończeniu zadania uruchamiania replikacji maszyny rozpoczynają replikację początkową na platformę Azure.
  • Podczas replikacji początkowej tworzona jest migawka maszyny wirtualnej. Dane dysku z migawki są replikowane do dysków zarządzanych przez replikę na platformie Azure.
  • Po zakończeniu replikacji początkowej rozpoczyna się replikacja różnicowa. Przyrostowe zmiany dysków lokalnych są okresowo replikowane do dysków repliki na platformie Azure.

Pobieranie stanu zadania

Stan zadania można monitorować przy użyciu polecenia cmdlet Get-AzMigrateJob .

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

Aktualizowanie właściwości replikowania maszyny wirtualnej

Migracja i modernizacja umożliwiają zmianę właściwości docelowych, takich jak nazwa, rozmiar, grupa zasobów, konfiguracja karty sieciowej itd. dla replikowania maszyny wirtualnej.

Następujące właściwości można zaktualizować dla maszyny wirtualnej.

Parametr Type Opis
Nazwa maszyny wirtualnej Opcjonalnie Określ nazwę maszyny wirtualnej platformy Azure do utworzenia przy użyciu parametru TargetVMName .
Rozmiar maszyny wirtualnej Opcjonalnie Określ rozmiar maszyny wirtualnej platformy Azure, który ma być używany na potrzeby replikowania maszyny wirtualnej przy użyciu parametru TargetVMSize . Na przykład aby przeprowadzić migrację maszyny wirtualnej do maszyny wirtualnej D2_v2 na platformie Azure, określ wartość jako TargetVMSize Standard_D2_v2.
Sieć wirtualna Opcjonalnie Określ identyfikator sieci wirtualnej platformy Azure, do którego ma zostać zmigrowana maszyna wirtualna przy użyciu parametru TargetNetworkId .
Grupa zasobów Opcjonalnie Konfigurację IC można określić za pomocą polecenia cmdlet New-AzMigrateNicMapping . Następnie obiekt jest przekazywany do parametru NicToUpdate w poleceniu cmdlet Set-AzMigrateServerReplication .

- Zmień alokację adresu IP: aby określić statyczny adres IP dla karty sieciowej, podaj adres IPv4, który ma być używany jako statyczny adres IP dla maszyny wirtualnej przy użyciu parametru TargetNicIP . Aby dynamicznie przypisać adres IP dla karty sieciowej, podaj auto jako wartość parametru TargetNicIP .
— Użyj wartości Primary, Secondary lub DoNotCreate parametru TargetNicSelectionType , aby określić, czy karta sieciowa powinna być podstawowa, pomocnicza, czy nie powinna być tworzona na migrowanej maszynie wirtualnej. Jako podstawową kartę sieciową maszyny wirtualnej można określić tylko jedną kartę sieciową.
— Aby utworzyć kartę sieciową podstawową, należy również określić inne karty sieciowe, które powinny być pomocnicze lub nie mają być tworzone na migrowanej maszynie wirtualnej.
- Aby zmienić podsieć dla karty sieciowej, określ nazwę podsieci przy użyciu parametru TargetNicSubnet .
Interfejs sieciowy Opcjonalnie Określ nazwę maszyny wirtualnej platformy Azure do utworzenia przy użyciu parametru TargetVMName .
Availability zone Opcjonalnie Aby użyć stref dostępności, określ wartość strefy dostępności dla parametru TargetAvailabilityZone .
Zestaw dostępności Opcjonalnie Aby użyć zestawów dostępności, określ identyfikator zestawu dostępności dla parametru TargetAvailabilitySet .
Tagi Opcjonalnie W przypadku aktualizowania tagów użyj następujących parametrów: UpdateTag lub UpdateVMTag, UpdateDiskTag, UpdateNicTagi typu operacji UpdateTagOperation tagu aktualizacji lub UpdateVMTagOperation, . UpdateDiskTagOperationUpdateNicTagOperation Operacja tagu aktualizacji przyjmuje następujące wartości: Scal, Usuń i Zamień.
Służy UpdateTag do aktualizowania wszystkich tagów między maszynami wirtualnymi, dyskami i kartami sieciowymi.
Służy UpdateVMTag do aktualizowania tagów maszyn wirtualnych.
Służy UpdateDiskTag do aktualizowania tagów dysku.
Służy UpdateNicTag do aktualizowania tagów kart interfejsu sieciowego.
Służy UpdateTagOperation do aktualizowania operacji dla wszystkich tagów między maszynami wirtualnymi, dyskami i kartami sieciowymi.
Służy UpdateVMTagOperation do aktualizowania tagów maszyn wirtualnych.
Służy UpdateDiskTagOperation do aktualizowania tagów dysku.
Służy UpdateNicTagOperation do aktualizowania tagów kart interfejsu sieciowego.

Opcja zamiany zastępuje cały zestaw istniejących tagów nowym zestawem.
Opcja scalania umożliwia dodawanie tagów z nowymi nazwami i aktualizowanie wartości tagów przy użyciu istniejących nazw.
Opcja usuwania umożliwia selektywne usuwanie tagów na podstawie określonych nazw lub par nazwa/wartość.
Dyski Opcjonalnie Dla dysku systemu operacyjnego:
— Zaktualizuj nazwę dysku systemu operacyjnego przy użyciu parametru TargetDiskName .

Aby zaktualizować wiele dysków:
— Użyj polecenia Set-AzMigrateDiskMapping , aby ustawić nazwy dysków na zmienną $DiskMapping. Następnie użyj parametru DiskToUpdate i przekaż zmienną.

Identyfikator dysku, który ma być używany w poleceniach cmdlet Set-AzMigrateDiskMapping , jest właściwością UUID dysku pobranego przy użyciu polecenia cmdlet Get-AzMigrateDiscoveredServer .
Nazwa karty sieciowej Opcjonalnie Użyj polecenia New-AzMigrateNicMapping , aby ustawić nazwy karty sieciowej na zmienną $NICMapping. Następnie użyj parametru NICToUpdate i przekaż zmienną.

Polecenie cmdlet Get-AzMigrateServerReplication zwraca zadanie, które można śledzić w celu monitorowania stanu operacji.

# 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

W poniższym przykładzie zaktualizujemy konfigurację karty sieciowej, tworząc pierwszą kartę sieciową jako podstawową i przypisując do niej statyczny adres IP. Odrzucamy drugą kartę sieciową na potrzeby migracji, aktualizujemy docelową nazwę i rozmiar maszyny wirtualnej oraz dostosowujemy nazwy kart interfejsu sieciowego.

# 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

W poniższym przykładzie dostosujemy nazwę dysku.

# 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 

W poniższym przykładzie dodajemy tagi do replikujących maszyn wirtualnych.

# 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 

Użyj poniższego przykładu, aby śledzić stan zadania.

# 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

Uruchamianie migracji testowej

Po rozpoczęciu replikacji różnicowej można uruchomić migrację testową dla maszyn wirtualnych przed uruchomieniem pełnej migracji na platformę Azure. Zdecydowanie zalecamy przeprowadzenie testu migracji co najmniej raz dla każdej maszyny przed przeprowadzeniem migracji. Polecenie cmdlet zwraca zadanie, które można śledzić na potrzeby monitorowania stanu operacji.

  • Uruchamianie testów migracji sprawdza, czy migracja działa zgodnie z oczekiwaniami. Migracja testowa nie ma wpływu na maszynę lokalną, która pozostaje operacyjna i kontynuuje replikację.
  • Migracja testowa symuluje migrację, tworząc maszynę wirtualną platformy Azure przy użyciu replikowanych danych. Test zwykle przeprowadza migrację do sieci wirtualnej nieprodukcyjnej w ramach subskrypcji platformy Azure.
  • Możesz użyć replikowanej testowej maszyny wirtualnej platformy Azure, aby zweryfikować migrację, przeprowadzić testowanie aplikacji i rozwiązać wszelkie problemy przed pełną migracją.

Wybierz sieć wirtualną platformy Azure, która ma być używana do testowania, określając identyfikator sieci wirtualnej przy użyciu parametru TestNetworkID .

# 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

Po zakończeniu testowania wyczyść migrację testową przy użyciu polecenia cmdlet Start-AzMigrateTestMigrationCleanup . Polecenie cmdlet zwraca zadanie, które można śledzić na potrzeby monitorowania stanu operacji.

# 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

Migrowanie maszyn wirtualnych

Po sprawdzeniu, czy migracja testowa działa zgodnie z oczekiwaniami, można przeprowadzić migrację serwera replikowania przy użyciu następującego polecenia cmdlet. Polecenie cmdlet zwraca zadanie, które można śledzić na potrzeby monitorowania stanu operacji.

Jeśli nie chcesz wyłączać serwera źródłowego, nie używaj parametru TurnOffSourceServer .

# 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

Kończenie migracji

  1. Po zakończeniu migracji zatrzymaj replikację maszyny lokalnej i wyczyść informacje o stanie replikacji maszyny wirtualnej przy użyciu następującego polecenia cmdlet. Polecenie cmdlet zwraca zadanie, które można śledzić na potrzeby monitorowania stanu operacji.

    # 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. Po zakończeniu migracji wykonaj wszystkie potrzebne czynności konfiguracyjne, takie jak aktualizacja parametrów połączenia bazy danych i serwera sieci Web.

  3. Wykonaj dla zmigrowanej aplikacji uruchomionej na platformie Azure testy końcowe aplikacji i akceptacji migracji.

  4. Zmniejszenie ruchu do zmigrowanego wystąpienia maszyny wirtualnej platformy Azure.

  5. Usuń lokalne maszyny wirtualne z lokalnego spisu maszyn wirtualnych.

  6. Usuń lokalne maszyny wirtualne z lokalnych kopii zapasowych.

  7. Zaktualizuj wszystkie dokumenty wewnętrzne, aby wyświetlić nową lokalizację i adres IP maszyn wirtualnych platformy Azure.

Najlepsze rozwiązania dotyczące po migracji