Azure托管磁盘。访问底层blob?

时间:2017-03-06 21:26:14

标签: azure azure-storage azure-storage-blobs azure-resource-manager

是否可以访问Azure托管磁盘中的blob?如果说,我需要将其复制到另一个存储帐户(常规存储帐户)。由于托管存储目前仅支持LRS。

2 个答案:

答案 0 :(得分:1)

  

如果说,我需要将其复制到另一个存储帐户(常规存储空间)   帐户)。

     

您应该了解托管磁盘和托管磁盘之间的区别   非托管磁盘。对于非托管磁盘,您必须创建存储   用于保存Azure VM的磁盘(VHD文件)的帐户。什么时候   扩大规模,你必须确保你创建了额外的存储空间   帐户,所以你没有超过任何存储的IOPS限制   你的磁盘。使用托管磁盘处理存储,您不再是   受存储帐户限制(例如20,000 IOPS /帐户)的限制。   您也不必再将自定义图像(VHD文件)复制到   多个存储帐户。您可以在中心位置管理它们 -   每个Azure区域一个存储帐户 - 并使用它们创建数百个   订阅中的虚拟机更多信息请参考此   link

更新

您可以使用以下cmdlet将托管磁盘复制到您的专用存储帐户。

$sas = Grant-AzureRmDiskAccess -ResourceGroupName shui -DiskName shuitest -DurationInSecond 3600 -Access Read 
$destContext = New-AzureStorageContext –StorageAccountName contosostorageav1 -StorageAccountKey 'YourStorageAccountKey' 
Start-AzureStorageBlobCopy -AbsoluteUri $sas.AccessSAS -DestContainer 'vhds' -DestContext $destContext -DestBlob 'MyDestinationBlobName.vhd'

答案 1 :(得分:0)

您无法复制到常规存储帐户,但可以将其副本创建到所需的任何位置。我们假设磁盘位于“ eastus ”中,您需要“ brazilsouth ”中的副本

获取磁盘:

New-AzureRmSnapshot -Snapshot $snapshot -SnapshotName $newDiskName -ResourceGroupName $rgName

将副本配置制作到另一个位置:

 MemberProfiles = new Mongo.Collection('memberProfiles');
 MemberProfileSchema = new SimpleSchema({
 expiryDate: {
   type: Date,

   autoValue: function () {

    return  moment().toDate();
    },

    autoform: {
        type: "hidden"
    }
} 

// to insert into Memb erProfiles
 {{> quickForm collection="MemberProfiles" id="insertMemberProfileForm"      type="insert" class="new-recipe-form"}}

 //the code for MemberPayments collection

 MemberPayments = new Mongo.Collection('memberPayments');

MemberPayments.before.insert(function (userId, doc) {

let memberProfile= MemberProfiles.direct.findOne({profile: doc.memberId});

  MemberProfiles.update(doc.memberId, {

    $set: {
         expiryDate: moment().add(31, 'days');
,
     }
 }
)

创建快照:

.bg-1

全部完成!这样,您可以将辅助副本保留在另一个数据中心位置。