【发布时间】:2015-10-05 19:23:14
【问题描述】:
注意:这是一个 Azure ARM 问题,而不是 Azure 服务管理问题。
我的存储帐户中有 2 个 vhd - machine-os.vhd 和 machine-data.vhd。我可以使用 PowerShell ARM cmdlet 创建具有现有操作系统 vhd 的 VM,但无法弄清楚如何附加现有数据 vhd。我发现的所有示例都创建了 EMPTY 数据磁盘 - 但我想将现有的 vhd 附加为数据磁盘。
我尝试将createOption attach 开关与Add-AzureVMDataDisk 一起使用,如下所示:
$vm = New-AzureVMConfig ...
$vm = Add-AzureVMDataDisk -VM $vm -VhdUri $existingDiskUri -Name "machine-data.vhd" -Caching ReadOnly -CreateOption attach -DiskSizeInGB 200
但是,操作失败并显示:
Blob https://x.blob.core.windows.net/vhds/machine-data.vhd already exists. Please provide a different blob URI to create a new blank data disk 'machine-data.vhd.'
我必须指定DiskSizeInGB 才能使Add-AzureVMDataDisk 命令起作用(这看起来很奇怪)。我尝试指定SourceImageUri 和VhdUri 的不同名称,根据documentation,应该将vhd 从sourceImageUri 复制到vhdUri 并附加它。尝试 createOption fromImage 失败,因为“您无法使用源图像 uri 指定大小”。但是,cmdlet 的 size 参数是强制性的,所以我不知道如何指定 sourceUri 而不是 size。
This SO question 提出了类似的问题(尽管我没有得到相同的错误),但答案中的链接显示了一个带有 EMPTY 数据磁盘的模板,这没有帮助。
有趣的是,我尝试从 Azure 门户将磁盘添加到 VM - 您必须在此处指定名称和 URI,但操作总是失败并出现一些奇怪的 json 解析错误。我似乎无法正确获取数据盘的 uri。
【问题讨论】:
标签: powershell azure azure-resource-manager