Udostępnij za pośrednictwem


Skalowanie migracji maszyn wirtualnych VMware

Ten artykuł pomaga zrozumieć, jak używać skryptów do migrowania dużej liczby maszyn wirtualnych VMware przy użyciu metody bez agenta. Do skalowania migracji należy użyć modułu Azure Migrate PowerShell.

Skrypty automatyzacji migracji VMware usługi Azure Migrate są dostępne do pobrania w repozytorium Przykładów programu Azure PowerShell w witrynie GitHub. Skrypty mogą służyć do migrowania maszyn wirtualnych VMware na platformę Azure przy użyciu metody migracji bez agenta. Polecenia programu PowerShell usługi Azure Migrate używane w tych skryptach zostały opisane tutaj.

Bieżące ograniczenia

  • Te skrypty obsługują migrację maszyn wirtualnych VMware ze wszystkimi dyskami. Skrypty można zaktualizować, jeśli chcesz selektywnie replikować dyski dołączone do maszyny wirtualnej VMware.
  • Skrypty obsługują korzystanie z zaleceń dotyczących oceny. Jeśli zalecenia dotyczące oceny nie są używane, wszystkie dyski dołączone do maszyny wirtualnej VMware są migrowane do tego samego typu dysku zarządzanego (Standardowa lub Premium). Skrypty można zaktualizować, jeśli chcesz używać wielu typów dysków zarządzanych z tą samą maszyną wirtualną.

Wymagania wstępne

Instalowanie modułu programu PowerShell usługi Azure Migrate

Moduł Azure Migrate PowerShell jest dostępny w wersji zapoznawczej. Należy zainstalować moduł programu PowerShell przy użyciu następującego polecenia.

Install-Module -Name Az.Migrate 

Plik wejściowy CSV

Po zakończeniu wszystkich wymagań wstępnych należy utworzyć plik CSV zawierający dane każdej źródłowej maszyny wirtualnej, która ma zostać zmigrowana. Wszystkie skrypty zostały zaprojektowane tak, aby działały na tym samym pliku CSV. Przykładowy szablon CSV jest dostępny w folderze scripts na potrzeby Dokumentacji. Plik csv można skonfigurować tak, aby można było użyć zaleceń dotyczących oceny, a nawet określić, czy niektóre operacje nie mają być wyzwalane dla określonej maszyny wirtualnej.

Uwaga

Ten sam plik CSV może służyć do migrowania maszyn wirtualnych w wielu projektach usługi Azure Migrate.

Schemat pliku CSV

Nagłówek kolumny Opis
AZMIGRATEPROJECT_SUBSCRIPTION_ID Podaj identyfikator subskrypcji projektu usługi Azure Migrate.
AZMIGRATEPROJECT_RESOURCE_GROUP_NAME Podaj nazwę grupy zasobów usługi Azure Migrate.
AZMIGRATEPROJECT_NAME Podaj nazwę projektu usługi Azure Migrate, w którym chcesz migrować serwery.
SOURCE_MACHINE_NAME Podaj przyjazną nazwę (nazwę wyświetlaną) odnalezionej maszyny wirtualnej w projekcie usługi Azure Migrate.
AZMIGRATEASSESSMENT_NAME Podaj nazwę oceny, która musi być używana do migracji.
AZMIGRATEGROUP_NAME Podaj nazwę grupy, która została użyta do oceny usługi Azure Migrate.
TARGET_RESOURCE_GROUP_NAME Podaj nazwę grupy zasobów platformy Azure, do której ma zostać zmigrowana maszyna wirtualna.
TARGET_VNET_NAME Podaj nazwę usługi Azure Virtual Network, która powinna być używana przez zmigrowana maszyna wirtualna.
TARGET_SUBNET_NAME Podaj nazwę podsieci w docelowej sieci wirtualnej, która powinna być używana przez zmigrowana maszyna wirtualna. Jeśli pozostanie puste, zostanie użyta podsieć domyślna.
TARGET_MACHINE_NAME Podaj nazwę, która ma być używana przez zmigrowanych maszyn wirtualnych na platformie Azure. Jeśli pole pozostanie puste, zostanie użyta nazwa maszyny źródłowej.
TARGET_MACHINE_SIZE Podaj jednostkę przechowywania zasobów (SKU), która powinna być używana przez maszynę wirtualną na platformie Azure. Aby przeprowadzić migrację maszyny wirtualnej do maszyny wirtualnej D2_v2 na platformie Azure, określ wartość w tym polu jako "Standard_D2_v2". Jeśli używasz oceny, ta wartość będzie uzyskiwana na podstawie zalecenia dotyczącego oceny.
LICENSE_TYPE Określ, czy chcesz użyć Korzyść użycia hybrydowego platformy Azure dla maszyn wirtualnych z systemem Windows Server. Użyj wartości "WindowsServer", aby skorzystać z Korzyść użycia hybrydowego platformy Azure. W przeciwnym razie pozostaw to pole puste lub użyj polecenia "NoLicenseType".
OS_DISK_ID Podaj identyfikator dysku systemu operacyjnego dla maszyny wirtualnej, która ma zostać zmigrowana. Identyfikator dysku do użycia jest unikatową właściwością identyfikatora (UUID) dysku pobranego przy użyciu polecenia cmdlet Get-AzMigrateServer. Skrypt użyje pierwszego dysku maszyny wirtualnej jako dysku systemu operacyjnego, jeśli nie zostanie podana żadna wartość.
TARGET_DISKTYPE Podaj typ dysku, który ma być używany dla wszystkich dysków maszyny wirtualnej na platformie Azure. Użyj "Premium_LRS" dla dysków zarządzanych w warstwie Premium, "StandardSSD_LRS" dla dysków SSD w warstwie Standardowa i "Standard_LRS", aby używać dysków HDD w warstwie Standardowa. Jeśli zdecydujesz się użyć oceny, skrypt określi priorytety przy użyciu zalecanych typów dysków dla każdego dysku maszyny wirtualnej. Jeśli nie używasz oceny ani nie określisz żadnej wartości, skrypt będzie domyślnie używać dysków HDD w warstwie Standardowa.
AVAILABILITYZONE_NUMBER Określ numer strefy dostępności, który ma być używany dla migrowanej maszyny wirtualnej. Możesz pozostawić to pole puste, jeśli nie chcesz używać stref dostępności.
AVAILABILITYSET_NAME Określ nazwę zestawu dostępności, który ma być używany dla migrowanej maszyny wirtualnej. Możesz pozostawić to pole puste, jeśli nie chcesz używać zestawu dostępności.
TURNOFF_SOURCESERVER Określ wartość "Y", jeśli chcesz wyłączyć źródłową maszynę wirtualną w czasie migracji. W przeciwnym razie użyj polecenia "N". Jeśli pole pozostanie puste, skrypt przyjmuje wartość "N".
TESTMIGRATE_VNET_NAME Określ nazwę sieci wirtualnej, która ma być używana do migracji testowej.
UPDATED_TARGET_RESOURCE_GROUP_NAME Jeśli chcesz zaktualizować grupę zasobów, która ma być używana przez zmigrowany maszynę wirtualną na platformie Azure, określ nazwę grupy zasobów platformy Azure, a następnie pozostaw ją pustą.
UPDATED_TARGET_VNET_NAME Jeśli chcesz zaktualizować sieć wirtualną, która ma być używana przez zmigrowanej maszynie wirtualnej na platformie Azure, określ nazwę usługi Azure Virtual Network, a następnie pozostaw ją pustą.
UPDATED_TARGET_MACHINE_NAME Jeśli chcesz zaktualizować nazwę, która ma być używana przez zmigrowanej maszynie wirtualnej na platformie Azure, określ nową nazwę, która ma być używana, pozostaw ją pustą.
UPDATED_TARGET_MACHINE_SIZE Jeśli chcesz zaktualizować jednostkę SKU do użycia przez zmigrowanej maszyny wirtualnej na platformie Azure, określ nową jednostkę SKU do użycia, a następnie pozostaw ją pustą.
UPDATED_AVAILABILITYZONE_NUMBER Jeśli chcesz zaktualizować strefę dostępności do użycia przez zmigrowanej maszynie wirtualnej na platformie Azure, określ nową strefę dostępności, która ma być używana, pozostaw ją pustą.
UPDATED_AVAILABILITYSET_NAME Jeśli chcesz zaktualizować zestaw dostępności, który ma być używany przez zmigrowanej maszynie wirtualnej na platformie Azure, określ nowy zestaw dostępności, który ma być używany, pozostaw to pole puste.
UPDATE_NIC1_ID Określ identyfikator karty sieciowej do zaktualizowania. Jeśli pole pozostanie puste, skrypt przyjmuje wartość jako pierwszą kartę sieciową odnalezionej maszyny wirtualnej. Jeśli nie chcesz aktualizować karty sieciowej maszyny wirtualnej, pozostaw wszystkie pola zawierające nazwę karty sieciowej puste.
UPDATED_TARGET_NIC1_SELECTIONTYPE Określ wartość, która ma być używana dla tej karty sieciowej. Użyj opcji "Podstawowa", "Pomocnicza" lub "DoNotCreate", aby określić, czy ta karta sieciowa powinna być podstawowa, pomocnicza lub nie powinna być tworzona na migrowanej maszynie wirtualnej. Jako podstawową kartę sieciową maszyny wirtualnej można określić tylko jedną kartę sieciową. Pozostaw pole puste, jeśli nie chcesz aktualizować.
UPDATED_TARGET_NIC1_SUBNET_NAME Określ nazwę podsieci, która ma być używana dla karty sieciowej na migrowanej maszynie wirtualnej. Pozostaw pole puste, jeśli nie chcesz aktualizować.
UPDATED_TARGET_NIC1_IP Określ adres IPv4, który ma być używany przez kartę sieciową na zmigrowanej maszynie wirtualnej, jeśli chcesz użyć statycznego adresu IP. Użyj opcji "auto", jeśli chcesz automatycznie przypisać adres IP. Pozostaw pole puste, jeśli nie chcesz aktualizować.
UPDATE_NIC2_ID Określ identyfikator karty sieciowej do zaktualizowania. Jeśli pole pozostanie puste, skrypt zakłada, że wartość będzie drugą kartą sieciową odnalezionej maszyny wirtualnej. Jeśli nie chcesz aktualizować karty sieciowej maszyny wirtualnej, pozostaw wszystkie pola zawierające nazwę karty sieciowej puste.
UPDATED_TARGET_NIC2_SELECTIONTYPE Określ wartość, która ma być używana dla tej karty sieciowej. Użyj opcji "Podstawowa", "Pomocnicza" lub "DoNotCreate", aby określić, czy ta karta sieciowa powinna być podstawowa, pomocnicza lub nie powinna być tworzona na migrowanej maszynie wirtualnej. Jako podstawową kartę sieciową maszyny wirtualnej można określić tylko jedną kartę sieciową. Pozostaw pole puste, jeśli nie chcesz aktualizować.
UPDATED_TARGET_NIC2_SUBNET_NAME Określ nazwę podsieci, która ma być używana dla karty sieciowej na migrowanej maszynie wirtualnej. Pozostaw pole puste, jeśli nie chcesz aktualizować.
UPDATED_TARGET_NIC2_IP Określ adres IPv4, który ma być używany przez kartę sieciową na zmigrowanej maszynie wirtualnej, jeśli chcesz użyć statycznego adresu IP. Użyj opcji "auto", jeśli chcesz automatycznie przypisać adres IP. Pozostaw pole puste, jeśli nie chcesz aktualizować.
OK_TO_UPDATE Użyj polecenia "Y", aby wskazać, czy właściwości maszyny wirtualnej muszą zostać zaktualizowane po uruchomieniu skryptu AzMigrate_UpdateMachineProperties. Użyj wartości "N" lub pozostaw wartość pustą w przeciwnym razie.
OK_TO_MIGRATE Użyj "Y", aby wskazać, czy maszyna wirtualna ma zostać zmigrowana podczas uruchamiania skryptu AzMigrate_StartMigration. Jeśli nie chcesz migrować maszyny wirtualnej, użyj wartości "N" lub pozostaw ją pustą.
OK_TO_USE_ASSESSMENT Użyj "Y", aby wskazać, czy maszyna wirtualna powinna rozpocząć replikację przy użyciu zaleceń dotyczących oceny podczas uruchamiania skryptu AzMigrate_StartReplication. Spowoduje to zastąpienie wartości TARGET_MACHINE_SIZE i TARGET_DISKTYPE w pliku CSV. Jeśli nie chcesz używać zaleceń dotyczących oceny, użyj wartości "N" lub pozostaw ją pustą.
OK_TO_TESTMIGRATE Użyj polecenia "Y", aby wskazać, czy maszyna wirtualna powinna zostać zmigrowana podczas uruchamiania skryptu AzMigrate_StartTestMigration. Jeśli nie chcesz testować migracji maszyny wirtualnej, użyj wartości "N" lub pozostaw ją pustą.
OK_TO_RETRIEVE_REPLICATIONSTATUS Użyj wartości "Y", aby wskazać, czy stan replikacji maszyny wirtualnej powinien zostać zaktualizowany podczas uruchamiania skryptu AzMigrate_ReplicationStatus. Jeśli nie chcesz aktualizować stanu replikacji, użyj wartości "N" lub pozostaw wartość pustą.
OK_TO_CLEANUP Użyj "Y", aby wskazać, czy replikacja maszyny wirtualnej powinna zostać wyczyszczona po uruchomieniu skryptu AzMigrate_StopReplication. Użyj wartości "N" lub pozostaw wartość pustą w przeciwnym razie.
OK_TO_TESTMIGRATE_CLEANUP Użyj "Y", aby wskazać, czy migracja testowa dla maszyny wirtualnej powinna zostać wyczyszczona po uruchomieniu skryptu AzMigrate_CleanUpTestMigration. Użyj wartości "N" lub pozostaw wartość pustą w przeciwnym razie.

Wykonywanie skryptu

Gdy plik CSV będzie gotowy, możesz wykonać następujące kroki, aby przeprowadzić migrację lokalnych maszyn wirtualnych VMware.

Krok # Nazwa skryptu Opis
1 AzMigrate_StartReplication.ps1 Włącz replikację dla wszystkich maszyn wirtualnych wymienionych w pliku CSV, skrypt tworzy dane wyjściowe CSV i plik dziennika na potrzeby rozwiązywania problemów.
2 AzMigrate_ReplicationStatus.ps1 Sprawdź stan replikacji, skrypt tworzy dane wyjściowe csv ze stanem dla każdej maszyny wirtualnej i pliku dziennika na potrzeby rozwiązywania problemów.
3 AzMigrate_UpdateMachineProperties.ps1 Po zakończeniu replikacji początkowej maszyn wirtualnych użyj tego skryptu, aby zaktualizować właściwości docelowe maszyny wirtualnej (właściwości obliczeniowe i sieciowe). Skrypt tworzy dane wyjściowe CSV ze szczegółami zadania dla każdej maszyny wirtualnej.
100 AzMigrate_StartTestMigration.ps1 Uruchom test pracy w trybie failover dla wszystkich maszyn wirtualnych wymienionych w pliku CSV skonfigurowanym do migracji testowej. Skrypt tworzy dane wyjściowe CSV ze szczegółami zadania dla każdej maszyny wirtualnej.
5 AzMigrate_CleanUpTestMigration.ps1 Po ręcznym zweryfikowaniu maszyn wirtualnych, które zostały przetestowane w trybie failover, użyj tego skryptu, aby wyczyścić testowe maszyny wirtualne trybu failover dla wszystkich maszyn wirtualnych wymienionych w pliku CSV skonfigurowanym do czyszczenia migracji testowej. Skrypt tworzy dane wyjściowe CSV ze szczegółami zadania dla każdej maszyny wirtualnej.
6 AzMigrate_StartMigration.ps1 Uruchom migrację dla wszystkich maszyn wirtualnych wymienionych w pliku CSV skonfigurowanym do migracji. Skrypt tworzy dane wyjściowe CSV ze szczegółami zadania dla każdej maszyny wirtualnej.
7 AzMigrate_StopReplication.ps1 Zatrzymuje replikację maszyny wirtualnej po pomyślnym przeprowadzeniu migracji lub jeśli chcesz anulować replikację z innych powodów. Skrypt tworzy dane wyjściowe CSV ze szczegółami zadania dla każdej maszyny wirtualnej.

Następujące skrypty są wywoływane przez inne skrypty dla wszystkich operacji usługi Azure Migrate, takich jak włączanie replikacji, rozpoczynanie migracji testowej, aktualizowanie właściwości maszyny wirtualnej itd. Upewnij się, że wszystkie skrypty znajdują się w tym samym folderze/ścieżce.

Krok # Nazwa skryptu Opis
1 AzMigrate_Shared.ps1 Typowy skrypt zawierający funkcje pobierania właściwości oceny (za pośrednictwem interfejsu API), odnalezionych maszyn wirtualnych i replikowania maszyn wirtualnych.
2 AzMigrate_CSV_Processor.ps1 Typowy skrypt zawierający funkcje używane na potrzeby operacji na plikach CSV, w tym ładowanie, odczytywanie i drukowanie dzienników.
3 AzMigrate_Logger.ps1 Typowy skrypt wywoływany do generowania pliku dziennika dla operacji automatyzacji usługi Azure Migrate. Plik dziennika będzie mieć format dziennika. Scriptname.Datetime.txt.

Oprócz powyższych, folder zawiera również plik AzMigrate_Template.ps1, który zawiera szkielet struktury do tworzenia skryptów niestandardowych dla różnych operacji usługi Azure Migrate.

Składnia wykonywania skryptu

Po pobraniu skryptów skrypty można wykonywać w następujący sposób.

Jeśli chcesz wykonać skrypt, aby uruchomić replikację maszyn wirtualnych przy użyciu pliku Input.csv, użyj następującej składni.

".\AzMigrate_StartReplication.ps1" .\Input.csv 

Aby dowiedzieć się więcej na temat migrowania maszyn wirtualnych VMware za pomocą programu Azure Migrate przy użyciu programu Azure PowerShell, postępuj zgodnie z samouczkiem.