Återställa en VM med Azure CLI

Med Azure Backup skapas återställningspunkter som lagras i geo-redundanta återställningsvalv. När du återställer från en återställningspunkt kan du återställa hela den virtuella datorn eller enskilda filer. Den här artikeln förklarar hur du återställer hela den virtuella datorn med CLI. I den här självstudiekursen får du lära du dig att:

  • lista och välja återställningspunkter
  • återställa en disk från en återställningspunkt
  • Skapa en virtuell dator från den återställda disken

Information om hur du återställer en disk och skapar en återställd virtuell dator med PowerShell finns i Säkerhetskopiera och återställa virtuella Azure-datorer med PowerShell.

Nu kan du också använda CLI för att återställa säkerhetskopieringsinnehållet direkt till en virtuell dator (original/ny) utan att utföra stegen ovan separat. Mer information finns i Återställa data till en virtuell dator med CLI.

Förutsättningar

  • Den här självstudien kräver version 2.0.18 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.

  • För den här självstudiekursen måste du ha en virtuell Linux-dator som har skyddats med Azure Backup. Du simulerar en oavsiktlig borttagning och återställning av den virtuella datorn genom att skapa en virtuell dator från en disk i en återställningspunkt. Om du behöver en virtuell Linux-dator som har skyddats med Azure Backup kan du läsa mer i Säkerhetskopiera en virtuell dator i Azure med CLI.

Översikt över Backup

När Azure initierar en säkerhetskopiering tar tillägget på den virtuella datorn en ögonblicksbild. Säkerhetskopieringstillägget installeras på den virtuella datorn när den första säkerhetskopieringen begärs. Azure Backup kan också ta en ögonblicksbild av den underliggande lagringen om den virtuella datorn inte körs när säkerhetskopieringen sker.

Som standard skapar Azure Backup en filsystemkonsekvent säkerhetskopia. När Azure Backup har tagit ögonblicksbilden överförs data till Recovery Services-valvet. För att maximera effektiviteten identifierar och överför Azure Backup endast de datablock som har ändrats sedan föregående säkerhetskopia.

När dataöverföringen har slutförts tas ögonblicksbilden bort och en återställningspunkt skapas.

Visa lista över tillgängliga återställningspunkter

Om du vill återställa en disk väljer du en återställningspunkt som källa för återställningsdata. Standardprincipen skapar en återställningspunkt varje dag och lagrar dem i 30 dagar, så du kan du behålla en uppsättning återställningspunkter och välja en viss tidpunkt för återställning.

Visa en lista över tillgängliga återställningspunkter kommandot az backup recoverypoint list. Återställningspunktens namn används för att återställa diskar. I den här självstudiekursen vill vi ha den senaste återställningspunkten. Parametern --query [0].name väljer det senaste återställningsnamnet enligt följande:

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

Återställa en disk från en virtuell dator

Viktigt!

Vi rekommenderar starkt att du använder Az CLI version 2.0.74 eller senare för att få alla fördelar med en snabb återställning, inklusive återställning av hanterade diskar. Det är bäst om du alltid använder den senaste versionen.

Återställning av hanterad disk

Om den säkerhetskopierade virtuella datorn har hanterade diskar och om avsikten är att återställa hanterade diskar från återställningspunkten anger du först ett Azure-lagringskonto. Det här lagringskontot används för att lagra vm-konfigurationen och distributionsmallen som senare kan användas för att distribuera den virtuella datorn från de återställde diskarna. Sedan anger du också en målresursgrupp som de hanterade diskarna ska återställas till.

  1. Skapa ett lagringskonto med az storage account create. Lagringskontonamnet måste vara med gemener endast och globalt unikt. Ersätt mystorageaccount med ditt eget unika namn:

    az storage account create \
        --resource-group myResourceGroup \
        --name mystorageaccount \
        --sku Standard_LRS
    
  2. Återställ disken från återställningspunkten med az backup restore restore-disks. Ersätt mystorageaccount med namnet på det lagringskonto du skapade i föregående kommando. Ersätt myRecoveryPointName med namnet på återställningspunkten som du fick i utdata från föregående az backup recoverypoint list-kommando . Ange även den målresursgrupp som de hanterade diskarna återställs till.

    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
    

    Varning

    Om målresursgruppen inte tillhandahålls återställs de hanterade diskarna som ohanterade diskar till det angivna lagringskontot. Detta kommer att få betydande konsekvenser för återställningstiden eftersom den tid det tar att återställa diskarna helt beror på det angivna lagringskontot. Du får bara fördelen med omedelbar återställning när parametern target-resource-group ges. Om avsikten är att återställa hanterade diskar som ohanterade anger du inte parametern target-resource-group och anger i stället parametern restore-as-unmanaged-disk enligt nedan. Den här parametern är tillgänglig från Azure CLI 3.4.0 och senare.

    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
    

Detta återställer hanterade diskar som ohanterade diskar till det angivna lagringskontot och utnyttjar inte funktionen för omedelbar återställning. I framtida versioner av CLI är det obligatoriskt att ange parametern target-resource-group eller restore-as-unmanaged-disk .

Återställa diskar till en sekundär region

Säkerhetskopieringsdata replikeras till den sekundära regionen när du aktiverar återställning mellan regioner i valvet som du har skyddat dina virtuella datorer. Du kan använda säkerhetskopierade data för att utföra en återställningsåtgärd.

Om du vill återställa diskar till den sekundära regionen använder du --use-secondary-region flaggan i kommandot az backup restore restore-disks . Se till att du anger ett mållagringskonto som finns i den sekundära regionen.

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

Korszonsåterställning

Du kan återställa azure-zonansatta virtuella datorer i alla tillgänglighetszoner i samma region.

Om du vill återställa en virtuell dator till en annan zon anger du parametern TargetZoneNumber i kommandot az backup restore 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

Korszonbaserad återställning stöds endast i scenarier där:

  • Den virtuella källdatorn är zonfäst och är INTE krypterad.
  • Återställningspunkten finns endast på valvnivå. Endast ögonblicksbilder eller ögonblicksbilder och valvnivå stöds inte.
  • Återställningsalternativet är att skapa en ny virtuell dator eller återställa diskar. Alternativet Ersätt diskar ersätter källdata. Därför är alternativet tillgänglighetszon inte tillämpligt.
  • Skapa virtuella datorer/diskar i samma region när valvets lagringsredundans är ZRS. Observera att det inte fungerar om valvets lagringsredundans är GRS, även om den virtuella källdatorn är zonfäst.
  • Skapa virtuella datorer/diskar i den kopplade regionen när valvets lagringsredundans är aktiverad för återställning mellan regioner och om den kopplade regionen stöder zoner.

Återställning av ohanterade diskar

Om den säkerhetskopierade virtuella datorn har ohanterade diskar och avsikten är att återställa diskar från återställningspunkten anger du först ett Azure-lagringskonto. Det här lagringskontot används för att lagra vm-konfigurationen och distributionsmallen som senare kan användas för att distribuera den virtuella datorn från de återställde diskarna. Som standard återställs ohanterade diskar till sina ursprungliga lagringskonton. Om du vill återställa alla ohanterade diskar till en enda plats kan det angivna lagringskontot också användas som mellanlagringsplats för dessa diskar.

I senare steg används den återställda disken för att skapa en virtuell dator.

  1. Skapa ett lagringskonto med az storage account create. Lagringskontonamnet måste vara med gemener endast och globalt unikt. Ersätt mystorageaccount med ditt eget unika namn:

    az storage account create \
        --resource-group myResourceGroup \
        --name mystorageaccount \
        --sku Standard_LRS
    
  2. Återställ disken från återställningspunkten med az backup restore restore-disks. Ersätt mystorageaccount med namnet på det lagringskonto du skapade i föregående kommando. Ersätt myRecoveryPointName med återställningspunktens namn som du fick i utdata från det tidigare kommandot 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
    

Som nämnts ovan återställs de ohanterade diskarna till sitt ursprungliga lagringskonto. Detta ger bästa återställningsprestanda. Men om alla ohanterade diskar behöver återställas till ett visst lagringskonto använder du relevant flagga enligt nedan.

    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

De utdata som returneras liknar dem i följande exempel, som visar att återställningsjobbet har status InProgress (Pågår):

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

När statusen för återställningsjobbrapporterna har slutförts har nödvändig information (VM-konfiguration och distributionsmall) återställts till lagringskontot.

Använda hanterad identitet för att återställa diskar

Med Azure Backup kan du också använda hanterad identitet (MSI) under återställningsåtgärden för att få åtkomst till lagringskonton där diskar måste återställas till. Det här alternativet stöds för närvarande endast för återställning av hanterade diskar.

Om du vill använda valvets systemtilldelade hanterade identitet för att återställa diskar skickar du ytterligare en flagga --mi-system-tilldelad till kommandot az backup restore restore-disks. Om du vill använda en användartilldelad hanterad identitet skickar du en parameter --mi-user-tilldelad med Azure Resource Manager-ID:t för valvets hanterade identitet som värdet för parametern. Läs den här artikeln om du vill lära dig hur du aktiverar hanterad identitet för dina valv.

Skapa en virtuell dator från den återställda disken

Det sista steget är att skapa en virtuell dator från de återställde diskarna. Du kan använda distributionsmallen som laddats ned till det angivna lagringskontot för att skapa den virtuella datorn.

Hämta jobbinformationen

Den resulterande jobbinformationen ger den mall-URI som kan efterfrågas och distribueras. Använd kommandot för att visa jobb för att få mer information om det utlösta återställda jobbet.

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

Utdata från den här frågan ger all information, men vi är bara intresserade av innehållet i lagringskontot. Vi kan använda frågefunktionen i Azure CLI för att hämta relevant information

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"
}

Hämta distributionsmallen

Mallen är inte direkt tillgänglig eftersom den finns under en kunds lagringskonto och den angivna containern. Vi behöver den fullständiga URL:en (tillsammans med en tillfällig SAS-token) för att få åtkomst till den här mallen.

Extrahera först mallblob-URI:n från jobbinformationen

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"

Mallblob-URI:n kommer att ha det här formatet och extrahera mallnamnet

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

Mallnamnet från exemplet ovan blir azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json därför och containernamnet är myVM-daa1931199fd4a22ae601f46d8812276

Hämta nu SAS-token för den här containern och mallen enligt beskrivningen här

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)

Distribuera mallen för att skapa den virtuella datorn

Distribuera nu mallen för att skapa den virtuella datorn enligt beskrivningen här.

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

Du kan bekräfta att den virtuella datorn har skapats från återställda disken genom att visa en lista över de virtuella datorerna i resursgruppen med az vm list enligt följande:

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

Återställa data till en virtuell dator med HJÄLP av CLI

Du kan nu återställa data direkt till den ursprungliga/alternativa virtuella datorn utan att utföra flera steg.

Återställa data till den ursprungliga virtuella datorn

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

Det sista kommandot utlöser en ursprunglig platsåterställningsåtgärd för att återställa data på plats på den befintliga virtuella datorn.

Återställa data till en nyligen skapad virtuell dator

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

Det senaste kommandot utlöser en alternativ platsåterställningsåtgärd för att skapa en ny virtuell dator i Target_RG resursgrupp enligt de indata som anges av parametrarna TargetVMName, TargetVNetName, TargetVNetResourceGroup och TargetSubnetName. Detta säkerställer att data återställs i den virtuella datorn, det virtuella nätverket och undernätet.

Nästa steg

I den här självstudiekursen har du återställt en disk från en återställningspunkt och sedan skapat en virtuell dator från disken. Du har lärt dig att:

  • lista och välja återställningspunkter
  • återställa en disk från en återställningspunkt
  • Skapa en virtuell dator från den återställda disken

Gå vidare till nästa självstudiekurs där du lär dig att återställa enskilda filer från en återställningspunkt.