Azure云计算

如何使用PowerShell将Azure ManagedDisk(托管磁盘)从一个区域移动到另一个区域

如果您在一个地区的Azure应用设置中已经花了大量的时间和精力,不想在另一个地区重新构建整个磁盘,托管磁盘(ManagedDisk)迁移是一个不错的选择。Azure 托管磁盘通过管理与 VM 磁盘关联的存储帐户(StorageAccount),简化了 Azure IaaS VM 的磁盘管理,但是这也导致无法使用存储帐户中的 VHD 文件在不同的区域中创建托管磁盘。

如何将Azure ManagedDisk(托管磁盘)从一个区域移动到另一个区域

 

那么我们如何将Azure托管磁盘从一个区域移动到另一个区域呢?

1.首先我们需要创建一个用于迁移的源存储帐户(Source StorageAccount)。

$rgName ="roger02"
$location ="China North"
$storageAccountName ="roger1026"
New-AzureRmResourceGroup -Name $rgName -Location $location
New-AzureRmStorageAccount -Name $storageAccountName -Location $location -SkuName Premium_LRS -ResourceGroupName $rgName

如何将Azure ManagedDisk(托管磁盘)从一个区域移动到另一个区域

2. 在我们想要移动到的地区创建一个新的存储帐户(Target StorageAccount)。

$rgName ="roger01"
$location ="China East"
$storageAccountName ="roger109"
New-AzureRmResourceGroup -Name $rgName -Location $location
New-AzureRmStorageAccount -Name $storageAccountName -Location $location -SkuName Premium_LRS -ResourceGroupName $rgName

如何将Azure ManagedDisk(托管磁盘)从一个区域移动到另一个区域

3. 在门户内的资源组“roger02“下创建受托管的磁盘(ManagedDisk)。

请参照如下截图中的顺序:
如何将Azure ManagedDisk(托管磁盘)从一个区域移动到另一个区域

如何将Azure ManagedDisk(托管磁盘)从一个区域移动到另一个区域

如何将Azure ManagedDisk(托管磁盘)从一个区域移动到另一个区域

如何将Azure ManagedDisk(托管磁盘)从一个区域移动到另一个区域

4. 执行以下命令来复制blob并获取状态。

#Source storage account
$rgName ="roger02"
$location ="China North"
$storageAccountName ="roger1026"
$diskName ="rogerdisk"

#Target storage account
$destrgName ="roger01"
$destlocation ="China East"
$deststorageAccountName ="roger109"
$destdiskName ="destrogerdisk"
 
#Assign access to the source disk
$sas =Grant-AzureRmDiskAccess -ResourceGroupName $rgName -DiskName $diskName -DurationInSecond 3600 -Access Read

$saKey =Get-AzureRmStorageAccountKey -ResourceGroupName $destrgName -Name $deststorageAccountName
$storageContext =New-AzureStorageContext –StorageAccountName $deststorageAccountName -StorageAccountKey $saKey[0].Value
New-AzureStorageContainer -Context $storageContext -Name vhds10261

Start-AzureStorageBlobCopy -AbsoluteUri $sas.AccessSAS -DestContainer vhds10261 -DestContext $storageContext -DestBlob $destdiskName

Get-AzureStorageBlobCopyState -Context $storageContext -Blob $destdiskName -Container vhds10261

 
如何将Azure ManagedDisk(托管磁盘)从一个区域移动到另一个区域
现在我们只需要等待复制过程的完成。以上就是通过powershell命令迁移托管磁盘的步骤。

注意:
如果托管磁盘附加到VM,则应停止VM,然后将其复制到存储帐户。

 

(END)

文章源自:Dev Chat 在线支持

作者: