【问题标题】:copy VHD from one Storage account to another Storage account in different Tenant将 VHD 从一个存储帐户复制到不同租户中的另一个存储帐户
【发布时间】:2021-04-25 05:15:04
【问题描述】:

我需要您的建议来移动我们使用非托管磁盘创建的一个应用程序服务器,该磁盘空间约为 15 TB。我们需要将 VM 从一个 Azure AD 租户(源)移动到另一个租户(目标)。但是,在我们检查移动后的数据完整性之前,我们必须保持 Source VM“原样”。为了实现这一点,我计划将 VHD(每个 15 x 1 TB)移动到目标存储帐户。

复制 15 TB 需要多少带宽。最好的方法是什么?

【问题讨论】:

    标签: azure-blob-storage


    【解决方案1】:

    如果我错了,请纠正我。您需要拍摄使用非托管磁盘的 VM 的快照并将其移动到另一个目标。记住一个问题,您需要托管还是非托管此快照并将其复制到目标存储帐户?

    有几种方法,请查看:

    First:

    1. 使用 GUI(门户)或 PowerShell 创建磁盘快照: https://docs.microsoft.com/en-us/azure/virtual-machines/windows/snapshot-copy-managed-disk
    2. 加载 Windows PowerShell。
    3. 运行以下命令: #安装最新的 Az PowerShell 模块。

    Get-InstalledModule -Name Az -AllVersions

    #连接到 Azure 帐户:Connect-AzAccount

    #声明变量:

    $resourceGroupName ='' $snapshotName ='' $resourceGroupNameStorageAccount ='' $storageAccountName ='' $storageContainerName ='' $destinationVHDFileName =''

    #获取目标存储账户的存储账户密钥 $storageAccountKey = Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -AccountName $storageAccountName

    #为快照生成 SAS $sas = Grant-AzSnapshotAccess -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName -Access 'Read' -DurationInSecond 6000;

    #为快照创建目标存储帐户的上下文 $destinationContext = New-AzStorageContext –storageAccountName $storageAccountName -StorageAccountKey ($storageAccountKey).Value[0]

    #将快照复制到目标存储帐户 启动-AzStorageBlobCopy -AbsoluteUri $sas.AccessSAS -DestContainer $storageContainerName -DestContext $destinationContext -DestBlob "$destinationVHDFileName.vhd"

    第二:

    使用 azcopy 复制快照。这也将使您看到进度。 - 强烈建议使用该方法。

    这样做:

    1. 下载工具:https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-blobs-copy?toc=/azure/storage/blobs/toc.json

    2. 使用“azcopy copy”命令将快照复制到存储:https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-blobs-copy?toc=/azure/storage/blobs/toc.json#copy-containers-directories-and-blobs

    语法:

    azcopy copy 'https://<source-storage-account-name>.blob.core.windows.net/<SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/' --recursive
    

    示例:

    azcopy copy 'https://mysourceaccount.blob.core.windows.net/?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.blob.core.windows.net' --recursive
    

    据我所知,存储帐户之间的入站/出站数据量没有数据限制。

    请注意,出站数据传输是收费的,而入站是免费的: https://azure.microsoft.com/en-us/pricing/details/bandwidth/

    供您使用的其他资源:

    【讨论】:

    • 谢谢你奥尔加。我想管理我的目标存储帐户。
    • @Sri Sai,第二种方法应该适合你。
    • 谢谢。还有一个问题。如何查看我的 azcopy 的当前进度。
    • 您应该能够在使用 AzCopy 时看到进度。例如,在我发布的图像中输出上面的内容。
    猜你喜欢
    • 2021-08-25
    • 1970-01-01
    • 2023-04-06
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    • 2015-10-22
    • 1970-01-01
    相关资源
    最近更新 更多