Export nebo kopírování spravovaných snímků jako virtuálního pevného disku do účtu úložiště v jiné oblasti pomocí PowerShellu
Tento skript exportuje spravovaný snímek do účtu úložiště v jiné oblasti. Nejprve vygeneruje identifikátor URI SAS snímku a pak pomocí něj zkopíruje snímek do účtu úložiště v jiné oblasti. Tento skript můžete použít k udržování zálohy spravovaných disků v jiné oblasti pro účely zotavení po havárii.
V případě potřeby nainstalujte modul Azure PowerShell podle pokynů, které najdete v průvodci pro Azure PowerShell, a pak se připojte k Azure spuštěním příkazu Connect-AzAccount
. Budete také potřebovat veřejný klíč SSH s názvem id_rsa.pub
v adresáři .ssh uživatelského profilu.
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Ukázkový skript
#Provide the subscription Id of the subscription where snapshot is created
$subscriptionId = "yourSubscriptionId"
#Provide the name of your resource group where snapshot is created
$resourceGroupName ="yourResourceGroupName"
#Provide the snapshot name
$snapshotName = "yourSnapshotName"
#Provide Shared Access Signature (SAS) expiry duration in seconds e.g. 3600.
#Know more about SAS here: https://docs.microsoft.com/en-us/Az.Storage/storage-dotnet-shared-access-signature-part-1
$sasExpiryDuration = "3600"
#Provide storage account name where you want to copy the snapshot.
$storageAccountName = "yourstorageaccountName"
#Name of the storage container where the downloaded snapshot will be stored
$storageContainerName = "yourstoragecontainername"
#Provide the key of the storage account where you want to copy snapshot.
$storageAccountKey = 'yourStorageAccountKey'
#Provide the name of the VHD file to which snapshot will be copied.
$destinationVHDFileName = "yourvhdfilename"
# Set the context to the subscription Id where Snapshot is created
Select-AzSubscription -SubscriptionId $SubscriptionId
#Generate the SAS for the snapshot
$sas = Grant-AzSnapshotAccess -ResourceGroupName $ResourceGroupName -SnapshotName $SnapshotName -DurationInSecond $sasExpiryDuration -Access Read
#Create the context for the storage account which will be used to copy snapshot to the storage account
$destinationContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey
#Copy the snapshot to the storage account
Start-AzStorageBlobCopy -AbsoluteUri $sas.AccessSAS -DestContainer $storageContainerName -DestContext $destinationContext -DestBlob $destinationVHDFileName
Vysvětlení skriptu
Tento skript k vygenerování identifikátoru URI SAS pro spravovaný snímek a zkopírování snímku do účtu úložiště s použitím tohoto identifikátoru URI SAS používá následující příkazy. Každý příkaz v tabulce odkazuje na příslušnou část dokumentace.
Příkaz | Poznámky |
---|---|
Grant-AzSnapshotAccess | Vygeneruje identifikátor URI SAS pro snímek, který se použije ke zkopírování do účtu úložiště. |
New-AzureStorageContext | Vytvoří kontext účtu úložiště s použitím názvu a klíče účtu. Tento kontext je možné použít k provádění operací čtení a zápisu v účtu úložiště. |
Start-AzureStorageBlobCopy | Zkopíruje základní virtuální pevný disk snímku do účtu úložiště. |
Další kroky
Vytvoření spravovaného disku z virtuálního pevného disku
Vytvoření virtuálního počítače ze spravovaného disku
Další informace o modulu Azure PowerShellu najdete v dokumentaci k Azure PowerShellu.
Další ukázkové skripty PowerShellu pro virtuální počítače najdete v dokumentaci k virtuálním počítačům Azure s Linuxem.