Obnovení virtuálního počítače s využitím Azure CLI

Azure Backup vytváří body obnovení, které se ukládají v geograficky redundantních trezorech obnovení. Při obnovení z bodu obnovení můžete obnovit celý virtuální počítač nebo jednotlivé soubory. Tento článek vysvětluje postup obnovení celého virtuálního počítače pomocí rozhraní příkazového řádku. V tomto kurzu se naučíte:

  • Výpis a výběr bodů obnovení
  • Obnovení disku z bodu obnovení
  • Vytvoření virtuálního počítače z obnoveného disku

Informace o obnovení disku a vytvoření chráněného počítače pomocí PowerShellu najdete v tématu Zálohování a obnovení virtuálních počítačů Azure pomocí PowerShellu.

Teď můžete také pomocí rozhraní příkazového řádku přímo obnovit zálohovaný obsah na virtuální počítač (původní nebo nový), aniž byste provedli výše uvedené kroky samostatně. Další informace najdete v tématu Obnovení dat do virtuálního počítače pomocí rozhraní příkazového řádku.

Požadavky

  • Tento kurz vyžaduje verzi 2.0.18 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.

  • Tento kurz vyžaduje virtuální počítač s Linuxem chráněný službou Azure Backup. Pro simulaci náhodného odstranění virtuálního počítače a procesu obnovení vytvoříte virtuální počítač z disku v bodu obnovení. Pokud potřebujete virtuální počítač s Linuxem chráněný pomocí služby Azure Backup, přečtěte si téma Zálohování virtuálního počítače v Azure pomocí rozhraní příkazového řádku.

Přehled služby Backup

Když Azure zahájí zálohování, rozšíření zálohování na virtuálním počítači pořídí snímek v daném okamžiku. Rozšíření zálohování se na virtuální počítač nainstaluje při vyžádání prvního zálohování. Azure Backup může také pořídit snímek základního úložiště, pokud virtuální počítač není spuštěný při zálohování.

Ve výchozím nastavení provede Azure Backup zálohování konzistentní vzhledem k systému souborů. Jakmile Azure Backup pořídí snímek, data se přenesou do trezoru služby Recovery Services. Pro maximalizaci efektivity Azure Backup identifikuje a přenese pouze bloky dat, které se změnily od posledního zálohování.

Po dokončení přenosu dat se snímek odstraní a vytvoří se bod obnovení.

Výpis dostupných bodů obnovení

Když chcete obnovit disk, vyberete bod obnovení jako zdroj dat obnovení. Vzhledem k tomu, že výchozí zásady vytváří body obnovení každý den a uchovávají je po dobu 30 dnů, můžete udržovat sadu bodů obnovení, které vám umožní pro obnovení vybrat konkrétní bod v čase.

Seznam dostupných bodů obnovení zobrazíte pomocí příkazu az backup recoverypoint list. Název bodu obnovení slouží k obnovení disků. V tomto kurzu chceme nejnovější dostupný bod obnovení. Parametr --query [0].name následujícím způsobem vybere název nejnovějšího bodu obnovení:

az backup recoverypoint list \
    --resource-group myResourceGroup \
    --vault-name myRecoveryServicesVault \
    --backup-management-type AzureIaasVM \
    --container-name myVM \
    --item-name myVM \
    --query [0].name \
    --output tsv

Obnovení disku virtuálního počítače

Důležité

Důrazně doporučujeme použít Az CLI verze 2.0.74 nebo novější, abyste získali všechny výhody rychlého obnovení, včetně obnovení spravovaného disku. Nejlepší je, pokud vždy používáte nejnovější verzi.

Obnovení spravovaného disku

Pokud má zálohovaný virtuální počítač spravované disky a pokud se jedná o obnovení spravovaných disků z bodu obnovení, nejprve zadáte účet úložiště Azure. Tento účet úložiště slouží k uložení konfigurace virtuálního počítače a šablony nasazení, kterou můžete později použít k nasazení virtuálního počítače z obnovených disků. Pak také zadáte cílovou skupinu prostředků, do které se mají spravované disky obnovit.

  1. Účet úložiště vytvoříte pomocí příkazu az storage account create. Název účtu úložiště musí být malými písmeny a globálně jedinečný. Nahraďte mystorageaccount vlastním jedinečným názvem:

    az storage account create \
        --resource-group myResourceGroup \
        --name mystorageaccount \
        --sku Standard_LRS
    
  2. Obnovte disk z bodu obnovení pomocí příkazu az backup restore restore-disks. Nahraďte mystorageaccount názvem účtu úložiště, který jste vytvořili v předchozím příkazu. Nahraďte myRecoveryPointName názvem bodu obnovení, který jste získali ve výstupu z předchozího příkazu az backup recoverypoint list . Zadejte také cílovou skupinu prostředků, do které se spravované disky obnoví.

    az backup restore restore-disks \
        --resource-group myResourceGroup \
        --vault-name myRecoveryServicesVault \
        --container-name myVM \
        --item-name myVM \
        --storage-account mystorageaccount \
        --rp-name myRecoveryPointName \
        --target-resource-group targetRG
    

    Upozorňující

    Pokud není k dispozici cílová skupina prostředků, spravované disky se do daného účtu úložiště obnoví jako nespravované disky. To bude mít významný dopad na dobu obnovení, protože doba potřebná k obnovení disků zcela závisí na daném účtu úložiště. Výhodu okamžitého obnovení získáte jenom v případech, kdy je zadaný parametr target-resource-group. Pokud je záměrem obnovit spravované disky jako nespravované, nezadávejte parametr target-resource-group a místo toho zadejte parametr restore-as-unmanaged-disk , jak je znázorněno níže. Tento parametr je k dispozici v Azure CLI 3.4.0 dále.

    az backup restore restore-disks \
    --resource-group myResourceGroup \
    --vault-name myRecoveryServicesVault \
    --container-name myVM \
    --item-name myVM \
    --storage-account mystorageaccount \
    --rp-name myRecoveryPointName \
    --restore-as-unmanaged-disk
    

Tím se spravované disky obnoví jako nespravované disky do daného účtu úložiště a nebudou využívat funkce okamžitého obnovení. V budoucích verzích rozhraní příkazového řádku bude povinné zadat parametr cílové skupiny prostředků nebo parametr restore-as-unmanaged-disk .

Obnovení disků do sekundární oblasti

Zálohovaná data se při povolení obnovení mezi oblastmi v trezoru, který jste ochránili, replikují do sekundární oblasti. K provedení operace obnovení můžete použít zálohovaná data.

Pokud chcete obnovit disky do sekundární oblasti, použijte --use-secondary-region příznak v příkazu az backup restore restore-disks . Ujistěte se, že zadáte cílový účet úložiště, který se nachází v sekundární oblasti.

az backup restore restore-disks \
    --resource-group myResourceGroup \
    --vault-name myRecoveryServicesVault \
    --container-name myVM \
    --item-name myVM \
    --storage-account targetStorageAccountID \
    --rp-name myRecoveryPointName \
    --target-resource-group targetRG
    --use-secondary-region

Obnovení napříč zónovými daty

Připnuté virtuální počítače zóny Azure můžete obnovit v libovolné zóně dostupnosti stejné oblasti.

Pokud chcete virtuální počítač obnovit do jiné zóny, zadejte TargetZoneNumber parametr v příkazu az backup restore-disks .

az backup restore restore-disks \
    --resource-group myResourceGroup \
    --vault-name myRecoveryServicesVault \
    --container-name myVM \
    --item-name myVM \
    --storage-account targetStorageAccountID \
    --rp-name myRecoveryPointName \
    --target-resource-group targetRG
    --target-zone 3

Obnovení napříč zónami je podporováno pouze ve scénářích, ve kterých:

  • Zdrojový virtuální počítač je připnutý do zóny a není šifrovaný.
  • Bod obnovení je k dispozici pouze na úrovni trezoru. Nepodporují se jenom snímky nebo vrstvy snímku a trezoru.
  • Možnost obnovení spočívá v vytvoření nového virtuálního počítače nebo obnovení disků. Možnost Nahradit disky nahrazuje zdrojová data; proto není možnost zóny dostupnosti použitelná.
  • Vytvoření virtuálního počítače nebo disků ve stejné oblasti, pokud je redundance úložiště trezoru ZRS. Mějte na paměti, že nefunguje, pokud je redundance úložiště trezoru GRS, i když je zdrojový virtuální počítač připnutý do zóny.
  • Vytvoření virtuálního počítače nebo disků ve spárované oblasti, když je pro obnovení úložiště mezi oblastmi povolená redundance úložiště trezoru a jestli spárovaná oblast podporuje zóny.

Obnovení nespravovaných disků

Pokud má zálohovaný virtuální počítač nespravované disky a pokud se jedná o obnovení disků z bodu obnovení, nejprve zadáte účet úložiště Azure. Tento účet úložiště slouží k uložení konfigurace virtuálního počítače a šablony nasazení, kterou můžete později použít k nasazení virtuálního počítače z obnovených disků. Ve výchozím nastavení se nespravované disky obnoví do původních účtů úložiště. Pokud chcete obnovit všechny nespravované disky na jedno místo, můžete ho použít také jako pracovní umístění pro tyto disky.

V dalších krocích se obnovený disk použije k vytvoření virtuálního počítače.

  1. Účet úložiště vytvoříte pomocí příkazu az storage account create. Název účtu úložiště musí být malými písmeny a globálně jedinečný. Nahraďte mystorageaccount vlastním jedinečným názvem:

    az storage account create \
        --resource-group myResourceGroup \
        --name mystorageaccount \
        --sku Standard_LRS
    
  2. Obnovte disk z bodu obnovení pomocí příkazu az backup restore restore-disks. Nahraďte mystorageaccount názvem účtu úložiště, který jste vytvořili v předchozím příkazu. Nahraďte myRecoveryPointName názvem bodu obnovení, který jste získali z výstupu předchozího příkazu az backup recoverypoint list:

    az backup restore restore-disks \
        --resource-group myResourceGroup \
        --vault-name myRecoveryServicesVault \
        --container-name myVM \
        --item-name myVM \
        --storage-account mystorageaccount \
        --rp-name myRecoveryPointName
    

Jak je uvedeno výše, nespravované disky se obnoví do původního účtu úložiště. Tím dosáhnete nejlepšího výkonu obnovení. Pokud ale všechny nespravované disky je potřeba obnovit do daného účtu úložiště, použijte příslušný příznak, jak je znázorněno níže.

    az backup restore restore-disks \
        --resource-group myResourceGroup \
        --vault-name myRecoveryServicesVault \
        --container-name myVM \
        --item-name myVM \
        --storage-account mystorageaccount \
        --rp-name myRecoveryPointName \
        --restore-to-staging-storage-account
    ```

## Monitor the restore job

To monitor the status of restore job, use [az backup job list](/cli/azure/backup/job#az-backup-job-list):

```azurecli-interactive
az backup job list \
    --resource-group myResourceGroup \
    --vault-name myRecoveryServicesVault \
    --output table

Výstup bude vypadat podobně jako v následujícím příkladu, který ukazuje, že je úloha obnovení ve stavu InProgress (Probíhající):

Name      Operation        Status      Item Name    Start Time UTC       Duration
--------  ---------------  ----------  -----------  -------------------  --------------
7f2ad916  Restore          InProgress  myvm         2017-09-19T19:39:52  0:00:34.520850
a0a8e5e6  Backup           Completed   myvm         2017-09-19T03:09:21  0:15:26.155212
fe5d0414  ConfigureBackup  Completed   myvm         2017-09-19T03:03:57  0:00:31.191807

Po dokončení sestav stavu úlohy obnovení se do účtu úložiště obnoví nezbytné informace (konfigurace virtuálního počítače a šablona nasazení).

Použití spravované identity k obnovení disků

Azure Backup také umožňuje používat spravovanou identitu (MSI) během operace obnovení pro přístup k účtům úložiště, do kterých je potřeba obnovit disky. Tato možnost je aktuálně podporovaná jenom pro obnovení spravovaného disku.

Pokud chcete k obnovení disků použít spravovanou identitu přiřazenou systémem trezoru, předejte do příkazu az backup restore-disks další příznak --mi-system. Pokud chcete použít spravovanou identitu přiřazenou uživatelem, předejte parametr --mi-user-přiřazený s ID Azure Resource Manageru spravované identity trezoru jako hodnotou parametru. V tomto článku se dozvíte, jak povolit spravovanou identitu pro vaše trezory.

Vytvoření virtuálního počítače z obnoveného disku

Posledním krokem je vytvoření virtuálního počítače z obnovených disků. K vytvoření virtuálního počítače můžete použít šablonu nasazení staženou do daného účtu úložiště.

Načtení podrobností úlohy

Podrobné informace o výsledné úloze poskytují identifikátor URI šablony, který lze dotazovat a nasadit. Pomocí příkazu show úlohy získáte další podrobnosti o aktivované obnovené úloze.

az backup job show \
    -v myRecoveryServicesVault \
    -g myResourceGroup \
    -n 1fc2d55d-f0dc-4ca6-ad48-aca0fe5d0414

Výstup tohoto dotazu poskytne všechny podrobnosti, ale zajímá nás jenom obsah účtu úložiště. K načtení relevantních podrobností můžeme použít funkci dotazu v Azure CLI.

az backup job show \
    -v myRecoveryServicesVault \
    -g myResourceGroup \
    -n 1fc2d55d-f0dc-4ca6-ad48-aca0fe5d0414 \
    --query properties.extendedInfo.propertyBag

{
  "Config Blob Container Name": "myVM-daa1931199fd4a22ae601f46d8812276",
  "Config Blob Name": "config-myVM-1fc2d55d-f0dc-4ca6-ad48-aca0fe5d0414.json",
  "Config Blob Uri": "https://mystorageaccount.blob.core.windows.net/myVM-daa1931199fd4a22ae601f46d8812276/config-appvm8-1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json",
  "Job Type": "Recover disks",
  "Recovery point time ": "12/25/2019 10:07:11 PM",
  "Target Storage Account Name": "mystorageaccount",
  "Target resource group": "mystorageaccountRG",
  "Template Blob Uri": "https://mystorageaccount.blob.core.windows.net/myVM-daa1931199fd4a22ae601f46d8812276/azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json"
}

Načtení šablony nasazení

Šablona není přímo přístupná, protože se jedná o účet úložiště zákazníka a daný kontejner. Pro přístup k této šabloně potřebujeme úplnou adresu URL (spolu s dočasným tokenem SAS).

Nejprve extrahujte identifikátor URI objektu blob šablony z podrobností úlohy.

az backup job show \
    -v myRecoveryServicesVault \
    -g myResourceGroup \
    -n 1fc2d55d-f0dc-4ca6-ad48-aca0fe5d0414 \
    --query properties.extendedInfo.propertyBag."""Template Blob Uri"""

"https://mystorageaccount.blob.core.windows.net/myVM-daa1931199fd4a22ae601f46d8812276/azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json"

Identifikátor URI objektu blob šablony bude mít tento formát a extrahuje název šablony.

https://<storageAccountName.blob.core.windows.net>/<containerName>/<templateName>

Název šablony z výše uvedeného příkladu tedy bude azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json a název kontejneru je myVM-daa1931199fd4a22ae601f46d8812276

Teď získejte token SAS pro tento kontejner a šablonu, jak je podrobně popsáno tady.

expiretime=$(date -u -d '30 minutes' +%Y-%m-%dT%H:%MZ)
connection=$(az storage account show-connection-string \
    --resource-group mystorageaccountRG \
    --name mystorageaccount \
    --query connectionString)
token=$(az storage blob generate-sas \
    --container-name myVM-daa1931199fd4a22ae601f46d8812276 \
    --name azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json \
    --expiry $expiretime \
    --permissions r \
    --output tsv \
    --connection-string $connection)
url=$(az storage blob url \
   --container-name myVM-daa1931199fd4a22ae601f46d8812276 \
    --name azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json \
    --output tsv \
    --connection-string $connection)

Nasazení šablony pro vytvoření virtuálního počítače

Teď nasaďte šablonu pro vytvoření virtuálního počítače, jak je vysvětleno tady.

az deployment group create \
  --resource-group ExampleGroup \
  --template-uri $url?$token

Pokud chcete ověřit vytvoření virtuálního počítače z obnoveného disku, následujícím způsobem vypište virtuální počítače ve vaší skupině prostředků pomocí příkazu az vm list:

az vm list --resource-group myResourceGroup --output table

Obnovení dat do virtuálního počítače pomocí rozhraní příkazového řádku

Teď můžete přímo obnovit data do původního nebo alternativního virtuálního počítače bez provedení několika kroků.

Obnovení dat do původního virtuálního počítače

az backup restore restore-disks \
    --resource-group myResourceGroup \
    --vault-name myRecoveryServicesVault \
    --container-name myVM \
    --item-name myVM \
    --restore-mode OriginalLocation 
    --storage-account mystorageaccount \
    --rp-name myRecoveryPointName \ 
Name      Operation        Status      Item Name    Start Time UTC       Duration
--------  ---------------  ----------  -----------  -------------------  --------------
7f2ad916  Restore          InProgress  myVM         2017-09-19T19:39:52  0:00:34.520850

Poslední příkaz aktivuje operaci obnovení původního umístění, která obnoví data v existujícím virtuálním počítači.

Obnovení dat do nově vytvořeného virtuálního počítače

az backup restore restore-disks \
    --resource-group myResourceGroup \
    --vault-name myRecoveryServicesVault \
    --container-name myVM \
    --item-name myVM \
    --restore-mode AlternateLocation \
    --storage-account mystorageaccount \

--target-resource-group "Target_RG" \
    --rp-name myRecoveryPointName \
    --target-vm-name "TargetVirtualMachineName" \
    --target-vnet-name "Target_VNet" \
    --target-vnet-resource-group "Target_VNet_RG" \
    --target-subnet-name "targetSubNet"
Name      Operation        Status      Item Name    Start Time UTC       Duration
--------  ---------------  ----------  -----------  -------------------  --------------
7f2ad916  Restore          InProgress  myVM         2017-09-19T19:39:52  0:00:34.520850

Poslední příkaz aktivuje operaci obnovení alternativního umístění, která vytvoří nový virtuální počítač ve skupině prostředků Target_RG podle vstupů zadaných parametry TargetVMName, TargetVNetName, TargetVNetResourceGroup, TargetSubnetName. Tím se zajistí obnovení dat v požadovaném virtuálním počítači, virtuální síti a podsíti.

Další kroky

V tomto kurzu jste obnovili disk z bodu obnovení a pak jste z tohoto disku vytvořili virtuální počítač. Naučili jste se:

  • Výpis a výběr bodů obnovení
  • Obnovení disku z bodu obnovení
  • Vytvoření virtuálního počítače z obnoveného disku

V dalším kurzu najdete informace o obnovování jednotlivých souborů z bodu obnovení.