Freigeben über


Lernprogramm: Wiederherstellen eines virtuellen Computers mit Azure CLI

In diesem Lernprogramm wird beschrieben, wie Sie einen vollständigen virtuellen Computer mithilfe der CLI wiederherstellen.

Azure Backup erstellt Wiederherstellungspunkte, die in geografisch redundanten Recovery-Tresoren gespeichert werden. Wenn Sie eine Wiederherstellung von einem Wiederherstellungspunkt durchführen, können Sie den gesamten virtuellen Computer oder einzelne Dateien wiederherstellen.

Informationen darüber, wie Sie mit PowerShell einen Datenträger wiederherstellen und eine wiederhergestellte VM erstellen, finden Sie unter Backups und Wiederherstellung von Azure-VMs mit PowerShell.

Jetzt können Sie auch die CLI verwenden, um den Sicherungsinhalt direkt auf dem ursprünglichen oder einem neuen virtuellen Computer wiederherzustellen, ohne die oben genannten Schritte separat auszuführen. Weitere Informationen finden Sie unter Wiederherstellen von Daten auf virtuellen Computern mithilfe der CLI.

Voraussetzungen

  • Für dieses Tutorial ist mindestens Version 2.0.18 der Azure CLI erforderlich. Bei Verwendung von Azure Cloud Shell ist die aktuelle Version bereits installiert.

  • Dieses Tutorial erfordert eine Linux-VM, die mit Azure Backup geschützt wurde. Um ein versehentliches Löschen der VM und den Wiederherstellungsprozess zu simulieren, erstellen Sie einen virtuellen Computer von einem Datenträger in einem Wiederherstellungspunkt. Wenn Sie eine Linux-VM benötigen, die mit Azure Backup geschützt wurde, lesen Sie Sichern eines virtuellen Computers in Azure per CLI.

Übersicht über die Sicherung für Azure-VMs

Wenn Azure eine Sicherung initiiert, erstellt die Backup-Erweiterung auf dem virtuellen Computer eine Momentaufnahme. Die Sicherungserweiterung wird auf dem virtuellen Computer installiert, wenn die erste Sicherung angefordert wird. Azure Backup kann auch eine Momentaufnahme des zugrunde liegenden Speichers erstellen, falls die VM zum Zeitpunkt der Sicherung nicht ausgeführt wird.

Standardmäßig führt Azure Backup eine konsistente Sicherung des Dateisystems durch. Nachdem Azure Backup die Momentaufnahme erstellt hat, werden die Daten in den Recovery Services-Tresor übertragen. Um die Effizienz zu maximieren, bestimmt und überträgt Azure Backup nur diejenigen Datenblöcke, die seit der vorherigen Sicherung geändert wurden.

Wenn die Datenübertragung abgeschlossen ist, wird die Momentaufnahme entfernt und ein Wiederherstellungspunkt erstellt.

Auflisten der verfügbaren Wiederherstellungspunkte für einen virtuellen Computer

Um einen Datenträger wiederherzustellen, wählen Sie einen Wiederherstellungspunkt als Quelle für die Wiederherstellungsdaten aus. Da die Standardrichtlinie jeden Tag einen Wiederherstellungspunkt erstellt und für 30 Tage aufbewahrt, können Sie einen Satz von Wiederherstellungspunkten beibehalten. So haben Sie die Möglichkeit, einen bestimmten Zeitpunkt für die Wiederherstellung auszuwählen.

Um eine Liste der verfügbaren Wiederherstellungspunkte anzuzeigen, verwenden Sie az backup recoverypoint list. Der Name des Wiederherstellungspunkts wird verwendet, um den Datenträger wiederherzustellen. In diesem Tutorial verwenden wir den aktuellsten verfügbaren Wiederherstellungspunkt. Der Parameter --query [0].name wählt den Namen des letzten Wiederherstellungspunktes wie folgt aus:

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

Wiederherstellen von VM-Datenträgern

Wichtig

Es wird dringend empfohlen, mindestens die Version 2.0.74 der Azure-Befehlszeilenschnittstelle zu verwenden, um alle Vorteile einer schnellen Wiederherstellung nutzen zu können – einschließlich der Wiederherstellung verwalteter Datenträger. Es ist am besten, wenn Sie immer die neueste Version verwenden.

Wiederherstellung verwalteter Datenträger

Wenn der gesicherte virtuelle Computer über verwaltete Datenträger verfügt und Sie verwaltete Datenträger aus dem Wiederherstellungspunkt wiederherstellen möchten, müssen Sie zunächst ein Azure-Speicherkonto angeben. Dieses Speicherkonto dient zum Speichern der VM-Konfiguration und der Bereitstellungsvorlage für die spätere Bereitstellung des virtuellen Computers auf der Grundlage der wiederhergestellten Datenträger. Anschließend geben Sie eine Zielressourcengruppe an, in die die verwalteten Datenträger wiederhergestellt werden sollen.

  1. Verwenden Sie zum Erstellen eines Speicherkontos az storage account create. Der Name des Speicherkontos darf nur Kleinbuchstaben enthalten und muss global eindeutig sein. Ersetzen Sie mystorageaccount durch Ihren eigenen eindeutigen Namen:

    az storage account create \
        --resource-group myResourceGroup \
        --name mystorageaccount \
        --sku Standard_LRS
    
  2. Stellen Sie den Datenträger mit az backup restore restore-disks aus dem Wiederherstellungspunkt wieder her. Ersetzen Sie mystorageaccount durch den Namen des Speicherkontos, das Sie mit dem vorherigen Befehl erstellt haben. Ersetzen Sie myRecoveryPointName durch den Namen des Wiederherstellungspunkts, den Sie über die Ausgabe aus dem vorherigen Befehl az backup recoverypoint list erhalten haben. Geben Sie auch die Zielressourcengruppe an, in der die verwalteten Datenträger wiederhergestellt werden.

    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
    

    Warnung

    Bereitstellen einer Zielressourcengruppe für Wiederherstellungen auf verwalteten Datenträgern. Azure Backup unterstützt das Wiederherstellen von Datenträgern nicht als nicht verwaltete Datenträger. Informationen zu Legacywiederherstellungspunkten von VMs, die nicht verwaltete Datenträger verwendet haben, finden Sie unter Wiederherstellen von Legacywiederherstellungspunkten von VMs, die nicht verwaltete Datenträger verwendet haben.

Wiederherstellung von Datenträgern in einer sekundären Region

Die Sicherungsdaten werden in die sekundäre Region repliziert, sobald Sie die regionsübergreifende Wiederherstellung für den Tresor aktivieren, in dem Ihre VMs geschützt sind. Sie können die Sicherungsdaten verwenden, um einen Wiederherstellungsvorgang durchzuführen.

Um Festplatten in der sekundären Region wiederherzustellen, verwenden Sie das Flag --use-secondary-region im Befehl az backup restore restore-disks. Stellen Sie sicher, dass Sie als Ziel ein Speicherkonto in der sekundären Region angeben.

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

Zonenübergreifende Wiederherstellung

Sie könnenan Azure-Zonen angeheftete VMs in beliebigen Verfügbarkeitszonen in derselben Region wiederherstellen.

Um eine VM in einer anderen Zone wiederherzustellen, geben Sie den Parameter TargetZoneNumber im Befehl az backup restore restore-disks an.

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

Die zonenübergreifende Wiederherstellung wird nur in Szenarien unterstützt, in denen:

  • Die Quell-VM ist an die Zone angeheftet und NICHT verschlüsselt.
  • Der Wiederherstellungspunkt ist nur auf Tresorebene vorhanden. Nur Momentaufnahmen oder Momentaufnahmen und Tresorebene werden nicht unterstützt.
  • Die Wiederherstellungsoption ist das Erstellen einer neuen VM oder Wiederherstellen von Datenträgern. Die Option „Datenträger ersetzen“ ersetzt Quelldaten. Daher gilt die Option „Verfügbarkeitszone“ nicht.
  • Erstellen von VM/Datenträgern in derselben Region, wenn ZRS die Speicherredundanz des Tresors ist. Beachten Sie, dass es nicht funktioniert, wenn es sich bei der Speicherredundanz des Tresors um GRS handelt, auch wenn es sich bei der Quell-VM um eine angeheftet Zone handelt.
  • Erstellen von VMs/Datenträgern in der gekoppelten Region, wenn die Speicherredundanz des Tresors für regionsübergreifende Wiederherstellung aktiviert ist und wenn die gekoppelte Region Zonen unterstützt.

Wiederherstellung nicht verwalteter Datenträger

Wenn der Wiederherstellungspunkt von einem virtuellen Computer stammt, der nicht verwaltete Datenträger verwendet hat, stellt Azure Backup diese Datenträger nur als verwaltete Datenträger wieder her. Stellen Sie ein Azure-Speicherkonto bereit, um die VM-Konfiguration, Bereitstellungsvorlage und temporäre VHD-Dateien zu speichern, und stellen Sie eine Zielressourcengruppe für die wiederhergestellten verwalteten Datenträger bereit.

In zusätzlichen Schritten werden die wiederhergestellten Datenträger verwendet, um einen virtuellen Computer zu erstellen.

  1. Verwenden Sie zum Erstellen eines Speicherkontos az storage account create. Der Name des Speicherkontos darf nur Kleinbuchstaben enthalten und muss global eindeutig sein. Ersetzen Sie mystorageaccount durch Ihren eigenen eindeutigen Namen:

    az storage account create \
        --resource-group myResourceGroup \
        --name mystorageaccount \
        --sku Standard_LRS
    
  2. Stellen Sie den Datenträger mit az backup restore restore-disks aus dem Wiederherstellungspunkt wieder her. Ersetzen Sie mystorageaccount durch den Namen des Speicherkontos, das Sie mit dem vorherigen Befehl erstellt haben. Ersetzen Sie myRecoveryPointName durch den Namen des Wiederherstellungspunkts, den Sie über die Ausgabe aus dem vorherigen Befehl az backup recoverypoint list erhalten haben. Stellen Sie außerdem die Zielressourcengruppe für die wiederhergestellten verwalteten Datenträger bereit:

    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
    

Die Wiederherstellung auf nicht verwalteten Datenträgern wird nicht unterstützt. Für Legacy-Wiederherstellungspunkte von VMs, die nicht verwaltete Datenträger verwendet haben, befolgen Sie die Anleitung unter Wiederherstellen von Legacywiederherstellungspunkten von VMs, die nicht verwaltete Datenträger verwendet haben.

Überwachen des Wiederherstellungsauftrags

Nutzen Sie az backup job list, um den Status des Wiederherstellungsauftrags zu überwachen:

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

Die Ausgabe ähnelt dem folgenden Beispiel, bei dem für den Wiederherstellungsauftrag der Status InProgress angezeigt wird:

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

Wenn der Status des Wiederherstellungsauftrags Abgeschlossen lautet, wurden die erforderlichen Informationen (VM-Konfiguration und Bereitstellungsvorlage) im Speicherkonto wiederhergestellt.

Verwenden der verwalteten Identität zum Wiederherstellen von Datenträgern

Mit Azure Backup können Sie auch eine verwaltete Identität (Managed Service Identity, MSI) während des Wiederherstellungsvorgang verwenden, um auf Speicherkonten zuzugreifen, in denen Datenträger wiederhergestellt werden müssen. Diese Option wird derzeit nur für die Wiederherstellung verwalteter Datenträger unterstützt.

Wenn Sie die systemseitig zugewiesene verwaltete Identität des Tresors zum Wiederherstellen von Datenträgern verwenden möchten, übergeben Sie ein zusätzliches Flag --mi-system-assigned an den Befehl az backup restore restore-disks. Wenn Sie eine benutzerseitig zugewiesene verwaltete Identität verwenden möchten, übergeben Sie den Parameter --mi-user-assigned mit der Azure Resource Manager-ID der verwalteten Identität des Tresors als Wert des Parameters. In diesem Artikel erfahren Sie, wie Sie eine verwaltete Identität für Ihre Tresore aktivieren.

Erstellen Sie eine VM von einem wiederhergestellten Datenträger

Im letzten Schritt muss auf der Grundlage der wiederhergestellten Datenträger eine virtuelle Maschine erstellt werden. Zum Erstellen des virtuellen Computers können Sie die Bereitstellungsvorlage verwenden, die in das angegebene Speicherkonto heruntergeladen wurde.

Rufen Sie die Auftragsdetails ab

Aus den resultierenden Auftragsdetails ergibt sich der Vorlagen-URI, der abgefragt und bereitgestellt werden kann. Verwenden Sie den Befehl „job show“, um weitere Details für den ausgelösten Wiederherstellungsauftrag anzuzeigen.

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

Die Ausgabe dieser Abfrage enthält sämtliche Details, für uns ist allerdings nur der Speicherkontoinhalt interessant. Wir können die Abfragefunktion der Azure-Befehlszeilenschnittstelle verwenden, um die relevanten Details abzurufen.

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

Rufen Sie die Bereitstellungsvorlage ab

Auf die Vorlage kann nicht direkt zugegriffen werden, da sie sich unter dem Speicherkonto eines Kunden und dem angegebenen Container befindet. Wir benötigen die gesamte URL sowie ein temporäres SAS-Token, um auf diese Vorlage zugreifen zu können.

Extrahieren Sie zunächst den Vorlagen-Blob-URI aus den Auftragsdetails.

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"

Der Vorlagen-Blob-URI hat das folgende Format. Extrahieren Sie den Vorlagennamen.

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

Der Vorlagenname aus dem obigen Beispiel ist also azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json, und der Containername lautet myVM-daa1931199fd4a22ae601f46d8812276.

Rufen Sie als Nächstes das SAS-Token für diesen Container und die Vorlage ab. Eine entsprechende Anleitung finden Sie hier.

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)

Bereitstellen der Vorlage zur Erstellung des virtuellen Computers

Stellen Sie nun die Vorlage bereit, um den virtuellen Computer zu erstellen. Eine entsprechende Anleitung finden Sie hier.

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

Um zu überprüfen, ob Ihr virtueller Computer von dem wiederhergestellten Datenträger erstellt wurde, listen Sie mit az vm list die VMs in Ihrer Ressourcengruppe auf:

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

Wiederherstellen von Daten auf virtuellen Computern mithilfe der CLI

Sie können Daten jetzt direkt auf dem ursprünglichen bzw. einem alternativen virtuellen Computer wiederherstellen, ohne mehrere Schritte auszuführen.

Wiederherstellen von Daten auf dem ursprünglichen virtuellen Computer

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

Der letzte Befehl löst eine Wiederherstellungsoperation am ursprünglichen Speicherort aus, um die Daten in der bestehenden virtuellen Maschine wiederherzustellen.

Wiederherstellen von Daten auf einem neu erstellten virtuellen Computer

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

Der letzte Befehl löst eine Wiederherstellung an einem alternativen Speicherort aus, um einen neuen virtuellen Computer in der Ressourcengruppe Target_RG gemäß den Eingaben der Parameter TargetVMName, TargetVNetName, TargetVNetResourceGroup und TargetSubnetName zu erstellen. Dadurch wird sichergestellt, dass die Daten auf dem erforderlichen virtuellen Computer im gewünschten virtuellen Netzwerk und Subnetz wiederhergestellt werden.

Nächste Schritte

In diesem Tutorial haben Sie einen Datenträger von einem Wiederherstellungspunkt wiederhergestellt und dann einen virtuellen Computer von diesem Datenträger erstellt. Sie haben Folgendes gelernt:

  • Auflisten und Auswählen von Wiederherstellungspunkten
  • Wiederherstellen eines Datenträgers aus einem Wiederherstellungspunkt
  • Erstellen Sie eine VM von einem wiederhergestellten Datenträger

Fahren Sie mit dem nächsten Tutorial fort, in dem Sie mehr über die Wiederherstellung einzelner Dateien aus einem Wiederherstellungspunkt erfahren.