azure-resource-manager - 如何使用 ARM 模板创建新磁盘并将其附加到现有 Windows 虚拟机?
问题描述
我已经在我的资源组中创建了 VM 现在我想将一个新的数据磁盘添加到我现有的 VM 中,所以有人可以为我提供任何 GitHub URL 模板链接,我可以参考这个链接来满足这个要求。链接下面,我已经走了。
https://docs.microsoft.com/en-us/azure/virtual-machines/using-managed-disks-template-deployments
解决方案
如果您想创建一个新的数据磁盘并附加到一个新创建的 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
}
}
]
}
推荐阅读
- c# - 如何创建在 ASP.NET EF 中增长的动态下拉框?
- r - Change order of elements in slopegraphs, ggplot
- php - Will changing the php/mysql database create an insecure connection?
- matlab - -inf 值会影响处理时间吗?
- python-3.x - 无法理解为什么代码显示不正确的输出。输出应该是 1 和 yes 但不是 yes 它显示 No
- java - Getting an error from save to file : Exception in thread "main" java.util.InputMismatchException
- ionic-framework - InAppBrowser 在 ionic 3 PWA(网络应用程序)或浏览器中不起作用
- sql - SQL Server Dark Theme -- 下拉菜单太暗,如何更改?
- javascript - 属性的单元测试失败,仅意味着在单个节点上运行?
- c++ - 对头文件进行更改时,C++ 目标文件不会重新编译