Um dos requisitos críticos para infraestruturas virtuais, especialmente em grandes data centers, é 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 Microsoft Failover Clustering está disponível para configurar vários hosts (ou nós) Hyper-V que podem assumir a carga se um host falhar.
Neste guia passo a passo, aprenda os aspectos práticos da configuração de clustering 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 Hyper-V
Para preparar os hosts para o clustering 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 Hyper-V.
Selecionando um sistema operacional para instalar
Nesta configuração, estamos usando duas instalações do Windows Server 2016 Server Core para minimizar as partes móveis e melhorar a segurança. O uso da instalação do Windows Server 2016 Server Core elimina muitos componentes desnecessários e reduz a pegada. A dificuldade aumentada na 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 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 clustering 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 muitos 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 a comunicação adequada do cluster, bem como a comunicação com o armazenamento compartilhado.
- Nomeação. Ambos os servidores foram nomeados e unidos ao domínio do laboratório. Note que, a partir do Windows Server 2016, a uniã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 potenciais do cluster do Hyper-V para o último nível de patch disponível de acordo com as melhores práticas de clusterização 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 sejam configurados de forma idêntica, exceto pelos nomes dos computadores e pelos 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 fazendo nenhum agrupamento de NIC para simplificar as coisas. No entanto, você gostaria de agrupar seus adaptadores em produção para evitar ter um único ponto de falha em qualquer rede.
Para nossa configuração de laboratório, temos:
- Traffic de Gerenciamento e VM
- iSCSI
- Traffic Privado do Cluster
- Migração ao Vivo
Com as redes acima em mente, atribuímos endereços IP a cada servidor em nossos intervalos de sub-rede desejados. VLANs também são consideradas aqui, pois provavelmente você desejará alinhar suas sub-redes com as VLANs provisionadas. Isso precisaria ser pensado com antecedência.
Configuração de Destino de Armazenamento iSCSI
O armazenamento do cluster Hyper-V é um ponto crucial para a construção de 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.
Abaixo está uma visão geral rápida de como o armazenamento para clustering de failover 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 Hyper-V.
- Inicie o serviço iSCSI no FreeNAS e configure sua configuração de rede para a rede de armazenamento para corresponder ao que você pretende usar para os hosts Hyper-V.
- Verifique a configuração IQN base para os alvos que criaremos.
- Configure um portal no FreeNAS para ouvir o tráfego iSCSI.
- Configure nomes de alvos iSCSI. Em nosso appliance 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 Windows que é usado para garantir que, no caso de algo cair entre partes de um cluster, você sempre tenha a maioria dos recursos do cluster disponíveis para o cluster funcionar.
- A partir do 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 arquivo, 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 de 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 partilha de arquivo. O voto é estendido apenas para o testemunho adicional (partilha de arquivo, disco ou conta de armazenamento em nuvem) se houver um número par de nós. Com um número ímpar de nós, o testemunho não obtém um voto e não é usado.
Na imagem abaixo, criamos os dois nomes de destino: um volume de quórum para usar como testemunho de disco e um volume para usar como volume compartilhado do cluster.
- Adicionar Extents, que no exemplo abaixo estão mapeados para os discos individuais que nós temos atribuídos fisicamente em nosso dispositivo FreeNAS.
- Associar o Alvo com o Extent. Os alvos estão mapeados para o armazenamento em FreeNAS.
Instalar o Role de Hyper-V
Para instalar o role de Hyper-V o serviço, execute o comando a seguir em um prompt de comando PowerShell:
Install-WindowsFeature -Name Hyper-V -IncludeAllSubFeature -IncludeManagementTools -Restart
Configurando o Armazenamento: Adicionar a Entrada do Portal iSCSI
Antes de adicionar o endereço do portal iSCSI, precisamos configurar e iniciar o serviço Microsoft iSCSI conforme abaixo:
- Defina o serviço para automático.
Set-Service -Name msiscsi -StartupType Automatic
- Iniciar o serviço.
Start-Service msiscsi
- Use o PowerShell para adicionar o endereço do portal iSCSI provisionado:
New-iscsitargetportal -targetportaladdress <endereço IP>
- Conecte os alvos iSCSI específicos que, no nosso caso, foram criados no nosso aparelho FreeNAS. Abaixo estão exemplos do que usamos para adicionar os alvos do FreeNAS aos hosts Hyper-V provisionados para o cluster.
- Connect-IscsiTarget -nodeaddress iqn.2005-10.org.freenas.ctl:quorum -IsPersistent $true -IsMultipathEnabled $true -InitiatorPortalAddress 10.0.0.70 -TargetPortalAddress 10.0.0.1
- Connect-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 switches virtuais é necessário para a configuração adequada da rede de cluster de failover do Hyper-V. Podemos usar o PowerShell ou o Gerenciador do Hyper-V para configurar nossos switches virtuais para o Hyper-V.
Um exemplo do comando para criar um switch virtual no PowerShell:
New-VMSwitch “ExternalSwitch01” -NetAdapterName “Public” -AllowManagementOS 1
Observação: Configure os nomes dos seus switches virtuais de forma idêntica em ambos os hosts, pois precisamos garantir que os switches 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 uma única linha simples.
- Antes de criar o cluster, execute este comando para validar se a configuração do cluster atende às melhores práticas de clustering do Hyper-V:
Test-Cluster H1,H2
- Use o comandolet 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 Clusterizados do Hyper-V
Mesmo que tenhamos armazenamento compartilhado do ponto de vista de um destino iSCSI, precisamos garantir que o armazenamento que abriga nossas Máquinas Virtuais esteja configurado em um volume compartilhado clusterizado do Hyper-V. O volume compartilhado clusterizado (CSV) foi introduzido no Windows Server 2008 R2 para ser usado com a função do Hyper-V, permitindo que um VM tenha arquivos VHD acessados por qualquer nó no cluster. Também há resiliência incorporada ao CSV, incluindo detecção de falhas de E/S, permitindo o uso de caminhos de comunicação alternativos em caso de falhas de comunicação.
Vamos dar uma olhada na criação do volume compartilhado clusterizado passo a passo para nossas Máquinas Virtuais.
- Renomeie o recurso de disco do cluster que será usado para o armazenamento da VM (opcional). Em nossa configuração de laboratório, isso é Cluster Disk 1:
(Get-ClusterResource | ?{$_.Name -eq “Cluster Disk 1”}).name = “VMs”
- Agora podemos adicionar este volume a um volume compartilhado clusterizado:
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 clusterizado com o comando get-clustersharedvolume.
Nota: Se você tiver uma estação de trabalho de gerenciamento para se conectar usando o Failover Cluster Manager, você pode ver o armazenamento com a interface gráfica do usuário (GUI) conectando-se ao Windows Failover Cluster. Aqui, conseguimos visualizar facilmente os Discos disponíveis e as funções atribuídas a eles. Abaixo, vemos tanto o Quorum quanto o disco de VM que é designado como volume compartilhado do cluster.
Alterando as Configurações de Armazenamento Hyper-V
Agora que nós temos nosso volume compartilhado agrupado configurado, podemos alterar as configurações de Hyper-V para usar nosso volume compartilhado de cluster Hyper-V como o local padrão para armazenar as nossas VM’s.
Na Configurações de Hyper-V de cada anfitrião, altere o local de Discos Virtuais e o local de Máquinas Virtuais para o volume compartilhado do cluster, que é C:\ClusterStorage\volume(x) em seus hosts Hyper-V.
Criando uma VM High Availability
Agora, podemos iniciar o Failover Cluster Manager e começar a criar uma VM de alta disponibilidade.
- Clique com o botão direito no Papéis e escolha criar uma Nova Máquina Virtual.
- Escolha o host Hyper-V (um dos nós do cluster) para a máquina virtual.
- Performance pelos Wizard de Nova Máquina Virtual para provisionar uma nova máquina virtual.
- Na etapa Conectar Disco Virtual do assistente, certifique-se de que a máquina virtual é criada em nosso volume compartilhado agrupado Hyper-V.
- A etapa Resumo exibe as opções que selecionamos.
- Ao clicar em concluir, o Assistente de Alta Disponibilidade exibe o resumo da ativação da alta disponibilidade na função e na máquina virtual. Como você pode ver, ela foi ativada com sucesso.
- Se você quiser dar uma olhada no relatório de alta disponibilidade, pode clicar no botão Visualizar Relatório, que exibe uma representação mais detalhada dos testes de alta disponibilidade.
A configuração do cluster de failover do Hyper-V está concluída e agora temos uma VM altamente disponível em execução no cluster. Você pode criar mais VMs no seu cluster para usar a Alta Disponibilidade do Hyper-V.
Considerações Finais
O cluster de failover do Hyper-V permite reduzir o tempo de inatividade das VMs em caso de falha. No entanto, isso não protegerá os dados das suas VMs se você não fizer backups frequentes do cluster do Hyper-V. Como as VMs podem migrar entre hosts no cluster de failover do Hyper-V, o backup das VMs pode ser uma tarefa desafiadora. Use a solução da NAKIVO e faça backups facilmente, mesmo das VMs em execução no cluster.