我正在尝试将 VHD 映像从本地文件系统添加到 Azure BLOB 存储。每当我执行此操作后大约 6 分钟,我都会收到错误“远程服务器返回错误:(400) 错误请求”。我使用以下步骤上传映像(使用 Azure 资源管理器):
PS C:\Users\myuser> Set-AzureRmContext -SubscriptionId aaaaaaaa-bbbb-cccc-dddd-0123456789012
Environment : AzureCloud
Account : [email protected]
TenantId : aaaaaaaa-bbbb-cccc-dddd-0123456789012
SubscriptionId : aaaaaaaa-bbbb-cccc-dddd-0123456789012
SubscriptionName : MySubscription
CurrentStorageAccount :
PS C:\Users\myuser>
PS C:\Users\myuser> $rgName = "MyResourceGroupName"
PS C:\Users\myuser> $urlOfUploadedImageVhd = "https://myblobaccount.blob.core.windows.net/myvirtualmachine.vhd"
PS C:\Users\myuser>
PS C:\Users\myuser> Add-AzureRmVhd -ResourceGroupName $rgName -Destination $urlOfUploadedImageVhd -LocalFilePath C:\Users\myuser\myvirtualmachine.vhd
MD5 hash is being calculated for the file C:\Users\myuser\myvirtualmachine.vhd.
MD5 hash calculation is completed.
Elapsed time for the operation: 00:06:29
Creating new page blob of size 136365212160...
Add-AzureRmVhd : The remote server returned an error: (400) Bad Request.
At line:1 char:1
+ Add-AzureRmVhd -ResourceGroupName $rgName -Destination $urlOfUploaded ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Add-AzureRmVhd], StorageException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.StorageServices.AddAzureVhdCommand
我不知道如何进一步调试?如果您能帮助我找出问题所在,我将不胜感激。
答案1
您的 Azure 存储帐户类型为“Blob 存储”。根据文档,它不执行 VM 所需的页面 Blob。
通过上传到通用存储帐户来解决此问题。更多信息我的博客。
答案2
添加 -Debug 开关以查看实际的 REST 调用。
答案3
尝试在 Azure 门户网站上手动上传页面 blob 可能会有所帮助,以找出问题的原因。对于 VHD,您需要一个页面 blob。请注意,区域冗余存储帐户不支持这些。可以找到更多详细信息这里。