terça-feira, 25 de outubro de 2016

O que há de novo no vSphere 6.5? - vSphere DRS

                 

Na semana passada, a VMware anunciou oficialmente a nova versão da sua plataforma de virtualização, o vSphere 6.5. O anúncio ocorreu na abertura da edição européia da VMworld 2016, que aconteceu em Barcelona entre os dias 17/10/16 e 20/10/16 , e trouxe muitas novidades.

Nesse post vou falar sobre as novidades do vSphere 6.5 com relação ao DRS.

Depois de um bom tempo, finalmente a VMware anunciou algumas mudanças e/ou novidades relativas aos mecanismos do DRS (Distributed Resource Scheduler).

- DRS – New Policies

O DRS (Distributed Resource Scheduler) é a funcionalidade responsável por balancear a utilização dos recursos de um cluster VMware e também por escolher o melhor host para alocar uma VM no momento em que ela é ligada. Nas versões anteriores foram adicionadas algumas opções avançadas que permitiam ajustar a maneira como o DRS deveria balancear as VMs entre os hosts ESXi. Com o vSphere 6.5 algumas dessas opções foram adicionadas à interface gráfica para facilitar para os usuários que desejam tais alterações possam faze-las com mais segurança. Basicamente foram três novas opções:














VM Distribution

A primeira opção faz com que o DRS tente balancear as VMs de maneira mais igual entre os hosts ESXi de um cluster. Por padrão o DRS distribui as VMs em um cluster levando em conta mais a utilização dos recursos nos hosts, e tenta manter uma utilização próxima entre os hosts, independente do número de VMs. Essa opção, VM Distribution, corresponde à opção avançada TryBalanceVmsPerHost, que foi adicionada no vSphere 6.5 para tentar balancear o número de VMs nos hosts.

Por exemplo, muitas vezes acontece de existir uma VM muito grande em um cluster, algumas VMs médias e muitas VMs pequenas. Pode acontecer do DRS alocar a VM grande sozinha em um host e alocar outras dezenas de VMs menores em um outro host. Do ponto de vista da utilização dos recursos, esse cenário até poderá estar bem distribuído, porém do ponto de vista da disponibilidade das VMs, não está. Pois, enquanto a queda de um host pode resultar na indisponibilidade de uma única VM, a queda do outro pode resultar na indisponibilidade de dezenas de VMs.

Com a opção VM Distribution habilitada, cada host terá um limite de VMs “maxVMs”, calculado com base numa média de VMs por host. Esse limite será aplicado somente ao algoritmo de balanceamento de carga do DRS, no caso do algoritmo que define o melhor host na hora de ligar uma VM, esse limite poderá esse violado.

Memory Metric for Load Balancing

Por padrão o DRS utiliza a métrica de Active Memory na hora de balancear as VMs entre os hosts. A métrica Active Memory é resultado de um cálculo feito pelo VMkernel que leva em conta apenas as páginas de memória que foram recentemente acessadas pela VM. Alguns administradores preferem trabalhar com uma outra métrica chamada de Consumed Memory. Essa métrica é um pouco mais conservadora e leva em conta todas as páginas de memória que em algum momento já foram alocadas por uma VM. É por isso que geralmente a métrica Active Memory é inferior à Consumed Memory, que por sua vez é inferior, porém mais próxima, ao Configured VM Size.


Como a própria opção descreve, alterar a métrica a ser utilizada pelo DRS para o balanceamento das VMs, de Active Memory para Consumed Memory só é recomendado para clusters onde não há over-committed de memória.

CPU Over-Commitment

Essa opção pode ser utilizada para controlar a taxa de sobre-alocação (over-commitment) de CPU em um cluster. Existem alguns casos em que os administradores precisem garantir uma determinada relação de vCPU:pCPU (num de CPUs virtuais por num de CPUs físicos), por conta de algum requisito de uma aplicação específica. Em ambientes VDI por exemplo, essa é uma questão bastante relevante.

- DRS – Network Aware

Uma outra novidade no vSphere 6.5 com relação ao DRS é a verificação da utilização de rede em um host na hora de alocar ou mover uma VM. Até então o DRS levava em conta somente os recursos de CPU e Memória de um host na hora de definir o melhor host para pôr uma VM quando ela fosse ligada e também na hora de balancear as VMs. Com isso poderia ocorrer de haver um host com baixa utilização de CPU/Mem e uma alta utilização de rede mas mesmo assim o DRS movimentar VMs para este host ou ligar uma VM nele, podendo causar um congestionamento no uplink, e consequentemente impactando no desempenho de todas as VMs em execução no host.

Com a implementação do Network Aware, o DRS passa a considerar a utilização da placa de rede física dos hosts ESXi, e quando estas apresentarem uma utilização superior a 80%, o DRS irá considerar este host como saturado e evitará ligar novas VMs neste host e também tentará resolver este problema de saturação,movimentando algumas VMs deste host para outros na execução do próximo ciclo do DRS.

 - Predictive DRS 

O Predictive DRS é uma nova funcionalidade do vSphere 6.5 que como o próprio nome sugere “prevê” a utilização de recursos do cluster e faz o balanceamento da carga (se necessário) antes. Para fazer isso, o DRS irá contar com a ajuda do vROPS (vRealize Operations). A versão do vROPS que terá suporte a essa funcionalidade deve sair até a metade do ano de 2017, portanto apesar dessa funcionalidade já estar embutida no código do vSphere 6.5, será necessário aguardar o lançamento da próxima versão do vROPS para utiliza-la.

O vROPS calcula e prevê a utilização dos recursos de CPU e Memória com base no histórico de dados que ele captura do vCenter. A partir daí o vROPS passa a calcular thresholds dinâmicos (Dynamic Thresholds), e quanto mais dados são capturados ao longo do tempo, essas previsões se tornam mais precisas, e com níveis mais elevados de confiança.

Em seguida essas previsões são enviadas para o DRS, que consome esses dados com antecedência (por padrão o DRS trabalha com 60 minutos de antecedência) e balanceia o cluster com base na utilização prevista. O benefício disso é que picos na utilização dos recursos poderão ser previstos e o balanceamento da carga ocorrerá antes que este pico ocorra, possibilitando um melhor desempenho do ambiente como um todo.

Um comentário: