Um dos principais benefícios da virtualização de um ambiente é o uso racional de recursos. Quando as máquinas virtuais específicas não são necessárias, elas podem ser desligadas; isso permite que recursos de computação liberados sejam provisionados às VM’s necessárias. O Hyper-V Failover Cluster permite reduzir o downtime nas suas máquinas virtuais; e a partir das edições do Windows Server 2016, o Hyper-V pode fornecer balanceamento de carga entre hospedeiros Hyper-V (que são chamados de nós de cluster neste caso).
Este post do blog abrange a funcionalidade de Balanceamento de Carga de VM para Hyper-V Failover clusters e explora o princípio de funcionamento, os parâmetros de configuração, bem como as vantagens de usar o Balanceamento de Carga em ambientes virtuais Hyper-V.
O que é Balanceamento de Carga de VM do Hyper-V e Como essa Funcionalidade Pode Ser Usada?
O Balanceamento de Carga é uma funcionalidade que garante a otimização no uso de recursos dos hospedeiros Hyper-V em um cluster. A carga de uma VM pode ficar desigual ao longo do tempo; como resultado, os hospedeiros Hyper-V podem ficar mais ou menos carregados. Essa situação pode resultar em algumas das nós ficarem temporariamente indisponíveis durante processos de atualização ou outros processos de manutenção. O cluster Hyper-V pode fornecer recursos de computação suficientes para as VMs com a funcionalidade de Balanceamento de Carga, na qual as VMs são migradas de um nó para outro quando um nó está sobrecarregado e outro nó tem recursos de computação livres. Essa funcionalidade é usada para fornecer performance suficiente para as VMs dentro de um cluster Hyper-V, e, como resultado, ajuda a manter alta qualidade para os serviços fornecidos que correm em VMs.
Como Funciona o Balanceamento de Carga?
O balanceamento de carga verifica automaticamente o estado de um cluster Hyper-V e, dependendo dos resultados e configurações encontradas, inicia a migração de VM do nó sobrecarregado para o nó menos carregado, a fim de redistribuir as cargas entre os hosts Hyper-V.
Existem dois métodos que podem ser usados para verificar as cargas do host:
- Verificação da utilização da memória RAM. Memória insuficiente em um host Hyper-V é um dos problemas mais comuns e pode causar atrasos.
- Verificação da utilização da CPU. Capacidade insuficiente do processador também pode causar atrasos.
Quanto mais recursos de CPU e RAM são consumidos por um host, mais carregado o host é considerado pelo Hyper-V. Se o balanceamento de carga periódico for configurado para um cluster, a carga dos hosts é avaliada a cada 30 minutos. Você também pode avaliar a carga dos hosts sob demanda. O sistema identifica os hosts cuja carga excede o limite definido, bem como os hosts cuja carga está abaixo do valor de limite. Se a carga atual dos nós do cluster estiver desigual e atender às condições mencionadas, o Hyper-V iniciará a migração de VM ao vivo entre os nós. A Migração ao Vivo do Hyper-V permite que você execute a migração de VM de forma imperceptível e sem tempo de inatividade significativo.
A integração do balanceamento de carga com um cluster de failover do Hyper-V é fornecida. As seguintes regras de clusterização são respeitadas para o balanceamento de carga: Proprietários Possíveis, Anti-afinidade (essas duas regras existiam antes do Windows Server 2016) e Domínios de Falhas (novos).
A regra Possible Owners define os hosts do Hyper-V nos quais a migração pode ser realizada. Esta regra apenas define possíveis proprietários de VMs e pode evitar a migração de VMs para hosts indesejados.
As regras de anti-afinidade permitem evitar que dois VMs definidos sejam executados no mesmo host. Por exemplo, se você tiver dois VMs, cada um com um controlador de domínio primário e secundário que não devem ser executados no mesmo host. Essa abordagem aumenta a confiabilidade no caso de falha do host com um dos controladores de domínio.
O domínio de falha é uma característica que define um conjunto de hosts do Hyper-V que podem ser afetados por alguns tipos de falhas físicas, como falha de rede, falha de energia etc. Os hosts do Hyper-V com VMs do mesmo domínio de falha geralmente estão conectados à mesma fonte de energia e switch de rede, assim eles podem ser montados no mesmo rack. Se ocorrerem falhas, todas as VMs do mesmo domínio de falha serão afetadas. Um cluster pode ser logicamente dividido em vários domínios de falha, e a falha de um domínio não deve afetar outros domínios.
Parâmetros de Configuração
O balanceamento de carga é ativado por padrão para clusters de failover no Hyper-V 2016. Existem dois tipos de comportamento: “Usar apenas quando um novo nó é adicionado ao cluster” e “Verificar com intervalos de tempo”.
Utilize apenas quando um novo nó for adicionado ao cluster. Nesse caso, um cluster recebe mais recursos de CPU e RAM, e amplia a capacidade computacional geral. Um sistema avalia a carga de cada nó. Se algum dos nós estiver sobrecarregado (um valor de limite definido na configuração for excedido), então as VMs apropriadas são migradas dos nós sobrecarregados para os nós recentemente adicionados que possuem recursos livres. Esta opção é útil se você regularmente adicionar capacidade ao seu Hyper-V Failover Cluster, e pode ser útil para clusters baseados na tecnologia Storage Spaces. Esta opção não tem impacto em um cluster se o nó que foi previamente desconectado do cluster (por manutenção, por exemplo) for reconectado ao cluster.
Verificar com intervalos de tempo. Esta opção inicia a verificação da carga dos nós do cluster a cada 30 minutos. Se algum dos nós estiver sobrecarregado (um valor de limite definido na configuração for excedido), então as VMs apropriadas são migradas dos nós sobrecarregados para nós que possuem recursos livres.
Limiar de agressividade é um parâmetro que define a agressividade do balanceamento, que é baseada na utilização de RAM e CPU pelos nós. O limiar de agressividade pode ser um dos três valores: Baixo (1), Médio (2) e Alto (3). Você pode ver mais detalhes sobre a configuração na seção abaixo.
Configuração
O Balanceamento de Carga do Hyper-V pode ser configurado utilizando tanto a GUI (interface gráfica do usuário) quanto o PowerShell. Para configurar o Balanceamento de Carga do Hyper-V, comece abrindo o Gerenciador de Cluster de Failover, clique com o botão direito no nome do seu cluster e selecione Propriedades no menu de contexto.
Na janela Propriedades, selecione a guia Balanceador. Marque/Desmarque a caixa se deseja ativar/desativar o balanceamento de carga. Você pode selecionar o modo de balanceamento e a agressividade.
Também é possível definir o modo de balanceamento ou desativar o balanceamento automático no PowerShell:
(Get-Cluster).AutoBalancerMode = <valor>
Onde <valor> pode ser 0, 1 ou 2 (veja a tabela abaixo).
AutoBalancerMode | Descrição |
0 | Desativado |
1 | Balancear carga para um nó quando ele se junta |
2 (usado por padrão) | Sempre balancear carga |
Para definir o limiar de agressividade, digite o seguinte comando no PowerShell:
(Get-Cluster).AutoBalancerLevel = <valor>
Onde <valor> pode ser 1, 2 ou 3 (veja a tabela abaixo).
AutoBalancerLevel | Agressividade | Descrição |
1 (usado por padrão) | Baixo | VMs são movidas quando a carga do host é superior a 80% |
2 | Médio | VMs são movidas quando a carga do host é superior a 70% |
3 | Alto | VMs são movidas quando a carga do host é superior a 60% |
O System Center Virtual Machine Manager (SCVMM) também pode ser usado para o gerenciamento de cluster como uma alternativa ao uso do Gerenciador de Cluster de Falhas. O SCVMM inclui o recurso de Otimização Dinâmica (disponível desde o Windows Server 2012) que também redistribui uma VM entre os nós do cluster. Se você tiver o Balanceamento de Carga do Hyper-V habilitado e usar a Otimização Dinâmica do SCVMM, então o Balanceamento de Carga será desativado automaticamente assim que você habilitar a Otimização Dinâmica no SCVMM. Nesse caso, o gerenciamento do balanceamento de carga é feito pelo SCVMM para evitar conflitos que possam ser causados pelo funcionamento simultâneo de dois recursos e problemas relacionados. A Microsoft recomenda o uso do SCVMM com Otimização Dinâmica.
As vantagens do Balanceamento de Carga do Hyper-V
O Balanceamento de Carga é um recurso útil. As vantagens de usar o balanceamento de carga para o Cluster de Falhas do Hyper-V incluem:
- Nenhuma sobrecarga dos servidores físicos
- Nenhuma sobrecarga das VMs
- Melhora a responsividade das aplicações
- Melhora a qualidade dos serviços fornecidos
- Melhora a escalabilidade para seus serviços e aplicações
- Mitiga falhas
NAKIVO Backup & Replicação e Backup de VMs em Cluster
Cluster de Failover Hyper-V é uma solução eficaz que pode melhorar a disponibilidade de VMs em execução, bem como protegê-los contra possíveis falhas de hardware dos nós. Para proteger seus dados contra outros tipos de desastres, deve ser usada a VM Backup & Replication. VMs situadas nos hosts Hyper-V agrupados podem migrar entre hosts durante eventos como failover ou balanceamento de carga. Como resultado, fazer backup das VMs necessárias pode parecer difícil, pois seria necessário detetar o host no qual a VM reside (backup de nível de host de VM é considerado).
O NAKIVO Backup & Replication é uma solução de proteção de dados rápida, confiável e acessível para VMs que suporta clusters Hyper-V. O NAKIVO Backup & Replication pode rastrear automaticamente em que host a VM reside após adicionar todo o cluster ao inventário e, como resultado, o processo de fazer backups de VM ou réplicas de Hyper-V cluster torna-se tão fácil quanto fazer backups de VMs em hosts Hyper-V isolados.
Conclusão
O Balanceamento de Carga do Hyper-V é uma característica de cluster útil que está incluída no Hyper-V para o Windows Server 2016. A característica ajuda a utilizar os recursos de hardware de forma mais racional e, como resultado, melhora a qualidade dos serviços prestados. Métricas de CPU e RAM são utilizadas para tomar decisões sobre a redistribuição das cargas. O Balanceamento de Carga inicia automaticamente a migração de VMs de nós sobrecarregados para os nós com recursos livres quando um valor de limiar (definido na configuração) é excedido. Não há tempo significativo de inatividade porque a Migração ao Vivo é usada. O Cluster de Failover do Hyper-V com balanceamento de carga protege suas VMs contra falhas de nós, além de fornecer alta disponibilidade e recursos computacionais suficientes para as VMs.
Source:
https://www.nakivo.com/blog/hyper-v-virtual-machine-load-balancing/