首页 > 解决方案 > 如何使用 ARM 模板创建新磁盘并将其附加到现有 Windows 虚拟机?

问题描述

我已经在我的资源组中创建了 VM 现在我想将一个新的数据磁盘添加到我现有的 VM 中,所以有人可以为我提供任何 GitHub URL 模板链接,我可以参考这个链接来满足这个要求。链接下面,我已经走了。

https://docs.microsoft.com/en-us/azure/virtual-machines/using-managed-disks-template-deployments

标签: azure-resource-managerazure-virtual-machine

解决方案


如果您想创建一个新的数据磁盘并附加到一个新创建的 ARM 模板的 VM,请尝试以下模板:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "vmName": {
            "type": "String"
        },
        "diskName": {
            "type": "String"
        }
    },
    "resources": [{
            "type": "Microsoft.Compute/virtualMachines",
            "apiVersion": "2019-07-01",
            "name": "[parameters('vmName')]",
            "location": "[resourceGroup().location]",
            "properties": {

                "storageProfile": {
                    "dataDisks": [{
                            "lun": 0,
                            "name": "[parameters('diskName')]",
                            "createOption": "attach",
                            "managedDisk": {
                                "id": "[resourceId('Microsoft.Compute/disks/', parameters('diskName'))]"
                            }
                        }
                    ]
                }
            },
            "dependsOn": ["[resourceId('Microsoft.Compute/disks/', parameters('diskName'))]"]
        }, {
            "type": "Microsoft.Compute/disks",
            "apiVersion": "2018-06-01",
            "name": "[parameters('diskName')]",
            "location": "[resourceGroup().location]",
            "sku": {
                "name": "Standard_LRS"
            },
            "properties": {
                "creationData": {
                    "createOption": "Empty"
                },
                "diskSizeGB": 1023
            }
        }

    ]
}

我使用 PowerShell 进行部署。结果:

在此处输入图像描述

在此处输入图像描述

更新

如果你的虚拟机已经有 1 个数据盘,你想保留它并追加一个新的数据盘,你需要在 中指定这两个磁盘dataDisks,为了快速测试,下面的模板是基于上一个:这个 vm已附加一个磁盘:test6-disk并附加一个新磁盘并保留它们两个:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "vmName": {
            "type": "String"
        },
        "diskName": {
            "type": "String"
        }
    },
    "resources": [{
            "type": "Microsoft.Compute/virtualMachines",
            "apiVersion": "2019-07-01",
            "name": "[parameters('vmName')]",
            "location": "[resourceGroup().location]",
            "properties": {

                "storageProfile": {
                    "dataDisks": [{
                            "lun": 0,
                            "name": "test6-disk",
                            "createOption": "attach",
                            "managedDisk": {
                                "id": "[resourceId('Microsoft.Compute/disks/','test6-disk')]"
                            }
                        }, {
                            "lun": 1,
                            "name": "[parameters('diskName')]",
                            "createOption": "attach",
                            "managedDisk": {
                                "id": "[resourceId('Microsoft.Compute/disks/', parameters('diskName'))]"
                            }
                        }
                    ]
                }
            },
            "dependsOn": ["[resourceId('Microsoft.Compute/disks/', parameters('diskName'))]"]
        }, {
            "type": "Microsoft.Compute/disks",
            "apiVersion": "2018-06-01",
            "name": "[parameters('diskName')]",
            "location": "[resourceGroup().location]",
            "sku": {
                "name": "Standard_LRS"
            },
            "properties": {
                "creationData": {
                    "createOption": "Empty"
                },
                "diskSizeGB": 1023
            }
        }

    ]
}

结果: 在此处输入图像描述

在此处输入图像描述


推荐阅读