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

Platí pro: ✔️ Virtuální počítače s Windows s Linuxem ✔️ ✔️ – Flexibilní škálovací sady Uniform Scale Sets ✔️

Tento dokument vás provede rozdíly mezi spravovanými a nespravovanými disky při použití šablon Azure Resource Manageru ke zřízení 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 . Šablonu můžete zobrazit pomocí spravovaných disků i předchozí verze pomocí nespravovaných disků , pokud je chcete přímo porovnat.

Formátování nespravovaných disků

Začněme tím, že se podíváme na to, jak se nasazují 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 se dozvíte, 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 se ujistili, že je vytvořená 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 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 vytvoření účtu úložiště uživatelem. Spravované disky byly poprvé zpřístupněny 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ě vám povedou k dalšímu přizpůsobení disků.

Poznámka:

Doporučujeme použít novější verzi rozhraní API, než 2016-04-30-preview kdy došlo k zásadním změnám mezi 2016-04-30-preview verzemi a 2017-03-30.

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ě. Odkazování na níže uvedený příklad šablony obsahuje několik rozdílů oproti předchozím nespravovaným příkladům disků, které je potřeba si uvědomit:

  • Jedná se apiVersion o verzi, která podporuje spravované disky.
  • osDisk a dataDisks již odkazovat na konkrétní identifikátor URI virtuálního pevného disku.
  • Při nasazování 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 premium storage (velikosti s v názvu, například Standard_D2s_v3), disky Úrovně Premium se ve výchozím nastavení nakonfigurují. 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, vezme formát <VMName>_OsDisk_1_<randomstring> disku 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, výchozí nastavení pro typ účtu úložiště a název disku se načte z vlastností disku definovaných v prostředku vlastní image. Tyto hodnoty je možné 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 čtení a zápis pro disk s operačním systémem a žádné pro datové disky.
  • V následujícím příkladu stále existuje závislost účtu úložiště, i když se jedná pouze o ú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 vytvoření virtuálního počítače. Můžete například vytvořit prostředek disku následujícím způsobem, 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 rámci objektu virtuálního počítače odkazujte na objekt disku, který se má připojit. Zadáním ID prostředku spravovaného disku vytvořeného ve managedDisk vlastnosti umožníte při vytváření virtuálního počítače přílohu disku. Prostředek apiVersion virtuálního počítače je nastavený na 2017-03-30hodnotu . 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 skupin dostupnosti s využitím virtuálních počítačů s využitím spravovaných disků

Chcete-li 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 jsou disky pro každý virtuální počítač dostatečně izolované, aby se zabránilo kritickým bodům selhání. Všimněte si také, že apiVersion prostředek skupiny dostupnosti je nastavený na 2018-10-01hodnotu .

{
    "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 Manageru pro vytvoření disků SSD úrovně Standard:

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

Následující příklad ukazuje oddíl 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"
    }
}

Úplný příklad šablony vytvoření disku SSD úrovně Standard pomocí šablony 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 přizpůsobení

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