Použití disků v Azure Resource Manager šablonách

Platí pro: ✔️ Virtuální počítače s Linuxem ✔️ virtuální počítače Windows:heavy_check_mark: Flexibilní škálovací sady ✔️ Jednotné škálovací sady

Tento dokument vás provede rozdíly mezi spravovanými a nespravovanými disky při použití Azure Resource Manager ke zřizování virtuálních počítačů. Příklady vám pomůžou aktualizovat existující šablony, které používají nespravované disky, na spravované disky. Pro referenci používáme jako vodítko šablonu vm-simple-windows. Pokud je chcete přímo porovnat, můžete si šablonu zobrazit pomocí spravovaných disků i předchozí verze s použitím nespravovaných disků.

Formátování šablony Nespravované disky

Nejprve se podíváme na to, jak se nasadí nespravované disky. Při vytváření nespravovaných disků potřebujete účet úložiště pro uložení souborů VHD. Můžete vytvořit nový účet úložiště nebo použít účet, který už existuje. V tomto článku si ukážeme, jak vytvořit nový účet úložiště. V bloku prostředků vytvořte prostředek účtu úložiště, jak je znázorněno níže.

{
    "type": "Microsoft.Storage/storageAccounts",
    "apiVersion": "2018-07-01",
    "name": "[variables('storageAccountName')]",
    "location": "[resourceGroup().location]",
    "sku": {
        "name": "Standard_LRS"
    },
    "kind": "Storage",
    "properties": {}
}

V rámci objektu virtuálního počítače přidejte závislost na účtu úložiště, abyste zajistili, že se vytvoří před virtuálním počítačem. V části zadejte úplný identifikátor URI umístění virtuálního pevného disku, který odkazuje na účet úložiště a je potřeba pro disk s operačním systémem a storageProfile všechny datové disky.

{
    "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": {...}
    }
}

Formátování šablon spravovaných disků

S Azure Spravované disky se disk stane prostředek nejvyšší úrovně a uživatel už nevyžaduje vytvoření účtu úložiště. Spravované disky byly poprvé zpřístupněny ve verzi rozhraní API, jsou dostupné ve všech následných verzích rozhraní API a nyní 2016-04-30-preview jsou výchozím typem disku. V následujících částech si projdete výchozí nastavení a podrobnosti o tom, jak disky dále přizpůsobit.

Poznámka

Verzi rozhraní API doporučujeme použít později, než když mezi a došlo k 2016-04-30-preview rozbíjení 2016-04-30-preview 2017-03-30 změn.

Výchozí nastavení spravovaného disku

Pokud chcete vytvořit virtuální počítač se spravovanými disky, už nebudete muset vytvářet prostředek účtu úložiště. V příkladu šablony níže je několik rozdílů oproti předchozím příkladům nespravovaných disků, které je třeba si uvědomit:

  • je apiVersion verze, která podporuje spravované disky.
  • osDisk``dataDisksa už odkazují na konkrétní identifikátor URI pro VHD.
  • Při nasazování bez zadání dalších vlastností disk použije typ úložiště na základě velikosti virtuálního počítače. Pokud například používáte velikost virtuálního počítače, která podporuje premium storage (velikosti s ve svém názvu, například Standard_D2s_v3), pak se ve výchozím nastavení konfigurují disky Premium. Můžete to změnit pomocí nastavení SKU disku a zadat typ úložiště.
  • Pokud pro disk není zadaný žádný název, má formát pro disk s operačním systémem a <VMName>_OsDisk_1_<randomstring> <VMName>_disk<#>_<randomstring> pro každý datový disk.
    • Pokud se virtuální počítač vytváří z vlastní image, výchozí nastavení pro typ účtu úložiště a název disku se načítá z vlastností disku definovaných v prostředku vlastní image. Tyto hodnoty lze přepsat zadáním hodnot pro tyto hodnoty v šabloně.
  • Ve výchozím nastavení je šifrování disků Azure zakázané.
  • Ve výchozím nastavení je ukládání do mezipaměti disku pro disk s operačním systémem čtení a zápis a pro datové disky žádné.
  • V následujícím příkladu je stále závislost účtu úložiště, i když je to jenom pro úložiště diagnostiky a není potřeba pro diskové úložiště.
{
    "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": {...}
    }
}

Použití prostředku spravovaného disku nejvyšší úrovně

Jako alternativu k určení konfigurace disku v objektu virtuálního počítače můžete vytvořit prostředek disku nejvyšší úrovně a připojit ho jako součást vytváření virtuálního počítače. Můžete například následujícím způsobem vytvořit diskový prostředek, který použijete jako datový disk.

{
    "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
    }
}

V rámci objektu virtuálního počítače odkazovat na objekt disku, který se má připojit. Zadání ID prostředku spravovaného disku vytvořeného ve vlastnosti umožňuje připojení disku při vytváření managedDisk virtuálního počítače. Pro apiVersion prostředek virtuálního počítače je nastavená na 2017-03-30 . Přidá se závislost na prostředku disku, aby se zajistilo jeho úspěšné vytvoření před vytvořením virtuálního počítače.

{
    "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": {...}
    }
}

Vytvoření spravovaných sad dostupnosti s virtuálními počítači pomocí spravovaných disků

Pokud chcete vytvořit spravované skupiny dostupnosti s virtuálními počítači pomocí spravovaných disků, přidejte objekt do prostředku skupiny dostupnosti a sku nastavte name vlastnost na Aligned . Tato vlastnost zajišťuje, že disky jednotlivých virtuálních počítačů jsou od sebe dostatečně izolované, aby se zabránilo vzniku jediného bodu selhání. Všimněte si apiVersion také, že pro prostředek skupiny dostupnosti je nastavená na 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"
    }
}

SSD úrovně Standard disků

Níže jsou uvedené parametry potřebné v šabloně Resource Manager k vytvoření SSD úrovně Standard disků:

  • ApiVersion pro Microsoft.Compute musí být nastavené jako 2018-04-01 (nebo novější).
  • Jako zadejte managedDisk.storageAccountType.StandardSSD_LRS

Následující příklad ukazuje část properties.storageProfile.osDisk pro virtuální počítač, který používá SSD úrovně Standard Disks:

"osDisk": {
    "osType": "Windows",
    "name": "myOsDisk",
    "caching": "ReadWrite",
    "createOption": "FromImage",
    "managedDisk": {
        "storageAccountType": "StandardSSD_LRS"
    }
}

Kompletní příklad šablony, jak vytvořit disk SSD úrovně Standard pomocí šablony, najdete v tématu Vytvoření virtuálního počítače z image Windows s SSD úrovně Standard datovými disky.

Další scénáře a přizpůsobení

Úplné informace o specifikacích REST API najdete v dokumentaci k vytvoření spravovaného REST API. Najdete zde další scénáře a také výchozí a přijatelné hodnoty, které je možné odeslat do rozhraní API prostřednictvím nasazení šablon.

Další kroky