Ich habe mehrere virtuelle Maschinen virtuellen Datenträgern hinzugefügt, während virtuelle Maschinen mit der folgenden JSON-Vorlage erstellt wurden.Wie erstellt man Datenfestplatten für azure virtuelle Maschinen?
"variables": {
"diskArray": [
{
"name": "datadisk1",
"lun": 0,
"vhd": {
"uri": "[concat('http://', variables('storageAccountName'),'.blob.core.windows.net/vhds/','datadisk1.vhd')]"
},
"createOption": "Empty",
"caching": "ReadWrite",
"diskSizeGB": 300
},
{
"name": "datadisk2",
"lun": 1,
"vhd": {
"uri": "[concat('http://', variables('storageAccountName'),'.blob.core.windows.net/vhds/', 'datadisk2.vhd')]"
},
"createOption": "Empty",
"caching": "ReadWrite",
"diskSizeGB": 200
},
{
"name": "datadisk3",
"lun": 2,
"vhd": {
"uri": "[concat('http://', variables('storageAccountName'),'.blob.core.windows.net/vhds/', 'datadisk3.vhd')]"
},
"createOption": "Empty",
"caching": "ReadWrite",
"diskSizeGB": 100
}
]
},
.....
.....
"resources": [
{
"apiVersion": "2015-06-15",
"type": "Microsoft.Compute/virtualMachines",
"name": "[concat(parameters('VmPrefix'), copyindex(1))]",
"copy": {
"name": "Datanode",
"count": "[variables('vmcount')]"
},
"location": "[resourceGroup().location]",
"properties": {
......
......
"storageProfile": {
"imageReference": {
........
},
"dataDisks": "[take(variables('diskArray'),parameters('numDataDisks'))]",
"osDisk": {
.......
}
}
}
}
]
Dieser Code funktioniert gut, während einzelne virtuelle Maschine erstellen, aber während mehrere virtuelle Maschinen erstellen, ist fehlgeschlagen Maschinen zu erstellen. Dies liegt daran, dass vhd für Datadisks für die erste Maschine erstellt wurde, genauso wie für andere Maschinen.
Gibt es eine Möglichkeit, eine VHD mit anderem Namen zu erstellen? Versuchte Kopie Index übergeben, funktioniert aber nicht.
Beim Ausführen des obigen Beispiel-JSON habe ich den folgenden Fehler: New-AzureRmResourceGroupDeployment: Objektreferenz nicht auf eine Instanz eines Objekts festgelegt. Bei Zeile: 1 Zeichen: 13 + $ response = New-AzureRmResourceGroupDeployment -ResourceGroupName $ ResourceGroup ... + ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ + CategoryInfo: CloseError: (:) [Neu-AzureRmResourceGroupDeployment], NullReferenceException + FullyQualifiedErrorId: Microsoft.Azure.Commands.Resources.NewAzureResourceGroupDeploymentCommand –
aber virtuelle Maschinen werden ordnungsgemäß mit Datenträgern erstellt. –
Nun, ich bin mir nicht sicher, was du falsch machst, für mich funktioniert das gut, wenn das tut, was du verlangst, nimm das als Antwort an;) Ich habe gerade diesen Einsatz getestet und es hat gut funktioniert. 'New-AzureRmResourceGroupDeployment-Name test -ResourceGroupName zxc -TemplateUri https: // raw.githubusercontent.com/4c74356b41/armotron/master/ml-vm-ml-dd.json' – 4c74356b41