在 Azure 中从已有数据磁盘的现有映像创建 VM 时,我可以通过 ARM 模板添加额外的数据磁盘吗?

Can I add additional datadisk through ARM Template while creating a VM in Azure from an existing image which already has a datadisk?

我正在使用现有映像通过 ARM 模板在 Azure 中创建 VM。图像已经有一个数据磁盘。我正在尝试在创建 VM 时通过 ARM 模板添加额外的数据磁盘。我可以这样做吗?我收到以下列出的错误:-

Can not add property dataDisks to Newtonsoft.Json.Linq.JObject. Property with the same name already exists on object

嗯,如果你的镜像已经有数据盘,那么在通过ARM模板创建虚拟机的时候,你还需要为已有的数据盘配置datadisk块。只需将 createOption 设置为值 fromImage。然后照常设置附加数据盘。比如你的镜像有一个数据盘,你还需要附加另一个数据盘,那么dataDisk块就是这样:

"dataDisks": [
    {
        "lun": 0,
        "createOption": "fromImage",
        "caching": "ReadOnly",
        "writeAcceleratorEnabled": false,
        "id": null,
        "name": null,
        "storageAccountType": "Premium_LRS",
        "diskSizeGB": null,
        "diskEncryptionSet": null
    },
    {
        "lun": 1,
        "createOption": "attach",
        "caching": "None",
        "writeAcceleratorEnabled": false,
        "id": null,
        "name": "azurevm_DataDisk_1",
        "storageAccountType": null,
        "diskSizeGB": null,
        "diskEncryptionSet": null
    }
]

这只是一个示例,您可以根据需要更改值,对您来说最重要的是createOption。而第一个是现有的数据盘,类型相同,其他也应该和图片中的一样。