Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: ✔️ VMs Linux ✔️ VMs do Windows ✔️ Conjuntos de dimensionamento flexíveis ✔️ Conjuntos de dimensionamento uniformes
Este documento descreve as diferenças entre discos gerenciados e não gerenciados ao usar modelos do Azure Resource Manager para provisionar máquinas virtuais. Os exemplos ajudam você a atualizar modelos existentes que estão usando discos não gerenciados para discos gerenciados. Para referência, estamos a usar o modelo vm-simple-windows como guia. Você pode ver o modelo usando discos gerenciados e uma versão anterior usando discos não gerenciados se quiser compará-los diretamente.
Formatação do modelo de Discos não Geridos
Para começar, vamos dar uma olhada em como os discos não gerenciados são implantados. Ao criar discos não gerenciados, você precisa de uma conta de armazenamento para armazenar os arquivos VHD. Você pode criar uma nova conta de armazenamento ou usar uma que já existe. Este artigo mostra como criar uma nova conta de armazenamento. Crie um recurso de conta de armazenamento no bloco de recursos, conforme mostrado abaixo.
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2018-07-01",
"name": "[variables('storageAccountName')]",
"location": "[resourceGroup().location]",
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage",
"properties": {}
}
Dentro do objeto de máquina virtual, adicione uma dependência na conta de armazenamento para garantir que ela seja criada antes da máquina virtual.
storageProfile Na seção , especifique o URI completo do local VHD, que faz referência à conta de armazenamento e é necessário para o disco do sistema operacional e quaisquer discos de dados.
{
"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": {...}
}
}
Formatação de modelo de discos gerenciados
Com os Managed Disks do Azure, o disco torna-se um recurso de nível superior e já não requer a criação de uma conta de armazenamento pelo utilizador. Os discos gerenciados foram expostos pela primeira vez na versão da 2016-04-30-preview API, eles estão disponíveis em todas as versões subsequentes da API e agora são o tipo de disco padrão. As seções a seguir percorrem as configurações padrão e detalham como personalizar ainda mais seus discos.
Nota
Recomenda-se usar uma versão da API posterior a 2016-04-30-preview, pois houve alterações incompatíveis entre 2016-04-30-preview e 2017-03-30.
Configurações padrão de disco gerenciado
Para criar uma VM com discos gerenciados, não é mais necessário criar o recurso de conta de armazenamento. Fazendo referência ao exemplo de modelo abaixo, há algumas diferenças em relação aos exemplos de disco não gerenciado anteriores a serem observados:
- A
apiVersioné uma versão que suporta discos gerenciados. -
osDiskedataDisksnão se referem mais a um URI específico para o VHD. - Ao implantar sem especificar propriedades adicionais, o disco usará um tipo de armazenamento com base no tamanho da VM. Por exemplo, se você estiver usando um tamanho de VM que ofereça suporte a armazenamento premium (tamanhos com "s" em seu nome, como Standard_D2s_v3), os discos premium serão configurados por padrão. Você pode alterar isso usando a configuração sku do disco para especificar um tipo de armazenamento.
- Se nenhum nome para o disco for especificado, ele terá o formato de
<VMName>_OsDisk_1_<randomstring>para o disco do sistema operacional e<VMName>_disk<#>_<randomstring>para cada disco de dados.- Se uma VM estiver sendo criada a partir de uma imagem personalizada, as configurações padrão para o tipo de conta de armazenamento e o nome do disco serão recuperadas das propriedades do disco definidas no recurso de imagem personalizada. Eles podem ser substituídos especificando valores para eles no modelo.
- Por padrão, a criptografia de disco do Azure está desabilitada.
- Por padrão, o cache de disco é Leitura/Gravação para o disco do sistema operacional e Nenhum para discos de dados.
- No exemplo abaixo, ainda há uma dependência de conta de armazenamento, embora isso seja apenas para armazenamento de diagnósticos e não seja necessário para armazenamento em disco.
{
"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": {...}
}
}
Usando um recurso de disco gerenciado de nível superior
Como alternativa para especificar a configuração do disco no objeto de máquina virtual, você pode criar um recurso de disco de nível superior e anexá-lo como parte da criação da máquina virtual. Por exemplo, você pode criar um recurso de disco da seguinte maneira para usar como um disco de dados.
{
"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
}
}
No objeto VM, faça referência ao objeto de disco a ser anexado. Especificar o ID do recurso do disco gerido criado na propriedade managedDisk permite a anexação do disco conforme a VM for criada. O apiVersion para o recurso VM está definido como 2017-03-30. Uma dependência do recurso de disco é adicionada para garantir que ele seja criado com êxito antes da criação da VM.
{
"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": {...}
}
}
Criar conjuntos de disponibilidade gerenciados com VMs usando discos gerenciados
Para criar conjuntos de disponibilidade gerenciados com VMs usando discos gerenciados, adicione o sku objeto ao recurso do conjunto de disponibilidade e defina a name propriedade como Aligned. Essa propriedade garante que os discos de cada VM estejam suficientemente isolados uns dos outros para evitar pontos únicos de falha. Observe também que o recurso de conjunto de disponibilidade apiVersion está definido como 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"
}
}
Discos SSD padrão
Abaixo estão os parâmetros necessários no modelo do Resource Manager para criar discos SSD padrão:
-
apiVersion em Microsoft.Compute deve ser definido como
2018-04-01(ou posterior) - Especifique managedDisk.storageAccountType como
StandardSSD_LRS
O exemplo a seguir mostra a seção properties.storageProfile.osDisk para uma VM que usa discos SSD padrão:
"osDisk": {
"osType": "Windows",
"name": "myOsDisk",
"caching": "ReadWrite",
"createOption": "FromImage",
"managedDisk": {
"storageAccountType": "StandardSSD_LRS"
}
}
Para obter um exemplo de modelo completo de como criar um disco SSD padrão com um modelo, consulte Criar uma VM a partir de uma imagem do Windows com discos de dados SSD padrão.
Cenários e personalizações adicionais
Para encontrar informações completas sobre as especificações da API REST, consulte a documentação da API REST para criar um disco gerenciado. Você encontrará cenários adicionais, bem como valores padrão e aceitáveis que podem ser enviados à API por meio de implantações de modelo.
Próximos passos
- Para modelos completos que usam discos gerenciados, visite os seguintes links do Azure Quickstart Repo.
- Visite o documento Visão Geral dos Discos Gerenciados do Azure para saber mais sobre discos gerenciados.
- Analise a documentação de referência de modelo para recursos de máquina virtual visitando o documento de referência de modelo Microsoft.Compute/virtualMachines.
- Consulte o documento Microsoft.Compute/disks template reference para obter referências a modelos de recursos de disco.
- Para obter informações sobre como usar discos gerenciados em conjuntos de escala de máquina virtual do Azure, visite o documento Usar discos de dados com conjuntos de escala.