Sdílet prostřednictvím


Přesun virtuálního počítače z oblasti regionální do zón dostupnosti zón pomocí Azure PowerShellu a rozhraní příkazového řádku

Tento článek podrobně popisuje přesun virtuálních počítačů s jednou instancí Azure z oblastí do zónových zón dostupnosti pomocí rutin Azure PowerShellu a rozhraní příkazového řádku. Zóna dostupnosti je fyzicky oddělená zóna v oblasti Azure. Používejte zóny dostupnosti k ochraně aplikací a dat před nepravděpodobným selháním nebo ztrátou celého datového centra.

Pokud chcete využít zóny dostupnosti, vytvořte virtuální počítač v podporované oblasti Azure.

Požadavky

Před zahájením procesu přesunutí ověřte následující požadavky:

Požadavek Popis
Oprávnění předplatného Ujistěte se, že máte přístup vlastníka k předplatnému obsahujícímu prostředky, které chcete přesunout.

Spravovaná identita potřebuje tato oprávnění:
– Oprávnění k zápisu nebo vytváření prostředků v předplatném uživatele, které jsou k dispozici s rolí Přispěvatel.
– Oprávnění k vytváření přiřazení rolí. Obvykle je k dispozici s rolemi Vlastník nebo Správce uživatelských přístupů nebo s vlastní rolí, která má Microsoft.Authorization přiřazená přiřazení rolí nebo oprávnění k zápisu. Toto oprávnění není potřeba, pokud má spravovaná identita prostředku sdílené datové složky již udělený přístup k úložišti dat Azure.
Přečtěte si další informace o rolích Azure.
Podpora virtuálních počítačů Projděte si podporované oblasti.

– Zkontrolujte podporovaná nastavení výpočetních prostředků, úložiště a sítí .
Stav virtuálního počítače Virtuální počítače, které chcete přesunout, musí být před pokusem o zónový přesun ve stavu v pořádku. Před pokusem o zónový přesun virtuálního počítače se ujistěte, že jsou všechny čekající restartování a povinné aktualizace dokončené a že virtuální počítač funguje a je v pořádku.

Kontrola požadavků powershellu a rozhraní příkazového řádku

Většina operací přesunu prostředků je stejná bez ohledu na to, jestli používáte Azure Portal, PowerShell nebo rozhraní příkazového řádku s několika výjimkami.

Poznámka:

Další informace o příkazech a jejich syntaxi najdete na této stránce.

Operace Portál PowerShell nebo rozhraní příkazového řádku
Vytvoření kolekce pro přesun Kolekce přesunů (seznam všech místních virtuálních počítačů, které přesouváte) se vytvoří automaticky. Požadovaná oprávnění identit se přiřazují v back-endu portálem. Rutiny PowerShellu nebo rutiny rozhraní příkazového řádku můžete použít k:
– Přiřaďte ke kolekci spravovanou identitu.
– Přidejte do kolekce místní virtuální počítače.
Operace přesunu prostředků Ověřte kroky a ověřte změny nastavení uživatele . Zahájení přesunu spustí proces přesunutí a vytvoří kopii zdrojového virtuálního počítače v cílové zóně. Také dokončí přesun nově vytvořeného virtuálního počítače v cílové zóně. Rutiny PowerShellu nebo rutiny rozhraní příkazového řádku pro:
– Přidání regionálních virtuálních počítačů do kolekce
– Řešení závislostí
- Proveďte pohyb.
- Potvrďte přesun.

Ukázkové hodnoty

Tyto hodnoty používáme v příkladech skriptu:

Nastavení Hodnota
Subscription ID id předplatného
Přesunout oblast USA – východ
Skupina prostředků (uchovávání metadat pro kolekci přesunů) RegionToZone-DemoMCRG
Přesunout název kolekce RegionToZone-DemoMC
Umístění kolekce přesunů eastus2euap
Typ identity SystemAssigned
název virtuálního počítače demoVM-MoveResource
Přesunout typ RegionToZone

Přihlášení k Azure

Přihlaste se ke svému předplatnému Azure pomocí příkazu Connect-AzAccount a postupujte podle pokynů na obrazovce.

Nastavení ID předplatného:

Set-AzContext -SubscriptionId " <subscription-id> "

Připojení k ID předplatného:

Connect-AzAccount –Subscription "<subscription-id>"

Nastavení kolekce přesunů

Objekt MoveCollection ukládá metadata a konfigurační informace o prostředcích, které chcete přesunout. Pokud chcete nastavit kolekci přesunutí, postupujte takto:

  • Vytvořte skupinu prostředků pro kolekci přesunů.
  • Zaregistrujte poskytovatele služeb do předplatného, aby bylo možné vytvořit prostředek MoveCollection.
  • Vytvořte objekt MoveCollection se spravovanou identitou. Aby objekt MoveCollection přistupoval k předplatnému, ve kterém se nachází služba Resource Mover, potřebuje spravovanou identitu přiřazenou systémem (dříve označovanou jako Identita spravované služby (MSI), která je důvěryhodná pro předplatné.
  • Udělte přístup k předplatnému Resource Mover pro spravovanou identitu.

Vytvoření skupiny prostředků

Pomocí následující rutiny vytvořte skupinu prostředků pro metadata a konfigurační informace o přesunu kolekce pomocí rutiny New-AzResourceGroup. Skupina prostředků je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.

New-AzResourceGroup -Name "RegionToZone-DemoMCRG" -Location "EastUS"

Výstup:

Výstup ukazuje, že spravovaný disk je ve stejné zóně dostupnosti jako virtuální počítač:

ResourceGroupName : RegionToZone-DemoMCRG
Location          : eastus
ProvisioningState : Succeeded
Tags              :
                    Name     Value
                    =======  ========
                    Created  20230908

ResourceId        : /subscriptions/<Subscription-id>/resourceGroups/RegionToZone-DemoMCRG

Registrace poskytovatele prostředků

  1. Zaregistrujte poskytovatele prostředků Microsoft.Migrate, aby bylo možné vytvořit prostředek MoveCollection následujícím způsobem:

    Register-AzResourceProvider -ProviderNamespace Microsoft.Migrate
    
  2. Počkejte na registraci:

    While(((Get-AzResourceProvider -ProviderNamespace Microsoft.Migrate)| where {$_.RegistrationState -eq "Registered" -and $_.ResourceTypes.ResourceTypeName -eq "moveCollections"}|measure).Count -eq 0)
    {
        Start-Sleep -Seconds 5
        Write-Output "Waiting for registration to complete."
    }
    

Vytvoření objektu MoveCollection

Vytvořte objekt MoveCollection a přiřaďte k němu spravovanou identitu následujícím způsobem:

New-AzResourceMoverMoveCollection -Name "RegionToZone-DemoMC"  -ResourceGroupName "RegionToZone-DemoMCRG" -MoveRegion "eastus" -Location "eastus2euap" -IdentityType "SystemAssigned" -MoveType "RegionToZone"

Výstup:

Etag                                   Location    Name
----                                   --------    ----
"3a00c441-0000-3400-0000-64fac1b30000" eastus2euap RegionToZone-DemoMC

Poznámka:

V případě zónového přesunu MoveType oblastí by měl být parametr nastaven jako RegionToZone a MoveRegion parametr by se měl nastavit jako umístění, ve kterém se nacházejí prostředky procházející zónovým přesunem. Ujistěte se, že parametry SourceRegion a TargetRegion nejsou povinné a měly by být nastaveny na hodnotu null.

Udělení přístupu ke spravované identitě

Následujícím způsobem udělte spravované identitě přístup k předplatnému Resource Mover. Musíte být vlastníkem předplatného.

  1. Načtěte podrobnosti identity z MoveCollection objektu.

    $moveCollection = Get-AzResourceMoverMoveCollection -Name "RegionToZone-DemoMC" -ResourceGroupName "RegionToZone-DemoMCRG"
    $identityPrincipalId = $moveCollection.IdentityPrincipalId
    
  2. Přiřaďte k identitě požadované role, aby mohl Azure Resource Mover získat přístup k vašemu předplatnému, aby vám pomohl přesunout prostředky. Zkontrolujte seznam požadovaných oprávnění pro přesun.

    New-AzRoleAssignment -ObjectId $identityPrincipalId -RoleDefinitionName Contributor -Scope "/subscriptions/<subscription-id>"
    New-AzRoleAssignment -ObjectId $identityPrincipalId -RoleDefinitionName "User Access Administrator" -Scope "/subscriptions/<subscription-id>"
    

Přidání regionálních virtuálních počítačů do kolekce přesunů

Načtěte ID existujících zdrojových prostředků, které chcete přesunout. Vytvořte objekt nastavení cílového prostředku a pak přidejte prostředky do kolekce pro přesun.

Poznámka:

Prostředky přidané do kolekce přesunu musí být ve stejném předplatném, ale můžou být v různých skupinách prostředků.

  1. Objekt nastavení cílového prostředku vytvořte následujícím způsobem:

    $targetResourceSettingsObj = New-Object Microsoft.Azure.PowerShell.Cmdlets.ResourceMover.Models.Api20230801.VirtualMachineResourceSettings
    $targetResourceSettingsObj.ResourceType = "Microsoft.Compute/virtualMachines"
    $targetResourceSettingsObj.TargetResourceName = "RegionToZone-demoTargetVm"
    $targetResourceSettingsObj.TargetAvailabilityZone = "2"
    

    Výstup

    ResourceType                      TargetResourceGroupName TargetResourceName        TargetAvailabilitySetId TargetAvailabilityZone TargetVMSize UserManagedIdentity
    ------------                      ----------------------- ------------------        ----------------------- ---------------------- ------------ -------------------
    Microsoft.Compute/virtualMachines                         RegionToZone-demoTargetVm                         2
    
  2. Přidání prostředků

    Add-AzResourceMoverMoveResource -ResourceGroupName "RegionToZone-DemoMCRG" -MoveCollectionName "RegionToZone-DemoMC" -SourceId "/subscriptions/<Subscription-id>/resourcegroups/PS-demo-RegionToZone-RG/providers/Microsoft.Compute/virtualMachines/RegionToZone-demoSourceVm" -Name "demoVM-MoveResource" -ResourceSetting $targetResourceSettingsObj
    

    Výstup

    DependsOn                         : {}
    DependsOnOverride                 : {}
    ErrorsPropertiesCode              :
    ErrorsPropertiesDetail            :
    ErrorsPropertiesMessage           :
    ErrorsPropertiesTarget            :
    ExistingTargetId                  :
    Id                                : /subscriptions/<Subscription-id>/resourceGroups/RegionToZone-DemoMCRG/providers/Microsoft.Migrate/moveCollections/Re
                                        gionToZone-DemoMC/moveResources/demoVM-MoveResource
    IsResolveRequired                 : False
    JobStatusJobName                  :
    JobStatusJobProgress              :
    MoveStatusErrorsPropertiesCode    : DependencyComputationPending
    MoveStatusErrorsPropertiesDetail  : {}
    MoveStatusErrorsPropertiesMessage : The dependency computation is not completed for resource - /subscriptions/<Subscription-id>/resourcegroups/PS-demo-R
                                        egionToZone-RG/providers/Microsoft.Compute/virtualMachines/RegionToZone-demoSourceVm'.
                                            Possible Causes: Dependency computation is pending for resource.
                                            Recommended Action: Validate dependencies to compute the dependencies.
    
    MoveStatusErrorsPropertiesTarget  :
    MoveStatusMoveState               : MovePending
    Name                              : demoVM-MoveResource
    ProvisioningState                 : Succeeded
    ResourceSetting                   : Microsoft.Azure.PowerShell.Cmdlets.ResourceMover.Models.Api20230801.VirtualMachineResourceSettings
    SourceId                          : /subscriptions/<Subscription-id>/resourcegroups/PS-demo-RegionToZone-RG/providers/Microsoft.Compute/virtualMachines/
                                        RegionToZone-demoSourceVm
    SourceResourceSetting             : Microsoft.Azure.PowerShell.Cmdlets.ResourceMover.Models.Api20230801.VirtualMachineResourceSettings
    SystemDataCreatedAt               : 9/8/2023 6:48:11 AM
    SystemDataCreatedBy               : xxxxx@microsoft.com
    SystemDataCreatedByType           : User
    SystemDataLastModifiedAt          : 9/8/2023 6:48:11 AM
    SystemDataLastModifiedBy          : xxxxx@microsoft.com
    SystemDataLastModifiedByType      : User
    TargetId                          :
    Type                              :
    

Úprava nastavení

Při přesouvání virtuálních počítačů Azure a přidružených prostředků můžete upravit nastavení cíle. Doporučujeme, abyste před ověřením kolekce přesunu změnili jenom nastavení cíle.

Nastavení, která můžete upravit, jsou:

  • Nastavení virtuálního počítače: Skupina prostředků, název virtuálního počítače, zóna dostupnosti virtuálního počítače, skladová položka virtuálního počítače, trezor klíčů virtuálního počítače a sada šifrování disků.
  • Nastavení síťových prostředků: Pro síťová rozhraní, virtuální sítě (virtuální sítě/) a skupiny zabezpečení sítě nebo síťová rozhraní můžete:
    • Použijte existující síťový prostředek v cílové oblasti.
    • Vytvořte nový prostředek s jiným názvem.
  • Veřejná IP adresa /Load Balancer: skladová položka a zóna

Upravte nastavení následujícím způsobem:

  1. Načtěte prostředek pro přesunutí, pro který chcete upravit vlastnosti. Pokud chcete například načíst spuštění virtuálního počítače:

    $moveResourceObj = Get-AzResourceMoverMoveResource -MoveCollectionName " RegionToZone-DemoMCRG " -ResourceGroupName " RegionToZone-DemoMC " -Name "PSDemoVM"
    
  2. Zkopírujte nastavení prostředku do objektu nastavení cílového prostředku.

    $TargetResourceSettingObj = $moveResourceObj.ResourceSetting
    
  3. Nastavte parametr v objektu nastavení cílového prostředku. Pokud chcete například změnit název cílového virtuálního počítače:

    $TargetResourceSettingObj.TargetResourceName="PSDemoVM-target"
    
  4. Aktualizujte nastavení cíle přesunu prostředků. V tomto příkladu změníme název virtuálního počítače z PSDemoVM na PSDemoVMTarget.

    Update-AzResourceMoverMoveResource -ResourceGroupName " RegionToZone-DemoMCRG " -MoveCollectionName " RegionToZone-DemoMC -SourceId "/subscriptions/<Subscription-d>/resourceGroups/PSDemoRM/providers/Microsoft.Compute/virtualMachines/PSDemoVM" -Name "PSDemoVM" -ResourceSetting $TargetResourceSettingObj
    

Řešení závislostí

Zkontrolujte, jestli přidané regionální virtuální počítače mají nějaké závislosti na jiných prostředcích, a podle potřeby přidejte.

  1. Při řešení závislostí postupujte následovně:

    Resolve-AzResourceMoverMoveCollectionDependency -ResourceGroupName "RegionToZone-DemoMCRG" -MoveCollectionName "RegionToZone-DemoMC"
    

    Výstup (pokud existují závislosti)

    AdditionalInfo :
    Code           :
    Detail         :
    EndTime        : 
    EndTime        : 9/8/2023 6:52:14 AM
    
    Id             : /subscriptions/<Subscription-id>/resourceGroups/RegionToZone-DemoMCRG/providers/Microsoft.Migrate/moveCollections/RegionToZone-DemoMC/operations/bc68354b-ec1f-44cb-92ab-fb3b4ad90229
    Message        :
    Name           : bc68354b-ec1f-44cb-92ab-fb3b4ad90229
    Property       : Microsoft.Azure.PowerShell.Cmdlets.ResourceMover.Models.Any
    StartTime      : 9/8/2023 6:51:50 AM
    Status         : Succeeded
    
  2. Získání seznamu prostředků přidaných do kolekce přesunů:

    $list = Get-AzResourceMoverMoveResource -ResourceGroupName "RegionToZone-DemoMCRG" -MoveCollectionName "RegionToZone-DemoMC" 
    

    $list.Name

    Výstup:

    demoVM-MoveResource
    mr_regiontozone-demosourcevm661_d6f18900-3b87-4fb5-9bdf-12da2f9fb185
    mr_regiontozone-demosourcevm-vnet_d8536bf5-2d5f-4778-9650-32d0570bc41a
    mr_regiontozone-demosourcevm-ip_6af03f1f-eae8-4541-83f5-97a2506cfc3e
    mr_regiontozone-demosourcevm-nsg_98d68420-d7ff-4e2d-b758-25a6df80fca7
    mr_nrms-timkbo3hy3nnmregiontozone-demosourcevm-vnet_f474c880-4823-4ed3-b761-96df6500f6a3
    
  3. Pokud chcete odebrat prostředky z kolekce prostředků, postupujte podle těchto pokynů.

Zóny dostupnosti skladové položky virtuálního počítače, ověření kvóty a kapacity

Azure poskytuje doporučení, pokud vybraná zóna dostupnosti nemá skladovou položku virtuálního počítače nebo pokud není k dispozici dostatečná kvóta nebo kapacita. Tady je několik příkladů těchto doporučení a akcí, které byste měli provést, pokud skladová položka virtuálního počítače není dostupná.

Skladová položka virtuálního počítače není dostupná

Pokud zdrojová velikost Standard_DC1ds_v3 virtuálního počítače není ve vybrané zóně 1dostupnosti dostupná.

Doporučená akce: Zvolte jinou velikost virtuálního počítače ve stejné zóně dostupnosti nebo vyberte jinou zónu dostupnosti s odpovídající doporučenou velikostí virtuálního počítače.

Doporučení:

  • SKU: Standard_DC1ds_v3, Zóny: [ 2 ]
  • SKU: Standard_DC2ds_v3, Zóny: [ 2 ]
  • SKU: Standard_DC4ds_v3, Zóny: [ 2 ]
  • SKU: Standard_DC1s_v3, Zóny: [ 2 ]
  • SKU: Standard_D2ds_v5, Zóny: [ 2, 3 ]
  • SKU: Standard_D2as_v4, Zóny: [ 1, 2, 3 ]
  • SKU: Standard_D2s_v3, Zóny: [ 1, 2, 3 ]
  • SKU: Standard_D2as_v5, zóny: [ 1, 2, 3 ]
  • SKU: Standard_D2s_v5, Zóny: [ 2, 3 ]

Doporučení pro kapacitu

Doporučení kapacity pro aktuální velikost Standard_DC1ds_v3 virtuálního počítače výběru ve vybrané zóně 1dostupnosti .

Doporučená akce: Pokud chcete zvýšit pravděpodobnost úspěšného nasazení, Azure identifikoval další doporučené velikosti a zóny virtuálních počítačů. Pokud chcete bezproblémově nasadit, zvolte jinou velikost virtuálního počítače ve stejné zóně dostupnosti nebo jinou zónu dostupnosti s odpovídající velikostí virtuálního počítače.

Doporučení:

  • SKU: Standard_DC1ds_v3, Zóny: [ 2 ]
  • SKU: Standard_DC2ds_v3, Zóny: [ 2 ]
  • SKU: Standard_DC4ds_v3, Zóny: [ 2 ]
  • SKU: Standard_DC1s_v3, Zóny: [ 2 ]
  • SKU: Standard_D2ds_v5, Zóny: [ 2, 3 ]
  • SKU: Standard_D2as_v4, Zóny: [ 1, 2, 3 ]
  • SKU: Standard_D2s_v3, Zóny: [ 1, 2, 3 ]
  • SKU: Standard_D2as_v5, zóny: [ 1, 2, 3 ]
  • SKU: Standard_D2s_v5, Zóny: [ 2, 3 ]

Řešení doporučení

Pokud chcete vyřešit situace, kdy se skladová položka virtuálního počítače nenašla nebo došlo k problému s kapacitou, aktualizujte prostředek přesunu a pak spusťte řešení znovu. Tady je příklad odkazu:

  1. Podle doporučení aktualizujte objekt prostředku přesunu prostředku do nové zóny nebo skladové položky.

    $targetResourceSettingsObj.TargetVmSize = "Standard_DC1ds_v3"
    $targetResourceSettingsObj.TargetAvailabilityZone = "3"
    
  2. Aktualizace prostředku přesunu virtuálního počítače

    Add-AzResourceMoverMoveResource -ResourceGroupName "RegionToZone-DemoMCRG" -MoveCollectionName "RegionToZone-DemoMC" -SourceId "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.Compute/virtualMachines/vmtwo" -Name "demoVM-MoveResource2" -ResourceSetting $targetResourceSettingsObj
    
  3. Znovu spusťte překlad.

    Resolve-AzResourceMoverMoveCollectionDependency -ResourceGroupName "RegionToZone-DemoMCRG" -MoveCollectionName "RegionToZone-DemoMC"

Nedostatečná kvóta

Vybraný virtuální počítač nejde přesunout do zóny dostupnosti kvůli nedostatečné kvótě.

Doporučená akce: Byla nalezena dostatečná kvóta. Projděte si odkaz a obraťte se na podporu.

Zahájení přesunu prostředků virtuálního počítače

Invoke-AzResourceMoverInitiateMove -ResourceGroupName "RegionToZone-DemoMCRG" -MoveCollectionName "RegionToZone-DemoMC" -MoveResource $("demoVM-MoveResource") <remove-MoveResourceInputType "MoveResourceId"> 

Výstup

AdditionalInfo :
Code           :
Detail         :
EndTime        : 9/8/2023 7:07:58 AM
Id             : /subscriptions/<Subscription-id>/resourceGroups/RegionToZone-DemoMCRG/providers/Microsoft.Migrate/moveCollections/RegionToZone-DemoMC/o
                 perations/d3e06ac3-a961-4045-8301-aee7f6911160
Message        :
Name           : d3e06ac3-a961-4045-8301-aee7f6911160
Property       : Microsoft.Azure.PowerShell.Cmdlets.ResourceMover.Models.Any
StartTime      : 9/8/2023 7:01:31 AM
Status         : Succeeded

Potvrzení

Po počátečním přesunutí je nutné přesunutí potvrdit nebo ho zahodit. Potvrzení dokončí přesun do cílové oblasti.

Potvrďte přesunutí následujícím způsobem:

Invoke-AzResourceMoverCommit "RegionToZone-DemoMCRG" -MoveCollectionName "RegionToZone-DemoMC" -MoveResource $("demoVM-MoveResource")

Výstup:

AdditionalInfo : 
Code           : 
Detail         : 
EndTime        : 9/22/2023 5:26:55 AM 
Id             : /subscriptions/e80eb9fa-c996-4435-aa32-5af6f3d3077c/resourceGroups/RegionToZone-DemoMCRG/providers/Microsoft.Migrate/moveCollections/RegionToZone-DemoMC/operations/35dd1d93-ba70-4dc9-a17f-7d8ba48678d8 
Message        : 
Name           : 35dd1d93-ba70-4dc9-a17f-7d8ba48678d8 
Property       : Microsoft.Azure.PowerShell.Cmdlets.ResourceMover.Models.Any 
StartTime      : 9/22/2023 5:26:54 AM 
Status         : Succeeded 

Odebrání prostředku

Jeden prostředek nebo více prostředků můžete odebrat z MoveCollection následujících rutin:

  1. Získejte seznam prostředků pro přesun, které se přidají do kolekce přesunů: $list = Get-AzResourceMoverMoveResource -ResourceGroupName "<MoveCollectionResourceGroupName>" -MoveCollectionName "<MoveCollectionName>"

  2. Odeberte nalezené prostředky pro přesun: Invoke-AzResourceMoverBulkRemove -ResourceGroupName "<MoveCollectionResourceGroupName>" -MoveCollectionName "<MoveCollectionName>" -MoveResource $($list.Name)

  3. Odeberte kolekci přesunutí: Remove-AzResourceMoverMoveCollection -ResourceGroupName "<MoveCollectionResourceGroupName>" -MoveCollectionName "<MoveCollectionName>"

Poznámka:

Pokud zjistíte problémy s autorizací spravovaných identit, znovu povolte přístup ke spravovaným identitám pomocí následujícího postupu .

Odstranění zdrojových regionálních virtuálních počítačů

Po potvrzení přesunu a ověření, že prostředky fungují podle očekávání v cílové oblasti, můžete odstranit každý zdrojový prostředek pomocí:

Další kroky

Zjistěte, jak přesunout virtuální počítače Azure s jednou instancí z oblasti na zónovou konfiguraci prostřednictvím portálu.