如果你想创建一个新的数据盘并附加到一个新创建的由 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中指定这2个磁盘,为了快速测试,下面的模板是基于上一个:此虚拟机已附加一个磁盘: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
}
}
]
}
结果: