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 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 VMs (máquinas virtuais) de IaaS gerenciando as contas de armazenamento associadas aos discos de VM.

Os discos gerenciados são habilitados por padrão ao criar VMs usando o portal do Azure Stack Hub.

Folha de referências: diferenças de disco gerenciado

Recurso Azure (global) Azure Stack Hub
Opções de backup Serviço de Backup do Azure Ainda não compatível
Opções de recuperação de desastres Azure Site Recovery Ainda não compatível
Análise de desempenho de discos Métricas de agregação e por métricas de disco com suporte. Ainda não compatível
Tamanho do disco Disco Premium do Azure: P4 (32 GiB) a P80 (32 TiB)
Disco SSD Standard do Azure: E10 (128 GiB) a E80 (32 TiB)
Disco HDD Standard 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 instantâneo discos Instantâneo de discos gerenciados do Azure anexados a uma VM em execução com suporte. Com suporte por meio de fornecedores de backup. Verifique com seu fornecedor para verificar o suporte.
Tipos de disco SSD Premium, SSD Standard e HDD Standard. SSD Premium, HDD Standard
Criptografia para dados em repouso SSE (Criptografia do Serviço de Armazenamento do Azure), ADE (Azure Disk Encryption). Criptografia AES de 128 bits do BitLocker
Expandir disco – disco gerenciado Com suporte Com suporte
Windows
Linux
Imagem Imagem personalizada gerenciada Com suporte
Migração Forneça uma ferramenta para migrar de VMs do Azure Resource Manager não gerenciadas existentes sem a necessidade de recriar a VM. Ainda não compatível
Discos Premium Suporte total. Pode ser provisionado, mas sem limite de desempenho ou garantia
IOPs de discos Premium Depende do tamanho do disco. 2300 IOPs por disco
Taxa de transferência de discos 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 por 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 de rede interna ou externa.
  • Os dados de transação do Azure Stack Hub nas métricas de armazenamento não incluem acesso de máquina virtual aos discos montados.

Versões de API

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

  • 2019-07-01
  • 01/03/2019
  • 2018-09-30
  • 2018-06-01
  • 2018-04-01
  • 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 Azure PowerShell ConvertTo-AzVMManagedDisk não pode ser usado para converter um disco não gerenciado em um disco gerenciado no Azure Stack Hub. No momento, o Azure Stack Hub não dá suporte a esse cmdlet.

Você pode usar o script a seguir para converter uma VM provisionada no momento de discos gerenciados não gerenciados. 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 will 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 dá suporte a imagens gerenciadas, que permitem criar um objeto de imagem gerenciada em uma VM generalizada (não gerenciada e gerenciada) que só pode criar VMs de disco gerenciadas daqui para frente. As imagens gerenciadas habilitam os dois cenários a seguir:

  • Você generalizou VMs não gerenciadas e deseja usar discos gerenciados daqui para frente.
  • Você tem uma VM gerenciada generalizada e gostaria de 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 a etapa 1 aqui.

Observação

Certifique-se de generalizar sua VM. Criar uma VM com base em uma imagem que não foi generalizada corretamente 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: Escolher o caso de uso

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

Certifique-se de generalizar sua VM corretamente antes de executar esta etapa. Após a generalização, você não poderá mais usar essa VM. A criação de uma VM de uma imagem que não foi generalizada corretamente levará a um erro VMProvisioningTimeout .

Siga as instruções em Criar uma imagem de uma VM que usa uma conta de armazenamento para criar uma imagem gerenciada de um VHD generalizado em uma conta de armazenamento. Você pode usar essa imagem no futuro para criar VMs gerenciadas.

Caso 2: Criar VM gerenciada com base em imagem gerenciada usando o PowerShell

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

Módulo 1.7.0 ou posterior do PowerShell do Azure Stack Hub: siga as instruções em Criar uma VM com base em uma imagem gerenciada.

Módulo do PowerShell do Azure Stack Hub 1.6.0 ou anterior:

# 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 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 com base em uma imagem gerenciada.

Configuração

Depois de aplicar a atualização 1808 ou posterior, você deve fazer a seguinte alteração de configuração antes de usar discos gerenciados:

  • Se uma assinatura foi criada antes da atualização 1808, siga as etapas abaixo para atualizar a assinatura. Caso contrário, a implantação de VMs nesta assinatura poderá falhar com uma mensagem de erro "Erro interno no gerenciador de discos".
    1. No portal do usuário do Azure Stack Hub, acesse Assinaturas e localize a assinatura. Clique em Provedores de Recursos, em seguida, clique em Microsoft.Compute e clique em Registrar novamente.
    2. Na mesma assinatura, acesse Controle de Acesso (IAM) e verifique se o Azure Stack Hub – Managed Disk está listado.
  • Se você usar um ambiente multilocatário, peça ao operador de nuvem (que pode estar em sua própria organização ou do provedor de serviços) para reconfigurar cada um dos diretórios convidados seguindo as etapas em Configurar multilocação no Azure Stack Hub. Caso contrário, a implantação de VMs em uma assinatura associada a esse diretório convidado poderá falhar com a mensagem de erro "Erro interno no gerenciador de discos".

Próximas etapas