【问题标题】:Can I add additional datadisk through ARM Template while creating a VM in Azure from an existing image which already has a datadisk?在 Azure 中从已有数据磁盘的现有映像创建 VM 时,我可以通过 ARM 模板添加额外的数据磁盘吗?
【发布时间】:2023-03-22 06:45:01
【问题描述】:

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

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

【问题讨论】:

  • 请分享您的模板,您知道VM imnage中数据盘使用的是哪个lun吗?
  • @Charles 如果使用的镜像已经有数据盘,是否允许在创建虚拟机时添加额外的数据盘?由于合规问题,模板共享会很困难。
  • 您可以尝试找到现有数据盘所在的lun,然后在模板中将附加数据盘设置为另一个lun
  • @CharlesXu 我在VM模板中这样使用,我猜在图像中也一样-“lun”:0
  • 关于这个问题的任何更新?它解决了你的问题吗?如果是,请采纳。

标签: azure virtual-machine azure-virtual-machine arm-template azure-vm


【解决方案1】:

如果你的镜像已经有数据盘,那么在通过ARM模板创建VM的时候,还需要为已有的数据盘配置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。并且第一个是现有的数据盘,类型相同,其他的也应该和图片中的一样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 2020-06-05
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 2018-09-28
    相关资源
    最近更新 更多