Schijven gebruiken in Azure Resource Manager-sjablonen
Van toepassing op: ✔️ Virtuele Linux-machines voor Windows-VM's ✔️ ✔️ Flexibele schaalsets Uniform-schaalsets ✔️
In dit document worden de verschillen tussen beheerde en niet-beheerde schijven beschreven bij het gebruik van Azure Resource Manager-sjablonen voor het inrichten van virtuele machines. De voorbeelden helpen u bij het bijwerken van bestaande sjablonen die gebruikmaken van niet-beheerde schijven naar beheerde schijven. Ter referentie gebruiken we de vm-simple-windows-sjabloon als richtlijn. U kunt de sjabloon zien met zowel beheerde schijven als een eerdere versie met behulp van niet-beheerde schijven als u deze rechtstreeks wilt vergelijken.
Sjabloonopmaak voor niet-beheerde schijven
Laten we eerst eens kijken hoe onbeheerde schijven worden geïmplementeerd. Bij het maken van niet-beheerde schijven hebt u een opslagaccount nodig om de VHD-bestanden op te slaan. U kunt een nieuw opslagaccount maken of een account gebruiken dat al bestaat. In dit artikel leest u hoe u een nieuw opslagaccount maakt. Maak een opslagaccountresource in het resourceblok, zoals hieronder wordt weergegeven.
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2018-07-01",
"name": "[variables('storageAccountName')]",
"location": "[resourceGroup().location]",
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage",
"properties": {}
}
Voeg binnen het object van de virtuele machine een afhankelijkheid toe aan het opslagaccount om ervoor te zorgen dat het vóór de virtuele machine wordt gemaakt. Geef in de storageProfile
sectie de volledige URI van de VHD-locatie op, die verwijst naar het opslagaccount en nodig is voor de besturingssysteemschijf en alle gegevensschijven.
{
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2018-10-01",
"name": "[variables('vmName')]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]",
"[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
],
"properties": {
"hardwareProfile": {...},
"osProfile": {...},
"storageProfile": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "[parameters('windowsOSVersion')]",
"version": "latest"
},
"osDisk": {
"name": "osdisk",
"vhd": {
"uri": "[concat(reference(resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))).primaryEndpoints.blob, 'vhds/osdisk.vhd')]"
},
"caching": "ReadWrite",
"createOption": "FromImage"
},
"dataDisks": [
{
"name": "datadisk1",
"diskSizeGB": 1023,
"lun": 0,
"vhd": {
"uri": "[concat(reference(resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))).primaryEndpoints.blob, 'vhds/datadisk1.vhd')]"
},
"createOption": "Empty"
}
]
},
"networkProfile": {...},
"diagnosticsProfile": {...}
}
}
Sjabloonopmaak voor beheerde schijven
Met Azure Managed Disks wordt de schijf een resource op het hoogste niveau en hoeft er geen opslagaccount meer te worden gemaakt door de gebruiker. Beheerde schijven werden voor het eerst weergegeven in de 2016-04-30-preview
API-versie, ze zijn beschikbaar in alle volgende API-versies en zijn nu het standaardschijftype. In de volgende secties worden de standaardinstellingen beschreven en wordt beschreven hoe u uw schijven verder kunt aanpassen.
Notitie
Het is raadzaam om een API-versie later te gebruiken dan 2016-04-30-preview
wanneer er wijzigingen zijn die fouten veroorzaken tussen 2016-04-30-preview
en 2017-03-30
.
Standaardinstellingen voor beheerde schijven
Als u een VIRTUELE machine met beheerde schijven wilt maken, hoeft u de opslagaccountresource niet meer te maken. Naar het onderstaande sjabloonvoorbeeld verwijzen, zijn er enkele verschillen van de vorige niet-beheerde schijfvoorbeelden om rekening mee te houden:
- Dit
apiVersion
is een versie die beheerde schijven ondersteunt. osDisk
endataDisks
verwijst niet langer naar een specifieke URI voor de VHD.- Bij het implementeren zonder extra eigenschappen op te geven, wordt op de schijf een opslagtype gebruikt op basis van de grootte van de virtuele machine. Als u bijvoorbeeld een VM-grootte gebruikt die premium-opslag ondersteunt (grootten met 's' in hun naam, zoals Standard_D2s_v3), worden Premium-schijven standaard geconfigureerd. U kunt dit wijzigen met behulp van de sKU-instelling van de schijf om een opslagtype op te geven.
- Als er geen naam voor de schijf is opgegeven, wordt de indeling voor
<VMName>_OsDisk_1_<randomstring>
de besturingssysteemschijf en<VMName>_disk<#>_<randomstring>
voor elke gegevensschijf gebruikt.- Als een virtuele machine wordt gemaakt op basis van een aangepaste installatiekopie, worden de standaardinstellingen voor het opslagaccounttype en de schijfnaam opgehaald uit de schijfeigenschappen die zijn gedefinieerd in de aangepaste installatiekopieresource. Deze kunnen worden overschreven door waarden voor deze waarden op te geven in de sjabloon.
- Standaard is Azure-schijfversleuteling uitgeschakeld.
- Schijfcache is standaard lezen/schrijven voor de besturingssysteemschijf en Geen voor gegevensschijven.
- In het onderstaande voorbeeld is er nog steeds een afhankelijkheid van het opslagaccount, maar dit is alleen voor de opslag van diagnostische gegevens en is niet nodig voor schijfopslag.
{
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2018-10-01",
"name": "[variables('vmName')]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]",
"[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
],
"properties": {
"hardwareProfile": {...},
"osProfile": {...},
"storageProfile": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "[parameters('windowsOSVersion')]",
"version": "latest"
},
"osDisk": {
"createOption": "FromImage"
},
"dataDisks": [
{
"diskSizeGB": 1023,
"lun": 0,
"createOption": "Empty"
}
]
},
"networkProfile": {...},
"diagnosticsProfile": {...}
}
}
Een beheerde schijfresource op het hoogste niveau gebruiken
Als alternatief voor het opgeven van de schijfconfiguratie in het object van de virtuele machine, kunt u een schijfresource op het hoogste niveau maken en deze koppelen als onderdeel van het maken van de virtuele machine. U kunt bijvoorbeeld als volgt een schijfresource maken voor gebruik als gegevensschijf.
{
"type": "Microsoft.Compute/disks",
"apiVersion": "2018-06-01",
"name": "[concat(variables('vmName'),'-datadisk1')]",
"location": "[resourceGroup().location]",
"sku": {
"name": "Standard_LRS"
},
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 1023
}
}
Verwijs in het VM-object naar het schijfobject dat moet worden gekoppeld. Als u de resource-id opgeeft van de beheerde schijf die in de managedDisk
eigenschap is gemaakt, kan de schijf worden gekoppeld terwijl de virtuele machine wordt gemaakt. Het apiVersion
voor de VM-resource is ingesteld op 2017-03-30
. Er wordt een afhankelijkheid van de schijfresource toegevoegd om ervoor te zorgen dat deze is gemaakt voordat de VIRTUELE machine wordt gemaakt.
{
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2018-10-01",
"name": "[variables('vmName')]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]",
"[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]",
"[resourceId('Microsoft.Compute/disks/', concat(variables('vmName'),'-datadisk1'))]"
],
"properties": {
"hardwareProfile": {...},
"osProfile": {...},
"storageProfile": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "[parameters('windowsOSVersion')]",
"version": "latest"
},
"osDisk": {
"createOption": "FromImage"
},
"dataDisks": [
{
"lun": 0,
"name": "[concat(variables('vmName'),'-datadisk1')]",
"createOption": "attach",
"managedDisk": {
"id": "[resourceId('Microsoft.Compute/disks/', concat(variables('vmName'),'-datadisk1'))]"
}
}
]
},
"networkProfile": {...},
"diagnosticsProfile": {...}
}
}
Beheerde beschikbaarheidssets maken met VM's met behulp van beheerde schijven
Als u beheerde beschikbaarheidssets wilt maken met VM's met behulp van beheerde schijven, voegt u het sku
object toe aan de resource van de beschikbaarheidsset en stelt u de name
eigenschap in op Aligned
. Deze eigenschap zorgt ervoor dat de schijven voor elke VIRTUELE machine voldoende van elkaar zijn geïsoleerd om single points of failure te voorkomen. Houd er ook rekening mee dat de apiVersion
resource voor de beschikbaarheidsset is ingesteld op 2018-10-01
.
{
"type": "Microsoft.Compute/availabilitySets",
"apiVersion": "2018-10-01",
"location": "[resourceGroup().location]",
"name": "[variables('avSetName')]",
"properties": {
"PlatformUpdateDomainCount": 3,
"PlatformFaultDomainCount": 2
},
"sku": {
"name": "Aligned"
}
}
Standard SSD-schijven
Hieronder ziet u de parameters die nodig zijn in de Resource Manager-sjabloon voor het maken van Standard SSD-schijven:
- apiVersion voor Microsoft.Compute moet worden ingesteld als
2018-04-01
(of hoger) - ManagedDisk.storageAccountType opgeven als
StandardSSD_LRS
In het volgende voorbeeld ziet u de sectie properties.storageProfile.osDisk voor een virtuele machine die gebruikmaakt van Standard SSD-schijven:
"osDisk": {
"osType": "Windows",
"name": "myOsDisk",
"caching": "ReadWrite",
"createOption": "FromImage",
"managedDisk": {
"storageAccountType": "StandardSSD_LRS"
}
}
Zie Een virtuele machine maken op basis van een Windows-installatiekopieën met Standard SSD-gegevensschijven voor een volledig sjabloonvoorbeeld van het maken van een Standard SSD-schijf met een sjabloon.
Aanvullende scenario's en aanpassingen
Raadpleeg de documentatie voor het maken van een BEHEERDE SCHIJF REST API voor volledige informatie over de REST API-specificaties van de REST API. U vindt aanvullende scenario's, evenals standaard- en acceptabele waarden die via sjabloonimplementaties naar de API kunnen worden verzonden.
Volgende stappen
- Ga naar de volgende Azure Quickstart-opslagplaatskoppelingen voor volledige sjablonen die gebruikmaken van beheerde schijven.
- Ga naar het overzichtsdocument over Azure Managed Disks voor meer informatie over beheerde schijven.
- Raadpleeg de documentatie voor sjabloonverwijzing voor virtuele-machineresources door naar het referentiedocument microsoft.Compute/virtualMachines te gaan.
- Raadpleeg de documentatie voor sjabloonverwijzing voor schijfresources door naar het naslagdocument voor microsoft.Compute/disks-sjablonen te gaan.
- Voor informatie over het gebruik van beheerde schijven in virtuele-machineschaalsets van Azure, gaat u naar het document Gegevensschijven gebruiken met schaalsets .