Sichern von VM-Datenträgern auf einem Azure Stack Edge Pro-GPU-Gerät über Azure PowerShell
GILT FÜR:Azure Stack Edge Pro – GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure 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:
- Beenden Sie den virtuellen Computer.
- Erstellen Sie eine Momentaufnahme des VM-Datenträgers.
- Kopieren Sie die Momentaufnahme als VHD in ein lokales Speicherkonto.
- Laden Sie die VHD an ein externes Ziel hoch.
Voraussetzungen
Vor dem Sichern von VMs müssen Sie Folgendes sicherstellen:
- Sie haben Zugriff auf einen Client für die Verbindungsherstellung mit Ihrem Gerät.
- Ihr Client verfügt über ein unterstütztes Betriebssystem.
- Ihr Client ist so konfiguriert, dass er eine Verbindung mit der lokalen Azure Resource Manager-Instanz Ihres Geräts herstellt (siehe Herstellen einer Verbindung mit Azure Resource Manager auf Ihrem Azure Stack Edge Pro-Gerät).
Ü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.
Rufen Sie zur Authentifizierung lokale Geräte-APIs auf:
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
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>
Legen Sie einige Parameter fest.
$ResourceGroupName = "<Resource group name>" $VmName = "<VM name>"
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.
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.
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>
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>
Legen Sie einige Parameter fest.
$DiskResourceGroup = <Disk resource group> $DiskName = <Disk name> $SnapshotName = <Snapshot name> $DestinationRG = <Snapshot destination resource group>
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.
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>
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>
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.
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.
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.