Árvore de páginas

Nesta página, detalhamos alguns ajustes que são recomendados  para cenários de virtualização em Hyper-V.

Antivírus

Se você estiver executando o antivírus no servidor físico, considere a possibilidade de não incluir no processo de verificação os arquivos Vmms.exe, Vmswp.exe e os diretórios que contêm os arquivos de configuração das máquinas virtuais, VHDs e VHDX. Um benefício adicional do uso de discos pass-through fixado em suas máquinas virtuais é que o software antivírus pode ser utilizado em execução no servidor físico para proteger essa máquina virtual também.

Múltiplas placas de rede no Hyper-V

Em cenários ideais, serão utilizadas conexões de 10 gigabits (Gb) ou, no mínimo, quatro placas de rede de 1 gigabit (Gb), utilizando o balanceamento com o team das placas de rede.

Atenção

Certifique-se de ter mais de uma placa de rede instalada no servidor físico e dedicar uma interface de rede para a administração do servidor Hyper-V.

Não há redes virtuais no Hyper-V, este será configurado para usar o agrupamento NIC. Para máquinas virtuais de alta carga de trabalho, é possível dedicar um adaptador de rede físico no servidor para a rede virtual da máquina virtual está usando. Assegure, também, que as máquinas virtuais que compartilham um adaptador físico não irão saturar a rede física. Use a confiabilidade e o desempenho do sistema para estabelecer uma linha de base de desempenho para a carga e, então, ajuste as configurações e cargas do NIC em conformidade. 

Para a rede, certifique-se de ter mais de uma placa de rede instalada no servidor físico e dedicar uma interface de rede para a administração do servidor Hyper-V. Isso significa que não há redes virtuais no Hyper-V e este será configurado para usar o NIC. Para máquinas virtuais de alta carga de trabalho, você pode querer dedicar um adaptador de rede físico no servidor para a rede virtual da máquina virtual está usando. Assegure também que as máquinas virtuais que compartilham um adaptador físico não saturam a rede física. Use a confiabilidade e o desempenho do sistema para estabelecer uma linha de base de desempenho para a carga e, então ajuste as configurações e cargas do NIC em conformidade. 

A escolha correta de uma placa de rede pode trazer benefícios específicos para um ambiente virtualizado, e isto justifica o fato de muitas placas novas para servidores terem um custo mais elevado que placas de rede simples. De acordo com o tipo de recurso disponível, é possível habilitar maior desempenho de rede para as máquinas virtuais e para o host (servidor de virtualização).

Chimney/TCP Offload

Em uma comunicação de rede entre máquinas, normalmente o processador da máquina é utilizado para analisar a integridade dos pacotes TCP, demandando CPU extra. Quando a placa de rede suporta o recurso de TCP Offload, é possível passar esta tarefa para o processador da placa, aliviando o processador do servidor de virtualização. Em um ambiente virtualizado, o tráfego TCP/IP em uma máquina virtual pode ser descarregado para uma placa física de rede no servidor host.

Os benefícios são a redução de CPU e a descarga (offload) da rede para melhorar o desempenho, além de oferecer suporte ao Live Migration (melhorando o tempo de transferência de dados). Entretanto, é importante salientar que nem todos os cenários são beneficiados. Seu uso tem aproveitamento em conexões duradouras com transferência de dados grandes e com aplicações que suportem pre-post de buffer. Além disso, o hardware compatível com o Chimney suporta um número fixo de conexões “offload” – compartilhado entre as máquinas virtuais.

Caso seu hardware suporte TCP offload engine, execute o NETSH para habilitar o mesmo: 

netsh int tcp set global chimney = enabled

Outros recursos de Offload, tais como: Checksum calculation, IPSec offload, Large Send Offload (LSOv1 e LSOv2) e Large Receive Offload, por exemplo, podem ajudar muito no alívio de carga de processamento extra para o servidor de virtualização.

Virtual Machine Queue

O Virtual Machine Queue (VMQ) permite que a placa de rede acesse pacotes diretamente da memória da máquina virtual. Desta forma, o buffer do dispositivo da máquina virtual é atribuído a uma das filas (Queue). Isto significa evitar cópias de pacotes no VSP (Virtual Service Parent) e pesquisas de rota no switch virtual (de acordo com o ID da fila da VMQ). Na prática, permite que a placa de rede essencialmente apareça como várias placas de rede no servidor físico (filas / queue).

Em placas 10gbps é mais fácil de encontrar o recurso e traz uma série de benefícios de desempenho. O host (servidor de virtualização) não tem mais dados de DMA do dispositivo em seu próprio buffer, resultando em um caminho mais curto para I/O (entrada e saída).

Teste de desempenho, tomando como exemplo, placas de rede Intel© com suporte a VMQ

Jumbo Frames

O frame de dados transmitido entre máquinas possui um determinado tamanho. Quando é necessário transmitir pacotes de dados grandes é muito mais vantajoso aumentar o tamanho deste frame, reduzindo a carga de processamento (CPU). Ao habilitar Jumbo Frames no Host (servidor de virtualização) você pode ter ganhos de performance, em especial quando se utiliza iSCSI (tanto para o servidor de virtualização quanto para as máquinas virtuais). Obviamente, o recurso de Jumbo Frames depende da placa de rede suportar, e todo meio intermediário de comunicação também deve suportar (isto inclui switches de rede).

No Hyper-V o suporte é oferecido tanto para o virtual switch quanto para a placa de rede virtual, desde que o Integration Services esteja instalado. Caso tenha configurado tudo, você pode testar à partir da máquina virtual, executando um comando PING com um length (tamanho) maior e sem fragmentação. (ex: PING –n 1 –l 8000 –f XXX.XXX.XXX.XXX)

Receive-Side Scaling (RSS)

O RSS é uma tecnologia de driver de rede que permite a distribuição eficiente do processamento recebido pela rede em múltiplas CPUs ao longo de sistemas multiprocessadores. Veja mais informações sobre o RSS aqui (disponível apenas em inglês). 

O Windows Server 2008 e o Windows Server 2008 R2 suportam o RSS de forma nativa. Na prática, o processamento de pacotes de rede é distribuído entre os processadores da máquina (mais uma vez vale o argumento de que, em um servidor de arquivo, quanto mais processadores melhor). Durante o boot da máquina, o sistema operacional analisa a velocidade e o estado da placa de rede para fazer o cálculo de distribuição. Isto significa que quanto mais rápido e melhor for a placa de rede, mais do processador será exigido. Portanto, não se trata de uma via de única mão, mas dupla. Portanto, se você implementar placas de rede de alta performance também será necessário processadores equivalentes.

Neste ponto, verifique sempre com o fabricante da sua placa de rede do servidor quanto a recomendação de quantidade de placas de rede para ambientes virtualizados. Algumas placas fazem a distribuição de interrupção entre múltiplos processadores da máquina, enquanto outras placas fazem utilização apenas de um único processador para interrupções. Infelizmente, este não é uma informação fácil de achar e será necessário que você pesquise mais a fundo na documentação técnica da placa.

Configurações dos discos para máquinas virtuais

Recomendamos o uso do VHDX foi introduzido no Windows Server 2012 tem uma melhor relação de benefícios muito melhor em relação ao formato VHD.

  • Melhor alinhamento do formato de disco rígido virtual para trabalhar melhor com discos com setores grandes;
  • Tamanhos de blocos maiores para discos dinâmicos e diferenciados, o que melhora o seu desempenho;
  • 4 kilobytes (KB) do setor lógico de disco virtual, o que aumenta o desempenho quando usado por aplicativos que são projetados para setores com 4 KB;
  • Eficiência na representação de dados, o que resulta em menor tamanho de arquivo, de modo que o armazenamento físico subjacente ao dispositivo pode recuperar o espaço não utilizado (a operação de compensação).

Selecione a opção VHDX. Este formato suporta discos virtuais de até 64 TB e é resiliente para problemas de consistência que possam ocorrer em caso de falhas de energia elétrica. Este formato não é suportado em sistemas operacionais anteriores ao Windows Server 2012. 

Alocação dos discos e controlador virtual

Disco virtual fixo (recomendado)

Neste caso o espaço é alocado quando o disco virtual é criado, a vantagem desta opção é que temos uma melhor performance nas escrita, menor fragmentação e menor consumo de CPU (quando uma escrita é requerida não é necessário realizar o mapeamento do bloco físico antes do processo de escrita de fato ocorrer). Apesar do maior desempenho, esta opção pode implicar em redução na eficiência no uso do disco (espaço).

Controlador SCSI/SAS

Controladores SCSI possuem algumas vantagens, cada controlador SCSI suporta até 64 dispositivos. Uma máquina virtual com este tipo de controlador pode ter discos adicionados “a quente” sem a necessidade de reinicialização (desde que o sistema operacional visitante suporte tal funcionalidade). Para melhor desempenho é recomendável que os vários discos (quando necessários) sejam adicionados no mesmo controlador, evitando vários controladores (você só deve adicionar novos controladores se atingir o volume máximo de discos suportados no controlador primário). Este tipo de controladora é preferível, pois apresenta melhor desempenho.

Selecione a opção Fixed Size (Tamanho fixo):

Este tipo de disco provê melhor performance e é recomendado para servidores que rodem aplicações com altos níveis de atividade. O arquivo do Virtual Hard Disk que é criado inicialmente usa o tamanho do Virtual Hard Disk e não é alterado quando dados são adicionados ou deletados.

Opções de energia 

Para garantir que o sistema aproveite os recursos disponíveis, é importante desabilitar todos os recursos de economia de energia para alcançar melhora no desempenho.

Verifique se a configuração de energia do servidor está selecionada a opção Alto Desempenho (High Performance). Identificamos que com a configuração de energia Equilibrado é apresentado um tempo maior para abertura de Thread e leitura em disco.

Caso prefira realizar este procedimento por linha de comando, execute, no PowerShell:

#Set High Performance powercfg.exe /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

Clique em Iniciar, digite powercfg.cpl e pressione Enter. Certifique-se de que a opção high performance esteja selecionada, caso não esteja, habilite-a para garantir boa performance.

Para servidor do Hyper-v e para Virtual Machine.

No painel de controle, selecione a opção Power Options/Opções de energia.

Clique em High Performance/Alto desempenho.