Freigeben über


Sichern von VM-Datenträgern auf einem Azure Stack Edge Pro-GPU-Gerät über Azure PowerShell

GILT FÜR:Yes for Pro GPU SKUAzure Stack Edge Pro – GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro RYes for Mini R SKUAzure Stack Edge Mini R

In diesem Artikel wird beschrieben, wie Sie mithilfe von Azure PowerShell Sicherungen von VM-Datenträgern auf einem Azure Stack Edge Pro-GPU-Gerät erstellen.

Wichtig

Dieses Verfahren ist für beendete VMs vorgesehen. Zum Sichern aktiver VMs wird empfohlen, ein Sicherungstool eines Drittanbieters zu verwenden.

Workflow

In den folgenden Schritten wird der allgemeine Workflow zum Sichern eines VM-Datenträgers auf Ihrem Gerät zusammengefasst:

  1. Beenden Sie den virtuellen Computer.
  2. Erstellen Sie eine Momentaufnahme des VM-Datenträgers.
  3. Kopieren Sie die Momentaufnahme als VHD in ein lokales Speicherkonto.
  4. Laden Sie die VHD an ein externes Ziel hoch.

Voraussetzungen

Vor dem Sichern von VMs müssen Sie Folgendes sicherstellen:

Überprüfen der Verbindung mit der lokalen Azure Resource Manager-Instanz

Stellen Sie sicher, dass Sie mit den folgenden Schritten von Ihrem Client aus auf das Gerät zugreifen können.

Vergewissern Sie sich, dass Ihr Client eine Verbindung mit der lokalen Azure Resource Manager-Instanz herstellen kann.

  1. Rufen Sie zur Authentifizierung lokale Geräte-APIs auf:

    login-AzAccount -EnvironmentName <Environment Name> -TenantId c0257de7-538f-415c-993a-1b87a031879d  
    
  2. Geben Sie den Benutzernamen EdgeArmUser und das Kennwort für die Verbindung über Azure Resource Manager an. Sollten Sie Ihr Kennwort vergessen haben, setzen Sie das Kennwort für Azure Resource Manager zurück, und melden Sie sich mit diesem Kennwort an.

Sichern eines VM-Datenträgers

  1. Rufen Sie eine Liste der VMs ab, die auf Ihrem Gerät ausgeführt werden. Identifizieren Sie den virtuellen Computer, den Sie beenden möchten, und die entsprechende Ressourcengruppe.

    Get-AzVM
    

    Beispielausgabe:

    PS C:\Users\user> Get-AzVM
    
    ResourceGroupName            Name Location         VmSize OsType                NIC
    -----------------            ---- --------         ------ ------                ---
    MYASEAZRG                  myazvm dbelocal Standard_D1_v2  Linux           myaznic1
    MYASERG           myasewindowsvm2 dbelocal Standard_D1_v2  Linux myasewindowsvm2nic
    
    PS C:\Users\user> 
    
  2. Legen Sie einige Parameter fest.

    $ResourceGroupName = "<Resource group name>"
    $VmName = "<VM name>"
    
  3. Beenden Sie den virtuellen Computer.

    Stop-AzVM –ResourceGroupName $ResourceGroupName -Name $VmName
    

    Beispielausgabe:

    PS C:\Users\user> Stop-AzVM -ResourceGroupName myaserg -Name myasewindowsvm2      
    Virtual machine stopping operation
    This cmdlet will stop the specified virtual machine. Do you want to continue?
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
    
    OperationId : 8a2fa7ea-99d0-4f9f-b8ca-e37389cd8413
    Status      : Succeeded
    StartTime   : 6/28/2021 11:51:33 AM
    EndTime     : 6/28/2021 11:51:50 AM
    Error       :
    
    PS C:\Users\user>
    

    Sie können die VM auch über das Azure-Portal beenden.

  4. Erstellen Sie eine Momentaufnahme des VM-Datenträgers, und speichern Sie sie in einer lokalen Ressourcengruppe. Sie können dieses Verfahren sowohl für Betriebssystemdatenträger als auch für Datenträger für Daten verwenden.

    1. Rufen Sie die Liste der Datenträger auf Ihrem Gerät oder in einer bestimmten Ressourcengruppe ab. Notieren Sie sich den Namen des zu sichernden Datenträgers.

      $Disk = Get-AzDisk -ResourceGroupName $ResourceGroupName
      $Disk.Name
      

      Beispielausgabe:

      PS C:\Users\user> $Disk = Get-AzDisk -ResourceGroupName myaserg
      PS C:\Users\user> $Disk.Name
      myasewindowsvm2_disk1_2a066432056446669368969835d5e3b3
      myazdisk1
      myvmdisk2
      PS C:\Users\user>
      
    2. Erstellen Sie eine lokale Ressourcengruppe, die als Ziel für die VM-Momentaufnahme dienen soll. Der Speicherort wird auf dbelocal festgelegt.

      New-AzResourceGroup -ResourceGroupName <Resource group name> -Location dbelocal 
      
      PS C:\Users\user> New-AzResourceGroup -ResourceGroupName myaseazrg1 -Location dbelocal
      
      ResourceGroupName : myaseazrg1
      Location          : dbelocal
      ProvisioningState : Succeeded
      Tags              :
      ResourceId        : /subscriptions/.../resourceGroups/myaseazrg1
      
      PS C:\Users\user>
      
    3. Legen Sie einige Parameter fest.

      $DiskResourceGroup = <Disk resource group>
      $DiskName = <Disk name>
      $SnapshotName = <Snapshot name>
      $DestinationRG = <Snapshot destination resource group>
      
    4. Legen Sie die Momentaufnahmekonfiguration fest, und erstellen Sie die Momentaufnahme.

      $Disk = Get-AzDisk -ResourceGroupName $DiskResourceGroup -DiskName $DiskName
      $SnapshotConfig = New-AzSnapshotConfig -SourceUri $Disk.Id -CreateOption Copy -Location 'dbelocal'
      $Snapshot = New-AzSnapshot -Snapshot $SnapshotConfig -SnapshotName $SnapshotName -ResourceGroupName $DestinationRG
      

      Vergewissern Sie sich, dass die Momentaufnahme in der Zielressourcengruppe erstellt wird.

      Get-AzSnapshot -ResourceGroupName $DestinationRG
      

      Beispielausgabe:

      PS C:\Users\user> $DiskResourceGroup = "myaserg"
      PS C:\Users\user> $DiskName = "myazdisk1"
      PS C:\Users\user> $SnapshotName = "myasdisk1ss"
      PS C:\Users\user> $DestinationRG = "myaseazrg1"
      PS C:\Users\user> $Disk = Get-AzDisk -ResourceGroupName $DiskResourceGroup -DiskName $DiskName
      PS C:\Users\user> $SnapshotConfig = New-AzSnapshotConfig -SourceUri $Disk.Id -CreateOption Copy -Location 'dbelocal'
      PS C:\Users\user> $Snapshot=New-AzSnapshot -Snapshot $SnapshotConfig -SnapshotName $SnapshotName -ResourceGroupName $DestinationRG
      PS C:\Users\user> Get-AzSnapshot -ResourceGroupName $DestinationRG
      
      ResourceGroupName            : myaseazrg1
      ManagedBy                    :
      Sku                          : Microsoft.Azure.Management.Compute.Models.SnapshotSku
      TimeCreated                  : 6/28/2021 6:57:40 PM
      OsType                       :
      HyperVGeneration             :
      CreationData                 : Microsoft.Azure.Management.Compute.Models.CreationDat
                                     a
      DiskSizeGB                   : 10
      DiskSizeBytes                : 10737418240
      UniqueId                     : fbc1cfac-8bbb-44d8-8aa4-9e8811950fcc
      EncryptionSettingsCollection :
      ProvisioningState            : Succeeded
      Incremental                  : False
      Encryption                   : Microsoft.Azure.Management.Compute.Models.Encryption
      Id                           : /subscriptions/.../r
                                     esourceGroups/myaseazrg1/providers/Microsoft.Compute/
                                     snapshots/myasdisk1ss
      Name                         : myasdisk1ss
      Type                         : Microsoft.Compute/snapshots
      Location                     : DBELocal
      Tags                         : {}
      
      PS C:\Users\user>
      

Kopieren der Momentaufnahme in ein lokales Speicherkonto

Kopieren Sie die Momentaufnahmen in ein lokales Speicherkonto auf Ihrem Gerät.

  1. Legen Sie einige Parameter fest.

    $StorageAccountRG = <Local storage account resource group>
    $StorageAccountName = <Storage account name>
    $StorageEndpointSuffix = <Connection string in format: DeviceName.DnsDomain.com>
    $DestStorageContainer = <Destination storage container>
    $DestFileName = <Blob file name> 
    
  2. Erstellen Sie ein lokales Speicherkonto auf Ihrem Gerät.

    New-AzStorageAccount -Name  $StorageAccountName -ResourceGroupName $StorageAccountRG -Location DBELocal -SkuName Standard_LRS
    

    Beispielausgabe:

    PS C:\Users\user> New-AzStorageAccount -Name  $StorageAccountName -ResourceGroupName $StorageAccountRG -Location DBELocal -SkuName Standard_LRS
    
    StorageAccountName ResourceGroupName PrimaryLocation SkuName      Kind    AccessTier
    ------------------ ----------------- --------------- -------      ----    ----------
    myaseazsa1         myaseazrg2        DBELocal        Standard_LRS Storage
    PS C:\Users\user>
    
  3. Erstellen Sie einen Container in dem von Ihnen erstellten lokalen Speicherkonto.

    $keys = Get-AzStorageAccountKey -ResourceGroupName $StorageAccountRG -Name $StorageAccountName
    $keyValue = $keys[0].Value
    $storageContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $keyValue -Protocol Http -Endpoint $StorageEndpointSuffix;
    $container = New-AzStorageContainer -Name $DestStorageContainer -Context $storageContext -Permission Container -ErrorAction Ignore;    
    

    Beispielausgabe:

    PS C:\Users\user> $StorageAccountRG = "myaseazrg2"
    PS C:\Users\user> $StorageAccountName = "myaseazsa1"
    PS C:\Users\user> $StorageEndpointSuffix = "myasegpu.wdshcsso.com"
    PS C:\Users\user> $DestStorageContainer = "testcont1"
    PS C:\Users\user> $DestFileName = "testfile1"
    
    PS C:\Users\user> $keys = Get-AzStorageAccountKey -ResourceGroupName $StorageAccountRG -Name $StorageAccountName
    PS C:\Users\user> $keyValue = $keys[0].Value
    PS C:\Users\user> $storageContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $keyValue -Protocol Http -Endpoint $StorageEndpointSuffix;                                                                                   
    PS C:\Users\user> $storagecontext
    
    StorageAccountName  : myaseazsa1
    BlobEndPoint        : http://myaseazsa1.blob.myasegpu.wdshcsso.com/
    TableEndPoint       : http://myaseazsa1.table.myasegpu.wdshcsso.com/
    QueueEndPoint       : http://myaseazsa1.queue.myasegpu.wdshcsso.com/
    FileEndPoint        : http://myaseazsa1.file.myasegpu.wdshcsso.com/
    Context             : Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext
    Name                :
    StorageAccount      : BlobEndpoint=http://myaseazsa1.blob.myasegpu.wdshcsso.com/;Que
                          ueEndpoint=http://myaseazsa1.queue.myasegpu.wdshcsso.com/;Tabl
                          eEndpoint=http://myaseazsa1.table.myasegpu.wdshcsso.com/;FileE
                          ndpoint=http://myaseazsa1.file.myasegpu.wdshcsso.com/;AccountN
                          ame=myaseazsa1;AccountKey=[key hidden]
    TableStorageAccount : BlobEndpoint=http://myaseazsa1.blob.myasegpu.wdshcsso.com/;Que
                          ueEndpoint=http://myaseazsa1.queue.myasegpu.wdshcsso.com/;Tabl
                          eEndpoint=http://myaseazsa1.table.myasegpu.wdshcsso.com/;FileE
                          ndpoint=http://myaseazsa1.file.myasegpu.wdshcsso.com/;DefaultE
                          ndpointsProtocol=https;AccountName=myaseazsa1;AccountKey=[key
                          hidden]
    Track2OauthToken    :
    EndPointSuffix      : myasegpu.wdshcsso.com/
    ConnectionString    : BlobEndpoint=http://myaseazsa1.blob.myasegpu.wdshcsso.com/;Que
                          ueEndpoint=http://myaseazsa1.queue.myasegpu.wdshcsso.com/;Tabl
                          eEndpoint=http://myaseazsa1.table.myasegpu.wdshcsso.com/;FileE
                          ndpoint=http://myaseazsa1.file.myasegpu.wdshcsso.com/;AccountN
                          ame=myaseazsa1;AccountKey=itOn5Awjh3hnoGKL7EDQ681zhIKG/szCt05Z
                          IWAxP/T22gwEXb5l0sKjI833Hqpc0MsBiSH2rM6NuuwnJyEO1Q==
    ExtendedProperties  : {}
    
    
    
    PS C:\Users\user> $container = New-AzStorageContainer -Name $DestStorageContainer -Context $storageContext -Permission Container -ErrorAction Ignore;
    PS C:\Users\user> $container
    Blob End Point: http://myaseazsa1.blob.myasegpu.wdshcsso.com/
    
    Name                 PublicAccess         LastModified
    ----                 ------------         ------------
    testcont1           Container            6/28/2021 2:46:03 PM +00:00
    
    PS C:\Users\user>
    

    Sie können auch Azure Storage-Explorer verwenden, um ein lokales Speicherkonto zu erstellen, und dann einen Container im lokalen Speicherkonto auf Ihrem Gerät erstellen.

  4. Laden Sie die Momentaufnahme in das lokale Speicherkonto herunter.

    $sassnapshot = Grant-AzSnapshotAccess -ResourceGroupName $DestinationRG -SnapshotName $SnapshotName -Access 'Read' -DurationInSecond 3600
    $destContext = New-AzStorageContext –StorageAccountName $StorageAccountName -StorageAccountKey $keyValue 
    Start-AzStorageBlobCopy -AbsoluteUri $sassnapshot.AccessSAS -DestContainer $DestStorageContainer -DestContext $destContext -DestBlob $DestFileName
    

    Beispielausgabe:

    PS C:\Users\user> $sassnapshot
    
    AccessSAS : https://md-2.blob.myasegpu.wdshcsso.com/22615edc48654bb8b77e383d3a7649ac
    /abcd.vhd?sv=2017-04-17&sr=b&si=43ca8395-6942-496b-92d7-f0d6dc68ab63&sk=system-1&sig
    =K%2Bc34uq7%2BLcTetG%2Bj9loOH440e03vDkD24Ug0Gf%2Bex8%3D
    
    PS C:\Users\user> $destContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $keyValue
    PS C:\Users\user> $destContext
    
    
    StorageAccountName  : myaseazsa1
    BlobEndPoint        : https://myaseazsa1.blob.myasegpu.wdshcsso.com/
    TableEndPoint       : https://myaseazsa1.table.myasegpu.wdshcsso.com/
    QueueEndPoint       : https://myaseazsa1.queue.myasegpu.wdshcsso.com/
    FileEndPoint        : https://myaseazsa1.file.myasegpu.wdshcsso.com/
    Context             : Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext
    Name                :
    StorageAccount      : BlobEndpoint=https://myaseazsa1.blob.myasegpu.wdshcsso.com/;Qu
                          eueEndpoint=https://myaseazsa1.queue.myasegpu.wdshcsso.com/;Ta
                          bleEndpoint=https://myaseazsa1.table.myasegpu.wdshcsso.com/;Fi
                          leEndpoint=https://myaseazsa1.file.myasegpu.wdshcsso.com/;Acco
                          untName=myaseazsa1;AccountKey=[key hidden]
    TableStorageAccount : BlobEndpoint=https://myaseazsa1.blob.myasegpu.wdshcsso.com/;Qu
                          eueEndpoint=https://myaseazsa1.queue.myasegpu.wdshcsso.com/;Ta
                          bleEndpoint=https://myaseazsa1.table.myasegpu.wdshcsso.com/;Fi
                          leEndpoint=https://myaseazsa1.file.myasegpu.wdshcsso.com/;Defa
                          ultEndpointsProtocol=https;AccountName=myaseazsa1;AccountKey=[
                          key hidden]
    Track2OauthToken    :
    EndPointSuffix      : myasegpu.wdshcsso.com/
    ConnectionString    : BlobEndpoint=https://myaseazsa1.blob.myasegpu.wdshcsso.com/;Qu
                          eueEndpoint=https://myaseazsa1.queue.myasegpu.wdshcsso.com/;Ta
                          bleEndpoint=https://myaseazsa1.table.myasegpu.wdshcsso.com/;Fi
                          leEndpoint=https://myaseazsa1.file.myasegpu.wdshcsso.com/;Acco
                          untName=myaseazsa1;AccountKey=itOn5Awjh3hnoGKL7EDQ681zhIKG/szC
                          t05ZIWAxP/T22gwEXb5l0sKjI833Hqpc0MsBiSH2rM6NuuwnJyEO1Q==
    ExtendedProperties  : {}
    
    PS C:\Users\user> Start-AzStorageBlobCopy -AbsoluteUri $sassnapshot.AccessSAS -DestContainer $DestStorageContainer -DestContext $destContext -DestBlob $DestFileName    
    
       AccountName: myaseazsa1, ContainerName: testcont1
    
    Name                 BlobType  Length          ContentType                    LastMo
                                                                                  dified
    ----                 --------  ------          -----------                    ------
    testfile1            BlockBlob -1                                             202...
    
    PS C:\Users\user>
    

    Sie können auch mithilfe von Storage-Explorer überprüfen, ob die Momentaufnahme ordnungsgemäß in das Speicherkonto kopiert wurde.

    Storage Explorer showing the backup in the container in local storage account

Herunterladen der VHD auf ein externes Ziel

Um Ihre Sicherungen an einen externen Speicherort zu verschieben, können Sie Azure Storage-Explorer oder AzCopy verwenden.

  • Verwenden Sie den folgenden AzCopy-Befehl, um die VHD auf ein externes Ziel herunterzuladen.

    azcopy copy "https://<local storage account name>.blob.<device name>.<DNS domain>/<container name>/<filename><SAS query string>" <destination target>
    
  • Anweisungen zum Einrichten und Verwenden von Azure Storage-Explorer mit Azure Stack Edge finden Sie unter Verwenden des Storage-Explorer für den Upload.

Nächste Schritte

Stellen Sie VMs auf Ihrem Azure Stack Edge Pro-GPU-Gerät über Vorlagen bereit.