Criar armazenamento em disco de VM no Azure Stack Hub
Este artigo descreve como criar armazenamento em disco de VM (máquina virtual) usando o portal do Azure Stack Hub ou usando o PowerShell.
Visã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 de IaaS do Azure gerenciando as contas de armazenamento associadas aos discos de VM. Você só tem que especificar o tamanho do disco necessário e o Azure Stack Hub criará e gerenciará o disco para você.
Os discos não gerenciados exigem que você crie uma conta de armazenamento para armazenar os discos. Os discos que você cria são chamados de discos de VM e são armazenados em contêineres na conta de armazenamento.
Diretrizes de práticas recomendadas
É recomendável que você use discos gerenciados para VMs para facilitar o gerenciamento e o equilíbrio de capacidade. Você não precisa preparar uma conta de armazenamento e contêineres antes de usar discos gerenciados. Ao criar vários discos gerenciados, eles são distribuídos em vários volumes, o que ajuda a balancear 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 os dois 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 que você cria devem ser exclusivos.
Adicionando novos discos
A tabela a seguir resume como adicionar discos usando o portal e usando o PowerShell:
Método | Opções |
---|---|
Portal do usuário | - Adicione novos discos de dados a uma VM existente. Novos discos são criados pelo Azure Stack Hub. - Adicione um arquivo de disco existente (.vhd) a uma VM criada anteriormente. Para fazer isso, você deve preparar o .vhd e carregar o arquivo no 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:
- Digite 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 como o mesmo contêiner que contém o disco do sistema operacional.
- Selecione o Tipo de conta.
Observação
Os discos Premium (SSD) e os discos Standard (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 de contas de armazenamento. Para obter instruções, consulte Adicionar um disco de dados de uma conta de armazenamento.
- Selecione o tipo de sistema operacional 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 em 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 no Azure, você deve seguir as etapas em Preparar um VHD ou VHDX do Windows para carregar no Azure.
- Examine Planejar a migração para Discos Gerenciados antes de iniciar a migração para Discos Gerenciados.
Depois que o arquivo .vhd for carregado, você estará pronto para anexar o VHD a uma VM. No menu à esquerda, 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 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 na $VirtualMachine
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 $DataDiskVhdUri01
às 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 do 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 a VM na $VirtualMachine
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 $VirtualMachine
na 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 discos de dados às $DataDiskVhdUri01
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
Esse comando atualiza o estado da VM armazenada em $VirtualMachine
-ResourceGroupName
:
Update-AzVM -ResourceGroupName "myResourceGroup" -VM $VirtualMachine
Próximas etapas
Para saber mais sobre as VMs do Azure Stack Hub, confira Considerações sobre máquinas virtuais no Azure Stack Hub.