我们需要创建一个托管数据磁盘并将其附加到现有VM。 我们使用ARM模板创建托管磁盘,但我不确定在同一个ARM中我们如何将它附加到VM?
我正在使用Add-AzureRmVMDataDisk将托管数据磁盘附加到vm,但它期望VHDURI参数,不确定我们将如何为托管数据磁盘获取该参数。
注意:我们有限制我们无法使用New-AzureRmDisk创建数据磁盘,因为我们的计算模块不是最新版本,因此它不支持此cmdlet并升级此模块导致如此我们已经在其他功能中使用的其他cmdlet的许多问题。
答案 0 :(得分:0)
要将现有托管磁盘添加到ARM中的虚拟机,您可以使用虚拟机资源的storageProfile对象下的属性dataDisks。
dataDisks属性接受一个对象数组,每个数据磁盘一个对象要连接到VM。下面的示例数组将向虚拟机添加3个数据磁盘。
[
{
"lun": 0,
"name": "[concat(parameters('virtualMachineName'), '-datadisk1')]",
"createOption": "attach",
"managedDisk": {
"id": "[resourceId('Microsoft.Compute/disks/', concat(parameters('virtualdisk1name')]"
}
},
{
"lun": 1,
"name": "[concat(parameters('virtualMachineName'), '-datadisk2')]",
"createOption": "attach",
"managedDisk": {
"id": "[resourceId('Microsoft.Compute/disks/', '-datadisk2'))]"
}
},
{
"lun": 2,
"name": "[concat(parameters('virtualMachineName'), '-datadisk3')]",
"createOption": "attach",
"managedDisk": {
"id": "[resourceId('Microsoft.Compute/disks/' ,'-datadisk3'))]"
}
}
]
您可以看到虚拟机模板here的完整示例,其中显示了storageProfile对象的dataDisks属性。
答案 1 :(得分:0)
在尝试在Azure模板中附加托管数据磁盘时,请确保记下了三件事:
VHD URI是用于创建新数据磁盘的URI。 您可以使用此link通过PowerShell创建托管磁盘。
您还可以在与VM相同的Azure模板中创建托管磁盘,并将该磁盘作为数据磁盘附加到VM模板,如下所示:
{
"type": "Microsoft.Compute/disks",
"apiVersion": "2017-03-30",
"name": "YourDataDiskName",
"location": "[resourceGroup().location]",
"properties": {
"creationData": {
"createOption": "Import",
"sourceUri": "https://yourstorageaccount.blob.core.windows.net/yourcontainer/VHDName.vhd"
}
}
},
{
"apiVersion": "2018-06-01",
"type": "Microsoft.Compute/virtualMachines",
"name": "MyWindowsVM",
"location": "[resourceGroup().location]",
"tags": {
"displayName": "VirtualMachine"
},
"properties": {
"hardwareProfile": {
"vmSize": "Standard_A2"
},
"osProfile": {
"computerName": "MyWindowsVM",
"adminUsername": "someusername",
"adminPassword": "somepassword"
},
"storageProfile": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "2012-R2-Datacenter",
"version": "latest"
},
"osDisk": {
"createOption": "FromImage"
},
"dataDisks": [
{
"lun": 0,
"createOption": "Attach",
"managedDisk": {
"id": "[resourceId('Microsoft.Compute/disks', 'YourDataDiskName')]"
}
}
]
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces', 'myVMNic')]"
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true,
"storageUri": "[reference(resourceId('Microsoft.Storage/storageAccounts', 'diagstorageaccountname'), '2016-01-01').primaryEndpoints.blob]"
}
}
},
"resources": [
]
}
从模板中,您可以看到我使用指定的VHD创建了资源数据磁盘,并将其附加到storageprofile.datadisk部分中的VM。
我希望这会有所帮助!