Criar armazenamento em disco de VM no Azure Stack Hub
Este artigo descreve como criar armazenamento em disco de máquina virtual (VM) usando o portal do Azure Stack Hub ou o PowerShell.
Descrição geral
O Azure Stack Hub dá suporte ao uso de discos gerenciados e discos não gerenciados em VMs, como um sistema operacional (SO) e um disco de dados.
Os discos gerenciados simplificam o gerenciamento de disco para VMs IaaS do Azure gerenciando as contas de armazenamento associadas aos discos de VM. Você só precisa especificar o tamanho do disco necessário e o Azure Stack Hub cria e gerencia o disco para você.
Os discos não gerenciados exigem que você crie uma conta de armazenamento para armazenar os discos. Os discos criados são chamados de discos VM e armazenados em contêineres na conta de armazenamento.
Orientações sobre boas práticas
É recomendável usar discos gerenciados para VMs para facilitar o gerenciamento e o equilíbrio de capacidade. Não é necessário preparar uma conta de armazenamento e contêineres antes de usar discos gerenciados. Ao criar vários discos gerenciados, os discos são distribuídos em vários volumes, o que ajuda a equilibrar a capacidade dos volumes.
Para discos não gerenciados, para melhorar o desempenho e reduzir os custos gerais, recomendamos que você coloque cada disco não gerenciado em um contêiner separado. Embora você possa colocar discos do sistema operacional e discos de dados no mesmo contêiner, a prática recomendada é que um contêiner deve conter um disco do sistema operacional ou um disco de dados, mas não ambos ao mesmo tempo.
Se você adicionar um ou mais discos de dados a uma VM, use contêineres adicionais como um local para armazenar esses discos. O disco do sistema operacional para VMs adicionais também deve estar em seus próprios contêineres.
Ao criar VMs, você pode reutilizar a mesma conta de armazenamento para cada nova máquina virtual. Somente os contêineres criados devem ser exclusivos.
Adicionando novos discos
A tabela a seguir resume como adicionar discos usando o portal e o PowerShell:
Método | Opções |
---|---|
Portal do utilizador | - Adicione novos discos de dados a uma VM existente. Novos discos são criados pelo Azure Stack Hub. - Adicione um arquivo de disco (.vhd) existente a uma VM criada anteriormente. Para fazer isso, você deve preparar o .vhd e, em seguida, carregar o arquivo para o Azure Stack Hub. |
PowerShell | - Crie uma nova VM com um disco do sistema operacional e, ao mesmo tempo, adicione um ou mais discos de dados a essa VM. |
Usar o portal para adicionar discos a uma VM
Por padrão, quando você usa o portal para criar uma VM para a maioria dos itens do marketplace, somente o disco do sistema operacional é criado.
Depois de criar uma VM, você pode usar o portal para:
- Crie um novo disco de dados e anexe-o à VM.
- Carregue um disco de dados existente e anexe-o à VM.
Coloque cada disco não gerenciado adicionado em um contêiner separado.
Usar o portal para criar e anexar um novo disco de dados
No portal, selecione Todos os serviços, Computação e Máquinas virtuais.
Selecione uma VM que tenha sido criada anteriormente na lista.
Para a VM, selecione Discos e, em seguida , Adicionar disco de dados.
Para o disco de dados:
- Insira o LUN. O LUN deve ser um número válido.
- Selecione Criar disco.
Na folha Criar disco gerenciado:
- Digite o nome do disco.
- Selecione um grupo de Recursos existente ou crie um novo.
- Selecione o local. Por padrão, o local é definido para o mesmo contêiner que contém o disco do sistema operacional.
- Selecione o Tipo de conta.
Nota
Os discos Premium (SSD) e os discos padrão (HDD) são apoiados pela mesma infraestrutura de armazenamento no Azure Stack Hub. Eles fornecem o mesmo desempenho.
Selecione o tipo de origem.
Crie um disco a partir de um instantâneo de outro disco, um blob em uma conta de armazenamento ou crie um disco vazio.
Instantâneo: selecione um instantâneo, se estiver disponível. O instantâneo deve estar disponível na assinatura e no local da VM.
Blob de armazenamento:
- Adicione o URI do blob de armazenamento que contém a imagem de disco.
- Selecione Procurar para abrir a folha Contas de armazenamento. Para obter instruções, consulte Adicionar um disco de dados de uma conta de armazenamento.
- Selecione o tipo de SO da imagem: Windows, Linux ou Nenhum (disco de dados).
Selecione o tamanho (GiB).
Os custos do disco aumentam com base no tamanho do disco.
Selecione Criar. O Azure Stack Hub cria e valida o disco gerenciado.
Depois que o Azure Stack Hub cria o disco e o anexa à VM, o novo disco é listado nas configurações de disco da VM em Discos de dados.
Adicionar um disco de dados de uma conta de armazenamento
Para obter mais informações sobre como trabalhar com contas de armazenamento no Azure Stack Hub, consulte Introdução ao armazenamento do Azure Stack Hub.
Selecione a conta de armazenamento a ser usada.
Selecione o Contêiner onde deseja colocar o disco de dados. Na folha Contêineres, você pode criar um novo contêiner, se desejar. Em seguida, você pode alterar o local do novo disco para seu próprio contêiner. Ao usar um contêiner separado para cada disco, você distribui o posicionamento do disco de dados, o que melhora o desempenho.
Escolha Selecionar para salvar a seleção.
Anexar um disco de dados existente a uma VM
Prepare um arquivo .vhd para uso como disco de dados para uma VM. Carregue esse arquivo .vhd para uma conta de armazenamento que você usa com a VM à qual deseja anexar o arquivo .vhd.
- Planeje usar um contêiner diferente para armazenar o arquivo .vhd do que o contêiner que contém o disco do sistema operacional.
- Antes de carregar qualquer VHD para o Azure, você deve seguir Preparar um VHD ou VHDX do Windows para carregar no Azure.
- Reveja o Plano de migração para Managed Disks antes de iniciar a migração para Managed Disks.
Depois que o arquivo .vhd for carregado, você estará pronto para anexar o VHD a uma VM. No menu do lado esquerdo, selecione Máquinas virtuais.
Escolha a VM na lista.
Na página da VM, selecione Discos e, em seguida, selecione Anexar existente.
Na página Anexar disco existente, selecione Arquivo VHD. A página Contas de armazenamento é aberta.
Em Contas de armazenamento, selecione a conta a ser usada e escolha um contêiner que contenha o arquivo .vhd carregado anteriormente. Selecione o arquivo .vhd e, em seguida, escolha Selecionar para salvar a seleção.
Em Anexar disco existente, o arquivo selecionado é listado em Arquivo VHD. Atualize a configuração de cache do Host do disco e selecione OK para salvar a nova configuração de disco para a VM.
Depois que o Azure Stack Hub cria o disco e o anexa à VM, o novo disco é listado nas configurações de disco da VM em Discos de Dados.
Usar o PowerShell para adicionar vários discos a uma VM
Você pode usar o PowerShell para provisionar uma VM e adicionar novos discos de dados ou anexar um disco gerenciado pré-existente ou um arquivo .vhd como um disco de dados.
O cmdlet Add-AzVMDataDisk adiciona um disco de dados a uma VM. Você pode adicionar um disco de dados ao criar uma VM ou pode adicionar um disco de dados a uma VM existente. Para um disco não gerenciado, especifique o parâmetro VhdUri para distribuir os discos para contêineres diferentes.
Adicionar discos de dados a uma nova VM
Os exemplos a seguir usam comandos do PowerShell para criar uma VM com três discos de dados. Os comandos são fornecidos com várias partes devido às pequenas diferenças ao usar discos gerenciados ou discos não gerenciados.
Criar configuração de máquina virtual e recursos de rede
O script a seguir cria um objeto VM e o armazena $VirtualMachine
na variável. Os comandos atribuem um nome e tamanho à VM e, em seguida, criam os recursos de rede (rede virtual, sub-rede, adaptador de rede virtual, NSG e endereço IP público) para a VM.
# Create new virtual machine configuration
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine" `
-VMSize "Standard_A2"
# Set variables
$rgName = "myResourceGroup"
$location = "local"
# Create a subnet configuration
$subnetName = "mySubNet"
$singleSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/24
# Create a vnet configuration
$vnetName = "myVnetName"
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $location `
-AddressPrefix 10.0.0.0/16 -Subnet $singleSubnet
# Create a public IP
$ipName = "myIP"
$pip = New-AzPublicIpAddress -Name $ipName -ResourceGroupName $rgName -Location $location `
-AllocationMethod Dynamic
# Create a network security group configuration
$nsgName = "myNsg"
$rdpRule = New-AzNetworkSecurityRuleConfig -Name myRdpRule -Description "Allow RDP" `
-Access Allow -Protocol Tcp -Direction Inbound -Priority 110 `
-SourceAddressPrefix Internet -SourcePortRange * `
-DestinationAddressPrefix * -DestinationPortRange 3389
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgName -Location $location `
-Name $nsgName -SecurityRules $rdpRule
# Create a NIC configuration
$nicName = "myNicName"
$nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName $rgName `
-Location $location -SubnetId $vnet.Subnets[0].Id `
-NetworkSecurityGroupId $nsg.Id -PublicIpAddressId $pip.Id
Adicionar discos gerenciados
Os três comandos a seguir adicionam discos de dados gerenciados à máquina virtual armazenada no $VirtualMachine
. Cada comando especifica o nome e as propriedades adicionais do disco.
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' `
-Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 `
-CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' `
-Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 `
-CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' `
-Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 `
-CreateOption Empty
O comando a seguir adiciona um disco do sistema operacional como um disco gerenciado à máquina virtual armazenada no $VirtualMachine
.
# Set OS Disk
$osDiskName = "osDisk"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $osDiskName `
-CreateOption FromImage -Windows
Adicionar discos não gerenciados
Os próximos três comandos atribuem caminhos de três discos de dados não gerenciados às $DataDiskVhdUri01
variáveis , $DataDiskVhdUri02
e $DataDiskVhdUri03
. Defina um nome de caminho diferente na URL para distribuir os discos para contêineres diferentes:
$DataDiskVhdUri01 = "https://contoso.blob.local.azurestack.external/test1/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.local.azurestack.external/test2/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.local.azurestack.external/test3/data3.vhd"
Os três comandos a seguir adicionam discos de dados à máquina virtual armazenada no $VirtualMachine
. Cada comando especifica o nome e as propriedades adicionais do disco. O URI de cada disco é armazenado em $DataDiskVhdUri01
, $DataDiskVhdUri02
e $DataDiskVhdUri03
.
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' `
-Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 `
-VhdUri $DataDiskVhdUri01 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' `
-Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 `
-VhdUri $DataDiskVhdUri02 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' `
-Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 `
-VhdUri $DataDiskVhdUri03 -CreateOption Empty
Os comandos a seguir adicionam um disco de sistema operacional não gerenciado à máquina virtual armazenada no $VirtualMachine
.
# Set OS Disk
$osDiskUri = "https://contoso.blob.local.azurestack.external/vhds/osDisk.vhd"
$osDiskName = "osDisk"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $osDiskName -VhdUri $osDiskUri `
-CreateOption FromImage -Windows
Criar nova máquina virtual
Use os seguintes comandos do PowerShell para definir a imagem do sistema operacional, adicionar configuração de rede à VM e iniciar a nova VM.
#Create the new VM
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName VirtualMachine -ProvisionVMAgent | `
Set-AzVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer `
-Skus 2016-Datacenter -Version latest | Add-AzVMNetworkInterface -Id $nic.Id
New-AzVM -ResourceGroupName $rgName -Location $location -VM $VirtualMachine
Adicionar discos de dados a uma VM existente
Os exemplos a seguir usam comandos do PowerShell para adicionar três discos de dados a uma VM existente:
Obter máquina virtual
O primeiro comando obtém a VM chamada VirtualMachine usando o cmdlet Get-AzVM . O comando armazena $VirtualMachine
a VM na variável:
$VirtualMachine = Get-AzVM -ResourceGroupName "myResourceGroup" `
-Name "VirtualMachine"
Adicionar disco gerenciado
Os próximos três comandos adicionam os discos de dados gerenciados à VM armazenada na $VirtualMachine
variável. Cada comando especifica o nome e as propriedades adicionais do disco.
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk1" -Lun 0 `
-Caching ReadOnly -DiskSizeinGB 10 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk2" -Lun 1 `
-Caching ReadOnly -DiskSizeinGB 11 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk3" -Lun 2 `
-Caching ReadOnly -DiskSizeinGB 12 -CreateOption Empty
Adicionar disco não gerenciado
Os próximos três comandos atribuem caminhos para três $DataDiskVhdUri01
discos de dados às variáveis , $DataDiskVhdUri02
e $DataDiskVhdUri03
. Os diferentes nomes de caminho nos URIs VHD indicam contêineres diferentes para o posicionamento do disco:
$DataDiskVhdUri01 = "https://contoso.blob.local.azurestack.external/test1/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.local.azurestack.external/test2/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.local.azurestack.external/test3/data3.vhd"
Os próximos três comandos adicionam os discos de dados à VM armazenada na $VirtualMachine
variável. Cada comando especifica o nome, o local e as propriedades adicionais do disco. O URI de cada disco é armazenado em $DataDiskVhdUri01
, $DataDiskVhdUri02
e $DataDiskVhdUri03
.
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk1" `
-VhdUri $DataDiskVhdUri01 -LUN 0 `
-Caching ReadOnly -DiskSizeinGB 10 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk2" `
-VhdUri $DataDiskVhdUri02 -LUN 1 `
-Caching ReadOnly -DiskSizeinGB 11 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk3" `
-VhdUri $DataDiskVhdUri03 -LUN 2 `
-Caching ReadOnly -DiskSizeinGB 12 -CreateOption Empty
Atualizar o estado da máquina virtual
Este comando atualiza o estado da VM armazenada em $VirtualMachine
-ResourceGroupName
:
Update-AzVM -ResourceGroupName "myResourceGroup" -VM $VirtualMachine
Próximos passos
Para saber mais sobre VMs do Azure Stack Hub, consulte Considerações sobre máquinas virtuais no Azure Stack Hub.