Qual tipo de disco escolher em máquinas virtuais no Hyper-V?

Vejo que muitos profissionais têm dúvidas sobre qual tipo de disco utilizar quando se cria uma nova máquina virtual no Hyper-V. De fato, cada escolha tem vantagens e desvantagens, para lhe oferecer uma visão completa sobre qual tipo é mais adequado a sua necessidade, vou começar descrevendo os controladores virtuais disponíveis, em seguida sobre os formatos VHD e VHDX e finalmente sobre os tipos de disco.

Inicialmente o Hyper-V oferece 3 tipos de controladores virtuais, sendo eles:

IDE

Quando este tipo de controlador é atribuído a uma máquina virtual, ele é emulado e é o único controlador disponível quando o “Virtual Machine Integration Services” não está instalado no sistema operacional visitante (“guest”), este tipo de disco tem limitações consideráveis de desempenho, pois existe uma limitação do I/O máximo suportado por este tipo de dispositivo, logo este tipo de controlador deve ser utilizado somente para a instalação do sistema operacional visitante. Este tipo de controlador não estará disponível se o tipo de máquina virtual for de segunda geração (introduzida com Windows Server 2012 R2).

SCSI / (SAS Controller)

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.

HBA Virtual

Este tipo de controlador é utilizado raramente e só é necessário quando desejarmos permitir o acesso direto de máquinas virtuais a “LUNs” Fiber Channel ou Fiber Channel over Ethernet (FCoE).

Discos virtuais que necessitam ser compartilhados entre múltiplas máquinas virtuais podem requerer este tipo de controlador (cenário muito raro, quando desejamos criar um cluster com os sistemas operacionais visitantes). Outra possibilidade de uso deste tipo de controlador é a necessidade de se conectar uma unidade de fita Fiber Channel a uma máquina virtual por exemplo.

Até 4 HBA’s virtuais podem ser atribuídas a uma máquina virtual, para utilizar este tipo de controlador, a HBA física presente no servidor Hyper-V deve oferecer suporte a NPIV.

Agora que temos uma visão geral dos tipos de controladores possíveis, vamos analisar os formatos de discos virtuais. Inicialmente temos que ter em mente que existem dois formatos de disco virtual VHD e VHDX e cada um suporta 3 tipos de disco virtual.

VHD

Se você pretende criar uma máquina virtual que pode ser executada no Windows 2012 e também no Windows 2008, esta é a opção indicada. Com o Windows 2012 o formato VHD foi modificado, sofrendo otimizações para possuir um melhor alinhamento com o novo padrão AF (Advanced Format que está presente nos discos produzidos à partir de 2010), que estabeleceu um novo tamanho de setores nos discos (saindo do legado 512 bytes para 4096 bytes ou 4KB). Se você está migrando um VHD do Windows 2008 para o 2012 esta otimização não será realizada automaticamente, sendo necessário utilizar o utilitário “Convert-VHD” (Powershell) para realizar a conversão. Após a conversão utilizando o comando “Get-VHD” (Powershell) devemos verificar se o parâmetro “Alignment” está com o valor igual a 1, indicando que a conversão foi realizada.

VHDX

Introduzido com o Windows Server 2012, este formato tem benefícios, como o suporte a discos virtuais de até 64 TB, maior proteção contra corrupção de dados e melhorias de performance.

Em uma migração do Windows 2008 para o Windows 2012 os discos devem ser convertidos para aproveitarem os benefícios deste novo formato.

Finalmente, vamos analisar os 3 tipos de discos virtuais possíveis em ambos os formatos:

Disco virtual fixo

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).

Disco virtual dinâmico

O espaço somente é alocado quando necessário, o sistema operacional visitante enxerga o disco inteiro, cada leitura em blocos que ainda não foram escritos é retornado “zero” como se o disco estivesse vazio, quando uma operação de escrita é requerida, primeiro o bloco é mapeado e na sequencia a operação de escrita de fato acontece. Neste modelo temos a opção do uso eficiente do espaço em disco, porém ocorre o incremento do consumo de CPU (necessário mapear o bloco antes da escrita) e latência nas operações de escrita (elas não são realizadas imediatamente, necessitam aguardar o processo de mapeamento de bloco ser concluído) e a fragmentação é maior neste tipo de disco virtual.

Disco virtual diferencial

O VHD ou VHDX aponta para um arquivo VHD pai. Este modelo pode ser útil quando se deseja criar máquinas de laboratório onde de fato temos a mesma configuração base com pequenas modificações, neste caso todas as operações de leitura ocorrem no arquivo VHD pai e as escritas são realizadas no VHD diferencial, dos 3 modelos é o que apresenta a maior degradação de performance, porém possui um rápido provisionamento e a maior eficiência no uso de espaço em disco, se a máquina virtual possuir um volume elevado de operações de leitura e escrita a performance é bastante degradada. O consumo de CPU é o mais elevado dos 3 tipos, pois até as operações de leitura necessitam de um mapeamento de bloco prévio (verificar se o bloco já foi modificado em relação ao arquivo pai).

Discos Pass-through

Embora não seja considerado um tipo de disco, temos a possibilidade do uso de discos “Pass-through”, onde a LUN é diretamente apresentada para a máquina virtual e o sistema operacional visitante terá acesso aos blocos desta LUN. No passado este tipo de disco era recomendado para máquinas virtuais que demandavam maiores requisitos de desempenho no acesso ao disco, porém com o Windows Server 2012 R2 este tipo de disco deve ser evitado pela dificuldade imposta nos processos de movimentação entre máquinas físicas.

A única justificativa que ainda é válida para esta opção é se o suporte a 64 TB não é suficiente para as necessidades ou você deseja compartilhar uma LUN via iSCSI, ou seja cenários muito particulares.

 

Quer saber como a virtualização de servidores pode ajudar sua organização, entre em contato conosco (62) 3945 7955.

A Infomach é fornecedora de soluções de segurança e alta disponibilidade para empresas e governos. Com mais de 10 anos de atuação de mercado tem sido responsável por atendimento de necessidades de algumas das mais importantes empresas de Goiás e do Brasil.