Virtuális gép visszaállítása az Azure CLI használatával
Az Azure Backup georedundáns helyreállítási tárolókban tárolt helyreállítási pontokat hoz létre. Helyreállítási pontról történő visszaállításkor visszaállíthatja a teljes virtuális gépet, vagy csak egyes fájlokat. Ez a cikk a teljes virtuális gép parancssori felülettel való visszaállításának módját ismerteti. Ezen oktatóanyag segítségével megtanulhatja a következőket:
- Helyreállítási pontok listázása és kiválasztása
- Lemez visszaállítása egy helyreállítási pontból
- Virtuális gép létrehozása a visszaállított lemezről
További információért a PowerShell a lemez visszaállításhoz és egy helyreállított virtuális gép létrehozásához való használatáról, tekintse meg a Azure-beli virtuális gépek biztonsági mentése és visszaállítása a PowerShell-lel című részt.
Mostantól a parancssori felület használatával közvetlenül visszaállíthatja a biztonsági mentési tartalmat egy virtuális gépre (eredeti/új), a fenti lépések külön végrehajtása nélkül. További információ: Adatok visszaállítása virtuális gépre parancssori felülettel.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
Ehhez az oktatóanyaghoz az Azure CLI 2.0.18-s vagy újabb verziója szükséges. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.
Ehhez az oktatóanyaghoz olyan Linux rendszerű virtuális gépre van szükség, amelyet az Azure Backup véd. A virtuális gép véletlen törlésének és a helyreállítási folyamatnak a szimulálásához hozzon létre egy virtuális gépet a helyreállítási pont egyik lemezéről. Ha szüksége van egy linuxos virtuális gépre, amelyet az Azure Backup véd, lásd: Virtuális gép biztonsági mentése az Azure-ban a parancssori felület használatával.
A biztonsági mentés áttekintése
Amikor az Azure biztonsági mentést kezdeményez, a virtuális gépen futó biztonsági mentési bővítmény időponthoz kötött pillanatképet készít. A biztonsági mentési bővítmény az első biztonsági mentés kérésekor települ a virtuális gépre. Az Azure Backup pillanatképet is készíthet a mögöttes tárolóról, ha a virtuális gép nem fut a biztonsági mentés végrehajtásakor.
Alapértelmezés szerint az Azure Backup a fájlrendszerrel konzisztens biztonsági másolatot készít. Amikor az Azure Backup elkészítette a pillanatképet, az adatok átkerülnek a helyreállítási tárba. A maximális hatékonyság érdekében az Azure Backup csak azokat az adatblokkokat azonosítja és továbbítja, amelyek az előző biztonsági mentés óta változtak.
Ha az adatátvitel befejeződött, a rendszer eltávolítja a pillanatképet, és létrehoz egy helyreállítási pontot.
Rendelkezésre álló helyreállítási pontok listázása
A lemez visszaállításához ki kell választania egy helyreállítási pontot a helyreállítási adatok forrásaként. Az alapértelmezett szabályzat minden nap létrehoz egy-egy helyreállítási pontot, és mindegyiket 30 napig tartja meg. Így fenntartható egy helyreállítási pontokból álló készlet, amelyből kiválaszthat egy adott időpontot a helyreállításhoz.
Az elérhető helyreállítási pontok listájának megjelenítéséhez használja az az backup recoverypoint list parancsot. A lemezek a helyreállítási pont nevével állíthatók helyre. Ebben az oktatóanyagban a legutóbbi rendelkezésre álló helyreállítási pontot használjuk. A --query [0].name
paraméter az alábbiak szerint választja ki a legutóbbi helyreállítási pont nevét:
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
Virtuálisgép-lemez visszaállítása
Fontos
Nagyon erősen ajánlott az Az CLI 2.0.74-es vagy újabb verzióját használni a gyors visszaállítás minden előnyének eléréséhez, beleértve a felügyelt lemezek visszaállítását is. A legjobb, ha mindig a legújabb verziót használja.
Felügyelt lemez visszaállítása
Ha a biztonsági másolattal rendelkező virtuális gép felügyelt lemezekkel rendelkezik, és ha a helyreállítási pontról szeretné visszaállítani a felügyelt lemezeket, először adjon meg egy Azure-tárfiókot. Ez a tárfiók tárolja a virtuális gép konfigurációját és az üzembe helyezési sablont, amely később használható a virtuális gép visszaállított lemezekről való üzembe helyezéséhez. Ezután meg kell adnia egy célerőforráscsoportot is a felügyelt lemezek visszaállításához.
A tárfiók létrehozásához használja az az storage account create parancsot. A tárfiók nevének globálisan egyedinek kell lennie, és csak kisbetűkből állhat. Cserélje le mystorageaccount kifejezést egy saját egyedi névre:
az storage account create \ --resource-group myResourceGroup \ --name mystorageaccount \ --sku Standard_LRS
Állítsa vissza a lemezt a helyreállítási pontról az az backup restore restore-disks paranccsal. Cserélje le mystorageaccount kifejezést az előző paranccsal létrehozott tárfiók nevére. Cserélje le a myRecoveryPointName nevet az előző az backup recoverypoint list parancs kimenetében kapott helyreállításipont-névre. Adja meg azt a célerőforráscsoportot is, amelybe a felügyelt lemezek visszaállnak.
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
Figyelmeztetés
Ha a cél-erőforráscsoport nincs megadva, akkor a felügyelt lemezek nem felügyelt lemezként lesznek visszaállítva az adott tárfiókba. Ez jelentős hatással lesz a visszaállítási időre, mivel a lemezek visszaállításához szükséges idő teljes mértékben az adott tárfióktól függ. Az azonnali visszaállítás előnye csak a cél-erőforráscsoport paraméter megadásakor érhető el. Ha a cél a felügyelt lemezek nem felügyeltként való visszaállítása, akkor ne adja meg a cél-erőforráscsoport paramétert, hanem adja meg a visszaállítási mint nem felügyelt lemez paramétert az alább látható módon. Ez a paraméter az Azure CLI 3.4.0-tól érhető el.
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
Ez nem felügyelt lemezként állítja vissza a felügyelt lemezeket az adott tárfiókba, és nem fogja kihasználni az "azonnali" visszaállítási funkciót. A parancssori felület jövőbeli verzióiban kötelező megadni a cél-erőforráscsoport paramétert vagy a visszaállítás nem felügyelt lemez paraméterét.
Lemezek visszaállítása másodlagos régióba
A biztonsági mentési adatok replikálódnak a másodlagos régióba, amikor engedélyezi a régiók közötti visszaállítást a virtuális gépek védelmére kijelölt tárolón. A biztonsági mentési adatokkal visszaállítási műveletet hajthat végre.
A lemezek másodlagos régióba való visszaállításához használja az --use-secondary-region
az backup restore restore-disks parancsban található jelölőt. Győződjön meg arról, hogy a másodlagos régióban található céltárfiókot adja meg.
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
Zónák közötti visszaállítás
Az Azure-zónában rögzített virtuális gépeket az adott régió bármely rendelkezésre állási zónájában visszaállíthatja.
Ha egy virtuális gépet egy másik zónába szeretne visszaállítani, adja meg a TargetZoneNumber
paramétert az az backup restore restore-disks parancsban.
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
A zónák közötti visszaállítás csak olyan esetekben támogatott, ahol:
- A forrás virtuális gép zóna rögzített, és NEM titkosított.
- A helyreállítási pont csak a tárolószinten van jelen. A pillanatképek vagy a pillanatképek és tárolószintek nem támogatottak.
- A helyreállítási lehetőség egy új virtuális gép létrehozása vagy lemezek visszaállítása. A Lemezek cseréje beállítás lecseréli a forrásadatokat; ezért a rendelkezésre állási zóna beállítás nem alkalmazható.
- Virtuális gépek/lemezek létrehozása ugyanabban a régióban, ha a tároló tárolási redundanciája ZRS. Vegye figyelembe, hogy nem működik, ha a tároló tárolási redundanciája GRS, annak ellenére, hogy a forrás virtuális gép zóna rögzített.
- Virtuális gépek/lemezek létrehozása a párosított régióban, ha a tároló tárredundanciája engedélyezve van a régiók közötti visszaállításhoz, és ha a párosított régió támogatja a zónákat.
Nem felügyelt lemezek visszaállítása
Ha a biztonsági másolattal rendelkező virtuális gép nem felügyelt lemezekkel rendelkezik, és ha a cél a lemezek visszaállítása a helyreállítási pontról, először adjon meg egy Azure-tárfiókot. Ez a tárfiók tárolja a virtuális gép konfigurációját és az üzembe helyezési sablont, amely később használható a virtuális gép visszaállított lemezekről való üzembe helyezéséhez. Alapértelmezés szerint a nem felügyelt lemezek az eredeti tárfiókjukba lesznek visszaállítva. Ha az összes nem felügyelt lemezt egyetlen helyre szeretné visszaállítani, akkor az adott tárfiók is használható előkészítési helyként ezekhez a lemezekhez.
A további lépésekben a visszaállított lemezzel létrehoz egy virtuális gépet.
A tárfiók létrehozásához használja az az storage account create parancsot. A tárfiók nevének globálisan egyedinek kell lennie, és csak kisbetűkből állhat. Cserélje le mystorageaccount kifejezést egy saját egyedi névre:
az storage account create \ --resource-group myResourceGroup \ --name mystorageaccount \ --sku Standard_LRS
Állítsa vissza a lemezt a helyreállítási pontról az az backup restore restore-disks paranccsal. Cserélje le mystorageaccount kifejezést az előző paranccsal létrehozott tárfiók nevére. Cserélje le a myRecoveryPointName kifejezést az előzőleg használt az backup recoverypoint list parancs kimenetéből származó helyreállításipont-névre:
az backup restore restore-disks \ --resource-group myResourceGroup \ --vault-name myRecoveryServicesVault \ --container-name myVM \ --item-name myVM \ --storage-account mystorageaccount \ --rp-name myRecoveryPointName
Ahogy fentebb említettük, a nem felügyelt lemezek vissza lesznek állítva az eredeti tárfiókjukba. Ez biztosítja a legjobb visszaállítási teljesítményt. Ha azonban az összes nem felügyelt lemezt vissza kell állítani egy adott tárfiókba, használja a megfelelő jelzőt az alább látható módon.
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
A kimenet a következő példához hasonló, amelyben látható, hogy a visszaállítási feladat InProgress (Folyamatban) állapotban van:
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
Amikor a visszaállítási feladat állapotjelentései befejeződtek, a szükséges információk (a virtuális gép konfigurációja és az üzembe helyezési sablon) vissza lettek állítva a tárfiókba.
Felügyelt identitás használata lemezek visszaállításához
Az Azure Backup lehetővé teszi a felügyelt identitás (MSI) használatát a visszaállítási művelet során, hogy hozzáférjen azokhoz a tárfiókokhoz, amelyekbe a lemezeket vissza kell állítani. Ez a beállítás jelenleg csak felügyelt lemez-visszaállítás esetén támogatott.
Ha a tároló rendszer által hozzárendelt felügyelt identitását szeretné használni a lemezek visszaállításához, adjon át egy további --mi-system jelölőt az az backup restore restore-disks parancshoz. Ha felhasználó által hozzárendelt felügyelt identitást szeretne használni, a paraméter értékeként adjon meg egy --mi-user paramétert a tároló felügyelt identitásának Azure Resource Manager-azonosítójával. Ebből a cikkből megtudhatja, hogyan engedélyezheti a felügyelt identitást a tárolókhoz.
Virtuális gép létrehozása a visszaállított lemezről
Az utolsó lépés egy virtuális gép létrehozása a visszaállított lemezekről. A virtuális gép létrehozásához használhatja az adott tárfiókba letöltött üzembehelyezési sablont.
A feladat részleteinek lekérése
Az eredményül kapott feladatadatok a lekérdezhető és üzembe helyezhető sablon URI-ját adják meg. A feladatbemutató paranccsal további részleteket kaphat az aktivált visszaállított feladatról.
az backup job show \
-v myRecoveryServicesVault \
-g myResourceGroup \
-n 1fc2d55d-f0dc-4ca6-ad48-aca0fe5d0414
A lekérdezés kimenete minden részletet megad, de minket csak a tárfiók tartalma érdekel. Az Azure CLI lekérdezési funkciójának használatával lekérhetjük a vonatkozó részleteket
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"
}
Az üzembehelyezési sablon lekérése
A sablon nem érhető el közvetlenül, mivel egy ügyfél tárfiókja és az adott tároló alatt található. A sablon eléréséhez szükségünk van a teljes URL-címre (egy ideiglenes SAS-jogkivonattal együtt).
Először bontsa ki a sablonblob Uri-t a feladatok részleteiből
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"
A sablonblob URI-ja ilyen formátumú lesz, és kinyeri a sablon nevét
https://<storageAccountName.blob.core.windows.net>/<containerName>/<templateName>
A fenti példában szereplő sablonnév tehát az lesz azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json
, és a tároló neve myVM-daa1931199fd4a22ae601f46d8812276
Most szerezze be a tárolóhoz és a sablonhoz tartozó SAS-jogkivonatot az itt ismertetett módon
expiretime=$(date -u -d '30 minutes' +%Y-%m-%dT%H:%MZ)
token=$(az storage blob generate-sas --account-name $storageAccountName --container-name $containerName --name $templateName --permissions r --expiry $expiretime --auth-mode login --as-user --https-only --output tsv)
url=$(az storage blob url --account-name $storageAccountName --container-name $containerName --name $templateName --output tsv --auth-mode login)
A sablon üzembe helyezése a virtuális gép létrehozásához
Most helyezze üzembe a sablont a virtuális gép létrehozásához az itt ismertetett módon.
az deployment group create \
--resource-group ExampleGroup \
--template-uri $url?$token
Ha ellenőrizni szeretné, hogy létrejött-e a virtuális gép a helyreállított lemezről, listázza az erőforráscsoportban szereplő virtuális gépeket az az vm list paranccsal az alábbiak szerint:
az vm list --resource-group myResourceGroup --output table
Adatok visszaállítása virtuális gépre parancssori felülettel
Mostantól közvetlenül visszaállíthatja az adatokat az eredeti/alternatív virtuális gépre több lépés végrehajtása nélkül.
Adatok visszaállítása eredeti virtuális gépre
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
Az utolsó parancs elindít egy eredeti hely-visszaállítási műveletet a meglévő virtuális gépen a helyben lévő adatok visszaállításához.
Adatok visszaállítása újonnan létrehozott virtuális gépre
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
Az utolsó parancs egy másik hely-visszaállítási műveletet indít el, amely új virtuális gépet hoz létre Target_RG erőforráscsoportban a TargetVMName, TargetVNetName, TargetVNetName, TargetVNetResourceGroup, TargetSubnetName paraméterek által megadott bemenetek szerint. Ez biztosítja az adatok visszaállítását a szükséges virtuális gépen, virtuális hálózaton és alhálózaton.
Következő lépések
Ebben az oktatóanyagban visszaállított egy lemezt a helyreállítási pontról, és létrehozott egy virtuális gépet a lemezről. Megtanulta végrehajtani az alábbi műveleteket:
- Helyreállítási pontok listázása és kiválasztása
- Lemez visszaállítása egy helyreállítási pontból
- Virtuális gép létrehozása a visszaállított lemezről
Folytassa a következő oktatóanyaggal, amely egy helyreállítási pont egyes fájljainak visszaállítását ismerteti.