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
- Ukończ samouczek odnajdywania, aby przygotować platformę Azure i oprogramowanie VMware do migracji.
- Zalecamy ukończenie drugiego samouczka w celu oceny maszyn wirtualnych VMware przed ich migracją na platformę Azure.
- Musisz mieć moduł Azure PowerShell
Az
. Jeśli musisz zainstalować lub uaktualnić program Azure PowerShell, postępuj zgodnie z tym przewodnikiem, aby zainstalować i skonfigurować program Azure PowerShell.
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.