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
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
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.
Úč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
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.
Úč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
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í.