Uma das exigências críticas para infraestruturas virtuais, especialmente em grandes centros de dados, é a eliminação de um único ponto de falha e garantir a alta disponibilidade de serviços e aplicativos. Em um ambiente Hyper-V, a tecnologia de Cluster de Failover da Microsoft está disponível para configurar vários hosts Hyper-V (ou nós) que podem assumir a carga se um host falhar.
Neste guia passo a passo, aprenda os aspectos práticos da configuração de cluster de failover do Hyper-V, incluindo a configuração inicial do host e da rede, a instalação da função Hyper-V e a criação do cluster.
Configuração do Host do Hyper-V
Para preparar hosts para cluster de failover, devemos selecionar um sistema operacional para instalar em todos os hosts que serão usados em um cluster específico. Em seguida, precisamos realizar uma configuração básica do ambiente, incluindo todos os hosts, para prepará-los para a configuração do cluster do Hyper-V.
Selecionando um sistema operacional para instalar
Nesta configuração, estamos usando duas instalações do Windows Server 2016 Server Core para minimizar os componentes em movimento e melhorar a segurança. Usar a instalação do Windows Server 2016 Server Core elimina muitos componentes desnecessários e reduz a pegada. A dificuldade aumentada de administração com o Server Core é compensada pelos benefícios de eficiência e segurança. Você também pode usar as versões mais recentes do Windows Server, como o Windows Server 2019, para a configuração do cluster do Hyper-V.
Nota: Para a administração e configuração do Windows Server 2016 Server Core, usamos o PowerShell. É tecnicamente possível usar o Windows Server com Desktop Experience para configurar o cluster de failover do Hyper-V.
Configuração inicial do ambiente
Antes de pensar nos hosts do Hyper-V como um cluster, devemos realizar nossa configuração inicial dos hosts. Isso envolve grande parte dos mesmos passos de preparação de qualquer servidor Windows – nomeação, configuração de rede, atualizações, etc. O planejamento de rede, em particular, é crucial em um cluster do Windows, pois permite uma comunicação adequada entre os clusters, bem como a comunicação com o armazenamento compartilhado.
- Nomeação. Ambos os servidores foram nomeados e integrados ao domínio do laboratório. Note que, a partir do Windows Server 2016, a integração a um domínio não é mais um pré-requisito. As configurações do servidor são exibidas nas capturas de tela abaixo para o primeiro servidor H1. As configurações para o segundo servidor H2 são semelhantes.
- Atualizações. Precisamos atualizar todos os nós em potencial do cluster do Hyper-V para o último nível de patch disponível, de acordo com as melhores práticas de clustering do Hyper-V. A instalação de atualizações nos hosts do Hyper-V melhora a segurança do nosso sistema. Você pode precisar reiniciar o Windows para concluir a instalação das atualizações.
- Consistência. Como prática recomendada, queremos que todos os nossos nós potenciais do cluster estejam configurados de maneira idêntica, exceto pelos nomes de computador e endereços IP. Isso garante que tudo seja padronizado entre os hosts, incluindo níveis de patch, redes, etc.
Planejamento de rede
Um planejamento adequado do ambiente mitiga muitos riscos no futuro. Para a rede do laboratório neste cenário, quatro adaptadores de rede foram configurados para cada host. Ambos os hosts do laboratório não estão realizando nenhum tipo de agrupamento de NIC por questões de simplicidade. No entanto, você desejará agrupar seus adaptadores em produção para evitar ter um único ponto de falha em qualquer rede.
Para a nossa configuração de laboratório, temos:
- Tráfego de Gerenciamento e VM
- iSCSI
- Tráfego do Cluster Privado
- Migração ao Vivo
Com as redes acima em mente, atribuímos Endereços IP a cada servidor em nossas faixas de sub-rede desejadas. As VLANs também são consideradas aqui, já que provavelmente você desejará alinhar suas sub-redes com as VLANs provisionadas. Isso precisaria ser pensado com antecedência.
Configuração do Alvo de Armazenamento iSCSI
O armazenamento do cluster Hyper-V é um ponto crucial para construir um cluster. Para o armazenamento iSCSI em um ambiente de laboratório, neste exemplo, estamos usando o FreeNAS para criar alvos iSCSI e apresentá-los ao nosso cluster Hyper-V. Claro, configurar iSCSI em hardware de fornecedor de sua escolha ou iSCSI de software pode ser diferente dependendo do fornecedor, então sempre siga os métodos definidos para cada um.
Nota: O FreeNAS é um sistema operacional baseado em FreeBSD universal e flexível que você pode instalar em um computador para usá-lo como NAS. Você pode criar um armazenamento compartilhado de cluster Hyper-V ou construir um dispositivo de backup com FreeNAS e a solução NAKIVO.
Aqui está uma visão geral rápida de como o armazenamento para cluster de failover do Hyper-V é configurado usando o FreeNAS. Não entraremos em todos os detalhes de como configurar o FreeNAS para iSCSI. No entanto, aqui estão as configurações básicas para apresentar alguns alvos iSCSI aos nossos hosts do Hyper-V.
- Inicie o serviço iSCSI no FreeNAS e configure sua configuração de rede para a rede de armazenamento corresponder ao que pretende usar nos hosts do Hyper-V.
- Verifique a configuração do IQN base para os alvos que iremos criar.
- Configure um portal no FreeNAS para escutar o tráfego iSCSI.
- Configure nomes de alvos iSCSI. No nosso dispositivo FreeNAS, estamos configurando:
- a quorum volume to be used as a disk witness
- a volume to be used for the Hyper-V cluster shared volume to house our VMs
Nota: Quorum é o mecanismo em um cluster do Windows que é usado para garantir que, no caso de algo falhar entre as partes de um cluster, você sempre tenha a maioria dos recursos do cluster disponíveis para o funcionamento do cluster.
- Começando com o Windows Server 2012, cada nó no cluster tem um único voto de quorum por padrão. Ao adicionar um voto extra com um compartilhamento de arquivos, disco ou uma nova conta de armazenamento em nuvem no Windows Server 2016, uma parte do cluster deve sempre obter mais de 50% do voto do quorum ao reivindicar o voto do compartilhamento, disco ou conta de armazenamento em nuvem.
- Com o Windows Server 2012 R2, a recomendação mudou para sempre configurar o testemunho de disco ou compartilhamento de arquivos. O voto é estendido ao testemunho adicional (compartilhamento de arquivos, disco ou conta de armazenamento na nuvem) apenas se houver um número par de nós. Com um número ímpar de nós, o testemunho não recebe um voto e não é usado.
Na captura de tela abaixo, criamos os dois nomes de destino: um volume de quórum a ser usado como testemunho de disco e um volume a ser usado para nosso volume compartilhado de cluster.
- Adicionar Extensões, que no exemplo abaixo estão mapeadas para os discos individuais que atribuímos fisicamente em nosso dispositivo FreeNAS.
- Associar o Destino com a Extensão. Os destinos são mapeados para o armazenamento no FreeNAS.
Instalando a Função Hyper-V
Para instalar a função Hyper-V, execute o seguinte comando em um prompt de comando PowerShell:
Install-WindowsFeature -Name Hyper-V -IncludeAllSubFeature -IncludeManagementTools -Restart
Configurando o Armazenamento: Adicionando o Endereço do Portal iSCSI
Antes de adicionar nosso endereço do portal iSCSI, precisamos configurar e iniciar o serviço iSCSI da Microsoft conforme abaixo:
- Defina o serviço como automático.
Set-Service -Name msiscsi -StartupType Automatic
- Inicie o serviço.
Iniciar-Serviço msiscsi
- Use o PowerShell para adicionar o endereço do portal iSCSI provisionado:
Novo-iscsitargetportal -targetportaladdress <endereço IP>
- Conectar os alvos iSCSI específicos que, no nosso caso, foram criados no nosso dispositivo FreeNAS. Abaixo estão exemplos do que usamos ao adicionar os alvos FreeNAS aos hosts Hyper-V provisionados para o cluster.
- Conectar-IscsiTarget -nodeaddress iqn.2005-10.org.freenas.ctl:quorum -IsPersistent $true -IsMultipathEnabled $true -InitiatorPortalAddress 10.0.0.70 -TargetPortalAddress 10.0.0.1
- Conectar-IscsiTarget -nodeaddress iqn.2005-10.org.freenas.ctl:hvvol1 -IsPersistent $true -IsMultipathEnabled $true -InitiatorPortalAddress 10.0.0.70 -TargetPortalAddress 10.0.0.1
Você pode verificar e ver os alvos que foram adicionados executando o comando Get-iSCSItarget.
Nota: Você pode usar o comando get-disk para mostrar informações do disco e garantir que o armazenamento compartilhado do cluster Hyper-V esteja online e saudável.
Configurando Switches Virtuais
Configurar chaves virtuais é necessário para a configuração adequada da rede de cluster de failover do Hyper-V. Podemos usar tanto o PowerShell quanto o Gerenciador do Hyper-V para configurar nossas chaves virtuais para o Hyper-V.
Um exemplo do comando para criar uma chave virtual no PowerShell:
New-VMSwitch “ExternalSwitch01” -NetAdapterName “Público” -AllowManagementOS 1
Nota: Configure os nomes de suas chaves virtuais de forma idêntica entre ambos os hosts, pois precisamos garantir que as chaves virtuais correspondam, especialmente ao realizar uma migração ao vivo.
Criando um Cluster do Hyper-V
Usando o PowerShell, criar o cluster é um comando de linha único e simples.
- Antes de criar o cluster, execute este comando para validar que a configuração do cluster atende às melhores práticas de clustering do Hyper-V:
Test-Cluster H1,H2
- Use o comando new-cluster para criar um cluster e atribuir o nome, os nós e um endereço IP estático ao cluster.
New-Cluster -Name HVCluster -node H1,H2 -staticAddress 192.168.85.75
- Quando o processo de criação do cluster estiver concluído, você verá a saída exibindo o nome do cluster na linha de comando.
Volumes Compartilhados em Cluster do Hyper-V
Embora tenhamos armazenamento compartilhado de uma perspectiva de destino iSCSI, precisamos garantir que o armazenamento que abriga nossas VMs esteja configurado em um volume compartilhado em cluster do Hyper-V. O volume compartilhado em cluster (CSV) foi introduzido no Windows Server 2008 R2 para ser usado com o papel do Hyper-V, de modo que uma VM possa ter arquivos VHD acessados por qualquer nó no cluster. Também existe resiliência incorporada ao CSV, incluindo a detecção de falhas de E/S permitida para caminhos de comunicação alternativos serem usados no caso de falhas de comunicação.
Vamos dar uma olhada na criação do volume compartilhado em cluster passo a passo para nossas VMs.
- Renomeie o recurso de disco do cluster que será usado para o armazenamento de VM (opcional). Em nossa configuração de laboratório, este é o Disco do Cluster 1:
(Get-ClusterResource | ?{$_.Name -eq “Cluster Disk 1”}).name = “VMs”
- Agora, podemos adicionar este volume a um volume compartilhado em cluster:
Get-ClusterResource -Name “VMs”| Add-ClusterSharedVolume
Nota: Também podemos usar o Gerenciador de Cluster de Failover para adicionar um disco ao CSV:
- Verifique o estado do volume compartilhado em cluster com o comando get-clustersharedvolume.
Nota: Se você tiver uma estação de gerenciamento para se conectar usando o Gerenciador de Cluster de Falha, você pode visualizar o armazenamento com a interface gráfica do usuário (GUI) conectando-se ao Cluster de Falha do Windows. Aqui, podemos ver facilmente os Discos disponíveis e as funções atribuídas a eles. Abaixo, vemos tanto o disco Quorum quanto o disco de Máquinas Virtuais designado como um volume compartilhado de cluster.
Alterando as Configurações de Armazenamento do Hyper-V
Agora que configuramos nosso volume compartilhado em cluster, podemos alterar as configurações do Hyper-V para usar nosso volume compartilhado em cluster do Hyper-V como localização padrão para armazenar nossas Máquinas Virtuais.
Nas Configurações do Hyper-V para cada host, altere a localização de Discos Rígidos Virtuais e a localização de Máquinas Virtuais para o seu volume compartilhado em cluster, que é C:\ClusterStorage\volume(x) em seus hosts do Hyper-V.
Criando uma Máquina Virtual Altamente Disponível
Agora podemos abrir o Gerenciador de Cluster de Falha e começar a criar uma máquina virtual altamente disponível.
- Clique com o botão direito em Funções e escolha criar uma Nova Máquina Virtual.
- Escolha o host do Hyper-V (um dos nós do cluster) para a máquina virtual.
- Trabalhe através das orientações do Assistente de Nova Máquina Virtual para provisionar uma nova máquina virtual.
- No passo Conectar Disco Rígido Virtual do assistente, certifique-se de que a máquina virtual seja criada em nosso volume compartilhado em cluster do Hyper-V.
- Resumo
- Ao clicar em terminar, o Assistente de Alta Disponibilidade exibe o resumo da habilitação de alta disponibilidade no papel e na máquina virtual. Como você pode ver, ela foi habilitada com sucesso.
- Se desejar consultar o relatório de alta disponibilidade, você poderá clicar no botão Exibir Relatório, o que exibirá uma representação mais detalhada dos testes de alta disponibilidade.
A configuração do cluster de falha over Hyper-V está concluída e nós temos uma máquina virtual altamente disponível em execução no cluster. Você pode criar mais VMs em seu cluster para usar a Alta Disponibilidade do Hyper-V.
Considerações Finais
A alta disponibilidade do Hyper-V permite reduzir o tempo de inatividade das VMs em caso de falha. No entanto, isso não protegerá os dados da VM se você não tiver backups frequentes do cluster Hyper-V. Como as VMs podem migrar entre hosts no cluster Hyper-V, a backup de VM pode ser uma tarefa desafiadora. Use a solução da NAKIVO e faça backups facilmente mesmo das VMs que estão em execução no cluster.