Exercício – implantar VMs em cluster usando discos compartilhados do Azure
O CTO da sua empresa precisa fornecer uma prova de conceito para usar discos compartilhados do Azure para implantar um aplicativo em cluster em VMs (máquinas virtuais) do Azure. Sua tarefa é testar cenários em cluster com VMs do Linux e do Windows.
Observação
Você pode usar o Azure PowerShell ou a CLI do Azure para gerenciar VMs do Windows e do Linux no Azure. Aqui, para fins de aprendizado, se você escolher o Windows, usará o Azure PowerShell. Se você escolher o Linux, usará a CLI do Azure.
Observação
Este exercício é opcional. Para concluir este exercício, será necessário criar uma assinatura do Azure antes de começar. Se você não tiver uma conta do Azure ou não quiser criar uma no momento, poderá ler as instruções para entender as informações que estão sendo apresentadas.
Implantar VMs do Linux usando discos compartilhados do Azure
Para fornecer uma prova de conceito, implante duas VMs do Linux que estão executando o SO Ubuntu Server. Você também testará os comandos de PR (Reservas Persistentes SCSI) no disco compartilhado do Azure.
Neste exercício, você vai explorar a implantação de disco compartilhado do Azure e executar as seguintes tarefas:
- Criar um disco compartilhado do Azure
- Criar um conjunto de disponibilidade
- Implantar duas VMs que estão executando o sistema operacional do Ubuntu Server e anexe um disco compartilhado às duas VMs
- Comandos de RP do SCSI com suporte
Criar um disco compartilhado do Azure
Você precisa de um grupo de recursos para conter os recursos que serão criados para esse exercício. Aqui usamos myResourceGroup
, mas você pode usar qualquer nome que quiser. Esse exemplo usa o local eastus
, mas você pode escolher um local próximo a você. Use este o comando para criar um grupo de recursos:
az group create --name myResourceGroup --location "eastus"
Crie um disco compartilhado do Azure usando o Azure Cloud Shell com a CLI do Azure:
az disk create -g myResourceGroup -n mySharedDisk --size-gb 1024 --sku Premium_LRS --max-shares 2
Criar um conjunto de disponibilidade
Execute o seguinte comando para criar um conjunto de disponibilidade:
az vm availability-set create \
--resource-group myResourceGroup \
--name myAvailabilitySet \
--platform-fault-domain-count 2 \
--platform-update-domain-count 2
Esse comando pode levar vários minutos para ser concluído.
Criar duas VMs que executem o Ubuntu Server
Enquanto você ainda estiver no Cloud Shell, execute os seguintes comandos para criar duas VMs que executem o SO do Ubuntu:
for i in `seq 1 2`;
do
az vm create --resource-group myResourceGroup --name myVM$i --availability-set myAvailabilitySet --size Standard_DS1_v2 --vnet-name myVnet --subnet mySubnet --image Ubuntu2204 --admin-username azureuser --generate-ssh-keys
done
Anexar um disco compartilhado do Azure em ambas as VMs
Enquanto você ainda estiver no Cloud Shell, anexe o disco compartilhado do Azure às duas VMs usando os seguintes comandos:
diskId=$(az disk show -g myResourceGroup -n mySharedDisk --query 'id' -o tsv)
# attach the shared disk to the first VM.
az vm disk attach -g myResourceGroup --vm-name myVM1 --name $diskId
# attach the shared disk to the second VM.
az vm disk attach -g myResourceGroup --vm-name myVM2 --name $diskId
Ao concluir essa tarefa, o disco compartilhado será anexado a duas VMs ao mesmo tempo.
Testar a PR SCSI usando as ferramentas "sg3-utils"
Enquanto você ainda estiver no Cloud Shell, conecte-se à primeira VM usando o protocolo SSH (Secure Shell).
Use o seguinte comando para recuperar os endereços IP da VM1:
myPublicIP1=$(az network public-ip show --resource-group myResourceGroup --name myVM1PublicIP --query 'ipAddress' --output tsv)
Conectar-se à primeira VM por SSH:
ssh azureuser@$myPublicIP1
No prompt Tem certeza de que deseja continuar se conectando? (sim/não), insira Sim e selecione Enter.
Para instalar o sg3-utils, execute os seguintes comandos:
sudo apt-get update sudo apt-get install -y sg3-utils
Para ler a reserva atual, execute o seguinte comando:
sudo sg_persist /dev/sdc -s
Esse comando identifica as reservas atuais que existem para o disco compartilhado. Ao executar pela primeira vez, não deve haver novas reservas.
Execute o seguinte comando para registrar a nova chave de reserva 1234 em myVM1:
sudo sg_persist --register --device /dev/sdc --param-rk=0 --param-sark=1234 --out
Esse comando fornece registro SCSI_PR, que garante que a VM1 pode ler ou gravar no novo disco compartilhado.
Leia novamente as chaves na VM1:
sudo sg_persist /dev/sdc -s
O comando deve mostrar uma reserva para o disco compartilhado para a VM1.
Feche a sessão SSH:
exit
Conecte-se à segunda VM por SSH usando o seguinte comando:
myPublicIP2=$(az network public-ip show --resource-group myResourceGroup --name myVM2PublicIP --query 'ipAddress' --output tsv) ssh azureuser@$myPublicIP2
Quando consultado sobre se você Tem certeza de que deseja continuar se conectando (sim/não)?, insira sim e selecione Enter.
Para instalar o sg3-utils, execute os seguintes comandos:
# Install sg3-utils sudo apt-get update sudo apt-get install -y sg3-utils
# Register the key 1235 on VM2. This command will provide SCSI_PR registration for VM2, so it can read or write on the shared disk. sudo sg_persist --register --device /dev/sdc --param-rk=0 --param-sark=1235 --out # Read back the keys for the shared disk. Now it should show 2 reservation to the shared disk for both VM1 and VM2. sudo sg_persist /dev/sdc -s
Feche a sessão SSH:
exit
Conecte-se à myVM1 usando SSH:
ssh azureuser@$myPublicIP1
Execute os comandos a seguir:
# Reserve the device with exclusive write permission. This command will ensure that VM1 has exclusive write to the disk, while any write from VM2 will not succeed. sudo sg_persist --reserve --device /dev/sdc --param-rk=1234 --prout-type=1 --out # Check the reservation on the device. sudo sg_persist /dev/sdc -s
Feche a sessão SSH:
exit
Conecte-se à myVM2 usando SSH:
ssh azureuser@$myPublicIP2
Execute os comandos a seguir:
# Preempt the DEVICE from **myVM2**. This command will take over the exclusive write operation from VM1. Now VM2 has write access to the disk. sudo sg_persist --preempt --device /dev/sdc --param-rk=1235 --param-sark=1234 --prout-type=5 --out # Report capabilities. Verify that reservation exist for VM2 with key 1235. sudo sg_persist /dev/sdc -c
# Unregister from **myVM2**. This command release access to the shared disk. sudo sg_persist --out --register --param-rk=1235 --param-sark=0 --device /dev/sdc # Report capabilities. sudo sg_persist /dev/sdc -s
Feche a sessão SSH:
exit
Limpar os recursos da VM do Linux
Quando terminar, você poderá excluir tudo do seu grupo de recursos usando o comando de exclusão de grupo.
az group delete --name myResourceGroup --yes --no-wait
Implantar VMs do Windows usando discos compartilhados do Azure
Para demonstrar ainda mais a funcionalidade de disco compartilhado do Azure, implante duas VMs Windows que executam o SO (sistema operacional) Windows Server. Em seguida, você testará os comandos de PR (Reservas Persistentes SCSI) no disco compartilhado do Azure.
Neste exercício, você vai explorar a implantação de disco compartilhado do Azure e executar as seguintes tarefas:
- Criar um disco compartilhado do Azure
- Criar um conjunto de disponibilidade
- Implantar duas VMs em execução no SO Windows Server e configure serviços em cluster
- Comandos de RP do SCSI com suporte
Criar um disco compartilhado do Azure
Você precisa de um grupo de recursos para conter os recursos que serão criados para esse exercício. Aqui usamos myResourceGroup
, mas você pode usar qualquer nome que quiser. Esse exemplo usa o local eastus
, mas você pode escolher um local próximo a você. Use este o comando para criar um grupo de recursos:
# Switch to PowerShell
pwsh
# Create the resource group
New-AzResourceGroup -Name myResourceGroup -Location "eastus"
No Cloud Shell, você pode alternar da CLI do Azure para o Azure PowerShell executando o seguinte comando:
# Create Azure Shared disk $dataDiskConfig=New-AzDiskConfig -Location "eastus" -DiskSizeGB 1024 -SkuName Premium_LRS -CreateOption Empty -MaxSharesCount 2 $dataDisk=New-AzDisk -ResourceGroupName myResourceGroup -DiskName "mySharedDisk1" -Disk $dataDiskConfig
Criar um conjunto de disponibilidade
Execute o seguinte comando para criar um conjunto de disponibilidade:
# Create a managed availability set by using New-AzAvailabilitySet with the -sku aligned parameter. New-AzAvailabilitySet ` -Location "eastus" ` -Name "myAvailabilitySet1" ` -ResourceGroupName myResourceGroup ` -Sku aligned ` -PlatformFaultDomainCount 2 ` -PlatformUpdateDomainCount 2
Esse comando pode levar vários minutos para ser concluído.
Criar duas VMs que estão executando o Windows Server
Ainda no Cloud Shell, execute os seguintes comandos para definir um objeto de credencial para registro em log nas VMs:
$cred = Get-Credential
Use as seguintes credenciais:
- Usuário: Estudante
- Senha: Pa55w.rd1234
Crie duas VMs que estão executando o SO Windows:
for ($i=3; $i-le4; $i++) { New-AzVm ` -ResourceGroupName myResourceGroup ` -Name "myVM$i" ` -Location eastus ` -VirtualNetworkName "myVnet1" ` -SubnetName "mySubnet" ` -ImageName "MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest" ` -SecurityGroupName "myNetworkSecurityGroup1" ` -PublicIpAddressName "myPublicIpAddress$i" ` -AvailabilitySetName "myAvailabilitySet1" ` -Credential $cred }
Anexar um disco compartilhado do Azure a ambas as VMs
Use o seguinte comando para anexar o disco compartilhado do Azure à primeira VM:
$vm3 = Get-AzVM -Name "myvm3" -ResourceGroupName myResourceGroup $vm3 = Add-AzVMDataDisk -VM $vm3 -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0 Update-AzVM -VM $vm3 –ResourceGroupName myResourceGroup
Anexe o disco compartilhado do Azure à segunda VM:
$vm4 = Get-AzVM -Name "myvm4" -ResourceGroupName myResourceGroup $vm4 = Add-AzVMDataDisk -VM $vm4 -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0 Update-AzVM -VM $vm4 –ResourceGroupName myResourceGroup
Instalar o Serviço de Clustering de Failover do Windows na myVM3
Entre no portal do Azure.
No campo Pesquisar recursos, serviços e documentos (G+/), insira máquinas virtuais e selecione Máquinas virtuais.
Selecione a VM myVM3 na barra de ferramentas, selecione Conectar e selecione RDP.
Selecione Baixar Arquivo RDP e conecte-se usando as seguintes credenciais:
- Nome de usuário: Student
- Senha: Pa55w.rd1234
No Gerenciador do Servidor, no menu Ferramentas, selecione o snap-in Gerenciamento do Computador.
No console de gerenciamento do Gerenciamento do Computador (Local), selecione Gerenciamento de Disco.
Na janela Inicializar Disco, verifique se o Disco 2 está selecionado e selecione OK.
Clique com o botão direito do mouse ou selecione o rótulo preto no Disco 2 e selecione Novo Volume Simples. Aceite os valores padrão para criar um volume simples.
Feche o console Gerenciamento do Computador.
No Gerenciador do Servidor, selecione Adicionar funções e recursos. O assistente Adicionar Funções e Recursos será aberto.
No assistente Adicionar Funções e Recursos, na página Antes de Começar, selecione Avançar.
Na página Selecionar tipo de instalação, selecione Instalação baseada em função ou recurso e selecione Avançar.
Na página Seleção de Servidor, clique em Avançar.
Na página Selecionar funções do servidor, selecione Avançar.
Na página Selecionar recursos, marque a caixa de seleção Clustering de Failover.
Verifique se a caixa de seleção Incluir ferramentas de gerenciamento (se aplicável) está marcada. Selecione Adicionar Recursose selecione Avançar.
Na página Confirmação, marque a caixa de seleção Reiniciar o servidor de destino automaticamente, se necessário, e selecione Sim. Selecione Instalar para instalar a função Clustering de Failover.
Observação
Depois que o recurso de cluster de failover for instalado, a máquina virtual myVM3 será reiniciada automaticamente.
Instalar o Serviço de Clustering de Failover do Windows na myVM4
No portal do Azure, no campo pesquisar recursos, serviços e documentos (G+/), insira máquinas virtuais e selecione máquinas virtuais.
Selecione a VM myVM4 na barra de ferramentas, selecione Conectar e selecione RDP.
Selecione Baixar Arquivo RDP e conecte-se usando as seguintes credenciais:
- Nome de usuário: Student
- Senha: Pa55w.rd1234
No Gerenciador do Servidor, no menu Ferramentas, selecione o snap-in Gerenciamento do Computador.
No console de gerenciamento do Gerenciamento do Computador (Local), selecione Gerenciamento de Disco.
Na janela Inicializar Disco, verifique se o Disco 2 está selecionado e selecione OK.
Clique com o botão direito do mouse ou selecione o rótulo preto no Disco 2 e selecione Novo Volume Simples. Aceite os padrões para criar um volume simples.
Feche o console Gerenciamento do Computador.
No Gerenciador do Servidor, selecione Adicionar funções e recursos. O assistente Adicionar Funções e Recursos será aberto.
No assistente Adicionar Funções e Recursos, na página Antes de Começar, selecione Avançar.
Na página Selecionar tipo de instalação, selecione Instalação baseada em função ou recurso e selecione Avançar.
Na página Seleção de Servidor, clique em Avançar.
Na página Selecionar funções do servidor, selecione Avançar.
Na página Selecionar recursos, marque a caixa de seleção Clustering de Failover.
Verifique se a caixa de seleção Incluir ferramentas de gerenciamento (se aplicável) está marcada. Selecione Adicionar Recursose selecione Avançar.
Na página Confirmação, marque a caixa de seleção Reiniciar o servidor de destino automaticamente se necessário e selecione Sim. Selecione Instalar para instalar a função clustering de failover.
Observação
Depois que o recurso de cluster de failover for instalado, a máquina virtual myVM4 será reiniciada automaticamente.
Testar o armazenamento para o Serviço de Clustering de Failover do Windows na myVM3
No portal do Azure, no campo pesquisar recursos, serviços e documentos (G+/), insira e selecione máquinas virtuais.
Selecione a primeira VM, myVM3, na barra de ferramentas, selecione Conexão e selecione RDP.
Selecione Baixar Arquivo RDP e conecte-se usando as seguintes credenciais:
- Nome de usuário: Student
- Senha: Pa55w.rd1234
No Gerenciador do Servidor, no menu Ferramentas, selecione Gerenciador de Cluster de Failover.
No Gerenciador de Cluster de Failover, no menu Ações, selecione Validar Configuração. O Assistente para Validar uma Configuração é aberto.
No Assistente para Validar Configuração, na página Antes de Começar, selecione Avançar.
Na página Selecionar Servidores ou um Cluster, no campo Inserir Nome, insira myVM3 e selecione Adicionar.
Na página Selecionar Servidores ou um Cluster, no campo Inserir Nome, insira myVM4 e selecione Adicionar.
Selecione Avançar para continuar testando a configuração do cluster.
Na página Opções de Teste, selecione Executar somente os testes que eu selecionar e selecione Avançar.
Limpe todos os outros testes, marque apenas a caixa de seleção Armazenamento e selecione Avançar.
Na página Confirmação, selecione Avançar.
Verifique se todos os testes foram bem-sucedidos e selecione Concluir.
Feche a conexão de RDP.
Observação
Para continuar criando o cluster, você precisará atender aos pré-requisitos adicionais, como o Microsoft Entra Domain Services e criar um endereço IP estático a ser usado para o balanceador de carga interno.
Essa etapa está fora do escopo deste exercício.
Limpar os recursos da VM do Windows
Quando terminar, você poderá excluir tudo do seu grupo de recursos usando o comando de exclusão de grupo.
Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob