Discos gerenciados do Azure Stack Hub: diferenças e considerações

Este artigo resume as diferenças entre discos gerenciados no Azure Stack Hub e discos gerenciados no Azure. Para saber mais sobre as diferenças de alto nível entre o Azure Stack Hub e o Azure, consulte o artigo Principais considerações.

Os discos gerenciados simplificam o gerenciamento de disco para máquinas virtuais (VMs) IaaS gerenciando as contas de armazenamento associadas aos discos de VM. Os discos gerenciados são habilitados por padrão quando você cria VMs usando o portal do Azure Stack Hub.

Guia rápido: diferenças de discos geridos

Funcionalidade Azure (global) Azure Stack Hub
Opções de backup Serviço de Backup do Azure Ainda não suportado
Opções de recuperação de desastres Azure Site Recovery Azure Site Recovery em Azure Stack Hub
Análise de desempenho de discos Métricas agregadas e métricas por disco suportadas. Ainda não suportado
Tamanho do disco Azure Premium Disk: P4 (32 GiB) a P80 (32 TiB)
Disco SSD padrão do Azure: E10 (128 GiB) a E80 (32 TiB)
Disco HDD padrão do Azure: S4 (32 GiB) a S80 (32 TiB)
M4: 32 GiB
M6: 64 GiB
M10: 128 GiB
M15: 256 GiB
M20: 512 GiB
M30: 1023 GiB
Cópia de instantâneo de discos Snapshot de discos gerenciados do Azure anexados a uma VM em execução com suporte. Suporte proveniente de fornecedores de backup. Consulte o seu fornecedor para verificar o suporte.
Tipos de disco SSD premium, SSD padrão e HDD padrão. SSD Premium, HDD padrão
Criptografia para dados em repouso Armazenamento do Azure Service Encryption (SSE), Azure Disk Encryption (ADE). Encriptação AES BitLocker de 128 bits
Expandir disco – disco gerenciado Suportado Suportado
Mac OS
Aplicações Linux
Imagem Imagem personalizada gerenciada Suportado
Migração Forneça uma ferramenta para migrar de VMs existentes e não gerenciadas do Azure Resource Manager sem a necessidade de recriar a VM. Ainda não suportado
Discos de Alta Qualidade Totalmente suportado. Pode ser provisionado, mas sem limite de desempenho ou garantia
IOPs de discos de nível premium Depende do tamanho do disco. 2300 IOPs por disco
Desempenho de unidades de disco premium Depende do tamanho do disco. 145 MB/segundo por disco

Observação

IOPs de discos gerenciados e taxa de transferência no Azure Stack Hub é um número limite em vez de um número provisionado, que pode ser afetado pelo hardware e cargas de trabalho em execução no Azure Stack Hub.

Métricas

Também há diferenças com as métricas de armazenamento:

  • Com o Azure Stack Hub, os dados de transação nas métricas de armazenamento não diferenciam a largura de banda interna da rede externa.
  • Os dados de transação do Azure Stack Hub em métricas de armazenamento não incluem acesso de máquina virtual aos discos montados.

Versões da API

Os discos gerenciados do Azure Stack Hub oferecem suporte às seguintes versões de API:

  • 2019-07-01
  • 2019-03-01
  • 2018-09-30
  • 2018-06-01
  • 01-04-2018
  • 2017-03-30
  • 2017-03-30
  • 2017-12-01 (Somente imagens gerenciadas, sem discos, sem instantâneos)

Converter em discos gerenciados

Observação

O cmdlet ConvertTo-AzVMManagedDisk do Azure PowerShell não consegue converter um disco não gerido num disco gerido no Azure Stack Hub. O Azure Stack Hub atualmente não suporta este cmdlet.

Use o script seguinte para converter uma VM atualmente provisionada de discos não geridos para geridos. Substitua os espaços reservados pelos seus próprios valores.

$SubscriptionId = "SubId"

# The name of your resource group where your VM to be converted exists.
$ResourceGroupName ="MyResourceGroup"

# The name of the managed disk to be created.
$DiskName = "mngddisk"

# The size of the disks in GB. It should be greater than the VHD file size.
$DiskSize = "50"

# The URI of the VHD file that will be used to create the managed disk.
# The VHD file can be deleted as soon as the managed disk is created.
$VhdUri = "https://rgmgddisks347.blob.local.azurestack.external/vhds/unmngdvm20181109013817.vhd"

# The storage type for the managed disk: PremiumLRS or StandardLRS.
$AccountType = "StandardLRS"

# The Azure Stack Hub location where the managed disk is to be located.
# The location should be the same as the location of the storage account in which VHD file is stored.
# Configure the new managed VM point to the old unmanaged VM configuration (network config, VM name, location).
$Location = "local"
$VirtualMachineName = "unmngdvm"
$VirtualMachineSize = "Standard_D1"
$PIpName = "unmngdvm-ip"
$VirtualNetworkName = "unmngdrg-vnet"
$NicName = "unmngdvm"

# Set the context to the subscription ID in which the managed disk will be created.
Select-AzSubscription -SubscriptionId $SubscriptionId

# Delete old VM, but keep the OS disk.
Remove-AzVm -Name $VirtualMachineName -ResourceGroupName $ResourceGroupName

# Create the managed disk configuration.
$DiskConfig = New-AzDiskConfig -AccountType $AccountType -Location $Location -DiskSizeGB $DiskSize -SourceUri $VhdUri -CreateOption Import

# Create managed disk.
New-AzDisk -DiskName $DiskName -Disk $DiskConfig -ResourceGroupName $resourceGroupName
$Disk = Get-AzDisk -DiskName $DiskName -ResourceGroupName $ResourceGroupName
$VirtualMachine = New-AzVMConfig -VMName $VirtualMachineName -VMSize $VirtualMachineSize

# Use the managed disk resource ID to attach it to the virtual machine.
# Change the OS type to "-Windows" if the OS disk has the Windows OS.
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -ManagedDiskId $Disk.Id -CreateOption Attach -Linux

# Create a public IP for the VM.
$PublicIp = Get-AzPublicIpAddress -Name $PIpName -ResourceGroupName $ResourceGroupName

# Get the virtual network where the virtual machine will be hosted.
$VNet = Get-AzVirtualNetwork -Name $VirtualNetworkName -ResourceGroupName $ResourceGroupName

# Create NIC in the first subnet of the virtual network.
$Nic = Get-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName

$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $Nic.Id

# Create the virtual machine with managed disk.
New-AzVM -VM $VirtualMachine -ResourceGroupName $ResourceGroupName -Location $Location

Imagens gerenciadas

O Azure Stack Hub suporta imagens geridas, que se usam para criar um objeto de imagem gerida numa VM generalizada (tanto não gerida como gerida) que só pode criar VMs de disco gerido daqui para a frente. As imagens gerenciadas permitem os dois cenários a seguir:

  • Você generalizou VMs não gerenciadas e deseja usar discos gerenciados no futuro.
  • Você tem uma VM gerenciada generalizada e deseja criar várias VMs gerenciadas semelhantes.

Etapa 1: Generalizar a VM

Para Windows, siga a seção Generalizar a VM do Windows usando o Sysprep. Para Linux, siga o passo 1 aqui.

Observação

Certifique-se de generalizar sua VM. Criar uma VM a partir de uma imagem que não está devidamente generalizada pode produzir um erro VMProvisioningTimeout .

Etapa 2: Criar a imagem gerenciada

Você pode usar o portal, o PowerShell ou a CLI do Azure para criar a imagem gerenciada. Siga as etapas em Criar uma imagem gerenciada.

Etapa 3: Escolha o caso de uso

Caso 1: Migrar VMs não gerenciadas para discos gerenciados

Certifica-te de generalizar corretamente a tua VM antes deste passo. Depois de generalizares a VM, não podes usá-la. Se criares uma VM a partir de uma imagem que não está devidamente generalizada, recebes um erro VMProvisioningTimeout .

Para criar uma imagem gerida a partir de um VHD generalizado numa conta de armazenamento, veja Criar uma imagem a partir de uma VM que utiliza uma conta de armazenamento. Você pode usar essa imagem no futuro para criar VMs gerenciadas.

Caso 2: Criar VM gerenciada a partir de imagem gerenciada usando o PowerShell

Depois de criar uma imagem a partir de uma VM de disco gerida existente usando o script em Criar uma imagem a partir de um disco gerido usando PowerShell, use o seguinte script de exemplo para criar uma VM Linux semelhante a partir de um objeto imagem existente.

# Variables for common values
$ResourceGroupName = "MyResourceGroup"
$Location = "local"
$VirtualMachineName = "MyVM"
$ImageRG = "managedlinuxrg"
$ImageName = "simplelinuxvmm-image-2019122"

# Create credential object
$Cred = Get-Credential -Message "Enter a username and password for the virtual machine."

# Create a resource group
New-AzResourceGroup -Name $ResourceGroupName -Location $Location

# Create a subnet configuration
$SubnetConfig = New-AzVirtualNetworkSubnetConfig -Name "MySubnet" -AddressPrefix "192.168.1.0/24"

# Create a virtual network
$VNet = New-AzVirtualNetwork -ResourceGroupName $ResourceGroupName -Location $Location `
  -Name "MyVNet" -AddressPrefix "192.168.0.0/16" -Subnet $SubnetConfig

# Create a public IP address and specify a DNS name
$PIp = New-AzPublicIpAddress -ResourceGroupName $ResourceGroupName -Location $Location `
  -Name "mypublicdns$(Get-Random)" -AllocationMethod Static -IdleTimeoutInMinutes 4

# Create an inbound network security group rule for port 3389
$NsgRuleSSH = New-AzNetworkSecurityRuleConfig -Name "MyNetworkSecurityGroupRuleSSH"  -Protocol Tcp `
  -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `
  -DestinationPortRange 22 -Access Allow

# Create a network security group
$Nsg = New-AzNetworkSecurityGroup -ResourceGroupName $ResourceGroupName -Location $Location `
  -Name "MyNetworkSecurityGroup" -SecurityRules $NsgRuleSSH

# Create a virtual network card and associate with public IP address and NSG
$Nic = New-AzNetworkInterface -Name "MyNic" -ResourceGroupName $ResourceGroupName -Location $Location `
  -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PIp.Id -NetworkSecurityGroupId $Nsg.Id

$Image = Get-AzImage -ResourceGroupName $ImageRG -ImageName $ImageName

# Create a virtual machine configuration
$VmConfig = New-AzVMConfig -VMName $VirtualMachineName -VMSize "Standard_D1" | `
Set-AzVMOperatingSystem -Linux -ComputerName $VirtualMachineName -Credential $Cred | `
Set-AzVMSourceImage -Id $Image.Id | `
Set-AzVMOSDisk -VM $VmConfig -CreateOption FromImage -Linux | `
Add-AzVMNetworkInterface -Id $Nic.Id

# Create a virtual machine
New-AzVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VmConfig

Você também pode usar o portal para criar uma VM a partir de uma imagem gerenciada. Para obter mais informações, consulte os artigos de imagem gerenciada do Azure Criar uma imagem gerenciada de uma VM generalizada no Azure e Criar uma VM a partir de uma imagem gerenciada.

Configuração

Depois de aplicar a atualização 1808 ou posterior, faça a seguinte alteração de configuração antes de usar discos geridos:

  • Se criou a subscrição antes da atualização 1808, siga os passos na secção seguinte para atualizar a subscrição. Caso contrário, a implantação de VMs nesta assinatura pode falhar com uma mensagem de erro "Erro interno no gerenciador de discos".
    1. No portal do usuário do Azure Stack Hub, vá para Assinaturas e localize a assinatura. Selecione Fornecedores de Recursos e depois selecione Microsoft. Calcular. Selecione Registrar novamente.
    2. Sob a mesma assinatura, vá para de Controle de Acesso (IAM) e verifique se Azure Stack Hub - Managed Disk está listado.
  • Se usar um ambiente multiinquilino, peça ao seu operador de cloud (que pode estar na sua própria organização ou ao fornecedor de serviços) para reconfigurar cada um dos seus diretórios de convidados seguindo os passos em Configurar multi-tenância no Azure Stack Hub. Caso contrário, a implantação de VMs em uma assinatura associada a esse diretório convidado pode falhar com a mensagem de erro "Erro interno no gerenciador de discos".

Próximos passos