Nesta página, detalhamos alguns ajustes que são recomendados para cenários de virtualização em Hyper-V.
Antivírus
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
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.
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
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.