Diferenças e melhorias nos discos virtuais do Hyper-V R2

A Microsoft vem usando discos virtuais (VHDs) desde 2003 em sua primeira versão de software de virtualização e até hoje continua utilizando em vários outros recursos. O VHD é um encapsulador que contém uma imagem de disco rígido que possui uma flexível maneira de armazenar dados em um simples formato de arquivo. Para ter noção dos benefícios que podem ser abstraídos dos VHDs, desde o Windows 2008 o arquivo de backup usam a extensão VHD, a partir do Windows 7 e do Windows 2008 R2 é possível iniciar um sistema operacional físico baseado em um VHD e também é possível criar e gerenciar VHDs usando o gerenciamento de discos e a linha de comando diskpart.

O Windows Server 2008 R2 trouxe interessantes novidades relacionadas à virtualização e uma delas foram as melhorias feitas na arquitetura dos discos virtuais. Antes de entrarmos em detalhes sobre elas veremos na tabela abaixo os quatro tipos de discos e as respectivas instruções de uso de cada um deles.

Tipo de VHD

Recursos

Instruções de uso

Disco dinâmico

O arquivo começa com alguns kbs e cresce apenas quando os dados são adicionados alocando-os em blocos. O arquivo é limitado de acordo com as configurações dadas durante a criação do disco. Tem aproximadamente 10% a 15% menos performance que um disco fixo

As melhorias existentes na versão R2 faz com que esta opção se torne viável para ser usada em alguns cenários de produção. A capacidade de armazenamento do host e a fragmentação podem ser um risco.

Disco fixo

Cria um arquivo dedicado que não muda de acordo com o conteúdo que é adicionado. Isso garante mais performance comparando-o com o disco dinâmico.

Usado em servidores em produção aonde a performance e a disponibilidade seja importante

Disco Diferencial

Registra apenas as alterações feitas e tem um arquivo VHD usado como base. Possibilita versionamento flexível, mas geralmente tem um VHD base configurado como dinâmico, que faz com que a performance não seja tão boa

Usado em ambientes testes e de desenvolvimento, pois não consome muito espaço em disco uma vez que o disco base seja usado para várias máquinas virtuais.

Disco Pass-Through

A máquina virtual tem acesso direto ao disco com acesso exclusivo possibilitando o maior nível de performance entre os tipos de VHDs.

Usado em produção onde performance é a prioridade máxima, mas não suporta snapshots, fazendo que não seja tão flexível para reverter alguma configuração que foi feita.

 

clip_image001

clip_image002

clip_image003

Os discos fíxos e Pass-Through são os mais recomendados para serem usados em ambientes em produção que precisam de alta performance, mas comparado com o Windows 2008 o disco dinâmico teve grandes melhorias de velocidade, sendo possível seu uso em ambientes de produção que não precisam de muito I/O de disco como Domain Controllers, Web Servers, DHCP Servers, dentre outros.

Hoje é normal vermos projetos e servidores de alta capacidade como Exchange Servers e SQL Servers sendo usados em produção com o Hyper-V R2. Quase todos os novos produtos que são lançados no mercado estão sendo testados e homologados em ambientes críticos usando a virtualização e os benefícios que o R2 oferecem.

Na próxima tabela fica evidente todas as melhorias desde o 2008 até a versão R2 como velocidade, tamanho de blocos e funcionalidades como o adicionamento a quente de HDs virtuais.

 

Recursos de Virtualizacão

WS08 + RTM Hyper-V

WS08 SP2 Hyper-V

Windows Server 2008 R2 Hyper-V

Performance de VHD dinâmico

A escrita é 3x mais lenta que o fixo. Isso ocorre por causa da limitação de cache de meta data

A escrita é 3x mais lenta que o fixo. Isso ocorre por causa da limitação de cache de meta data

Disco Dinamico e Fixo tem a performance com quase a mesma paridade

Diff Disk Scaling Performance

1x

1x

4x – 5x

Tamanho de IO (Virtual SCSI)

64KB

64KB

8MBytes

(melhoramento de throughput)

Tamanho de IO (Virtual IDE – Sem alteração)

64KB

64KB

64KB

Tamanho de blocos nos VHDs

512KB

512KB

2MB

Velocidade de criação de disco Fixo

1x

1x

3x – 4x

Hot add de storage

Não

Não

Sim

SCSI Command Pass-through

Não

Não

Sim

O tamanho de Imput/Output (IO) usados nos discos virtuais SCSI faz com que o sistema utilize e distribua melhor os dados em blocos maiores, garantindo maior performance, mesmo em grandes ambientes de armazenamento.

Vale ressaltar que o tamanho máximo para arquivos VHD são 2 Terabytes.

clip_image005

Outra grande melhoria foi a velocidade de criação dos VHDs no Windows Server 2008 R2. Em alguns casos a demora do 2008 era perceptível, mas observando o próximo gráfico fica claro a diferença de velocidade, mesmo em discos grandes.

clip_image007

Nos próximos dois gráficos podemos ver a diferença de performance entre os discos dinâmicos do Windows Server 2008 e o Windows Server 2008 R2 em ambientes de produção. No primeiro exemplo foi usado um processamento de workload em uma transação online.

clip_image009

No segundo exemplo foi usado um Web Server onde podemos ver que a latência do disco diferencial do Windows Server 2008 é muito maior que o R2.

clip_image011

É importante verificarmos todas as variáveis, recursos que cada tipo de VHD apresenta e suas diferenças entre o Windows 2008 e o Windows 2008 R2 na hora de planejarmos nossos sistemas virtuais. Fica muito mais fácil identificarmos cada necessidade dos servidores de acordo com os VHDs e suas opções. A compra do armazenamento (storages) também é muito decisivo. Não se preocupe somente com o tamanho, como geralmente é feito, mas também com a velocidade de acesso aos discos. Na maioria dos casos esse detalhe é muito mais importante que a capacidade.

Referencias: http://blogs.technet.com/b/puneetvig

VHD Performance Writepaper: http://download.microsoft.com/download/0/7/7/0778C0BB-5281-4390-92CD-EC138A18F2F9/WS08_R2_VHD_Performance_WhitePaper.docx

One thought on “Diferenças e melhorias nos discos virtuais do Hyper-V R2”

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>