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

Platí pro: ✔️ Virtuální počítače s Linuxem ✔️ – Flexibilní škálovací sady virtuálních počítačů ✔️ s ✔️ Windows – uniformní škálovací sady

Tento dokument vás provede rozdíly mezi spravovanými a nespravovanými disky při zřizování virtuálních počítačů pomocí šablon Azure Resource Manager. Příklady vám pomůžou aktualizovat existující šablony, které na spravované disky používají nespravované disky. Jako vodítko používáme šablonu vm-simple-windows . Pokud byste je chtěli přímo porovnat, můžete š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 nasazují nespravované disky. Při vytváření nespravovaných disků potřebujete k uložení souborů VHD účet úložiště. Můžete vytvořit nový účet úložiště nebo použít účet, který už existuje. V tomto článku se dozvíte, jak vytvořit nový účet úložiště. Vytvořte prostředek účtu úložiště v bloku prostředků, 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. storageProfile V části zadejte úplný identifikátor URI umístění virtuálního pevného disku, který odkazuje na účet úložiště a který je potřebný pro disk s operačním systémem a 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ředkem nejvyšší úrovně a už nevyžaduje, aby uživatel vytvořil účet úložiště. Spravované disky byly poprvé vystaveny ve 2016-04-30-preview verzi rozhraní API, jsou k dispozici ve všech následujících verzích rozhraní API a jsou teď výchozím typem disku. Následující části vás provedou výchozím nastavením a podrobně si provedou, jak dále přizpůsobit disky.

Poznámka

Doporučuje se použít verzi rozhraní API později, protože 2016-04-30-preview mezi 2016-04-30-preview a 2017-03-30došlo ke změnám způsobujícím chybu.

Výchozí nastavení spravovaného disku

Pokud chcete vytvořit virtuální počítač se spravovanými disky, už nemusíte vytvářet prostředek účtu úložiště. Při odkazování na následující příklad šablony je potřeba si všimnout několika rozdílů od předchozích příkladů nespravovaných disků:

  • Je apiVersion verze, která podporuje spravované disky.
  • osDisk a dataDisks už se nebude odkazovat na konkrétní identifikátor URI pro virtuální pevný disk.
  • Při nasazení bez zadání dalších vlastností bude disk používat 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 úložiště Premium (velikosti s s v názvu, například Standard_D2s_v3), budou ve výchozím nastavení nakonfigurované disky Premium. Můžete to změnit pomocí nastavení skladové položky disku a určit typ úložiště.
  • Pokud není zadán žádný název disku, má formát <VMName>_OsDisk_1_<randomstring> pro disk s operačním systémem a <VMName>_disk<#>_<randomstring> pro každý datový disk.
    • Pokud se virtuální počítač vytváří z vlastní image, načtou se výchozí nastavení pro typ účtu úložiště a název disku z vlastností disku definovaných v prostředku vlastní image. Tyto hodnoty lze přepsat zadáním jejich hodnot 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 na disku pro disk s operačním systémem čtení a zápis a žádné pro datové disky.
  • V následujícím příkladu je stále závislost účtu úložiště, i když se jedná pouze o úložiště diagnostiky a pro diskové úložiště není potřeba.
{
    "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 zadání konfigurace disku v objektu virtuálního počítače můžete vytvořit prostředek disku nejvyšší úrovně a připojit ho při vytváření virtuálního počítače. Můžete například následujícím způsobem vytvořit diskový prostředek, který se použije 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 objektu virtuálního počítače odkazujte na objekt disku, který se má připojit. Zadání ID prostředku spravovaného disku vytvořeného ve managedDisk vlastnosti umožní připojení disku při vytváření virtuálního počítače. Prostředek apiVersion virtuálního počítače je nastavený na 2017-03-30. Přidá se závislost na prostředku disku, aby se zajistilo, že se před vytvořením virtuálního počítače úspěšně vytvoří.

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

Vytváření spravovaných skupin 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 sku objekt do prostředku skupiny dostupnosti a nastavte name vlastnost na Aligned. Tato vlastnost zajišťuje, že disky pro každý virtuální počítač jsou od sebe dostatečně izolované, aby se zabránilo jednotlivým bodům selhání. Všimněte si také, že apiVersion pro prostředek skupiny dostupnosti je nastavená hodnota 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"
    }
}

Disky SSD úrovně Standard

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

  • 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á disky SSD úrovně Standard:

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

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

Další scénáře a vlastní nastavení

Úplné informace o specifikacích rozhraní REST API najdete v dokumentaci k rozhraní REST API pro vytvoření spravovaného disku. 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