Ontem em um cliente usei o meu servidor para as Demos de System Center e ele se interessou quando disse que utilizava o recurso Deduplication (ou Dedup) do Windows Server 2012 R2. Consequentemente, a reunião migrou do System Center para otimização de discos com o Hyper-V.
Afinal de contas, o ganho com Dedup em VHDs é impressionante, chegando no meu caso a quase 80% de espaço adicional:
Importante: Primeiro ponto nessa conversa é deixar claro que a Microsoft não suporta Dedup para Hyper-V em hosts de Hyper-V para VMs em produção. O motivo é explicado no TechNet http://technet.microsoft.com/en-us/library/hh831700.aspx, e basicamente é porque Dedup em ambiente onde os arquivos estão abertos pode gerar diversos erros:
“Deduplication of open files has not been fully validated for general virtualization or other applications, and additional issues may be encountered.”
Porem, surgem sempre duas perguntas neste caso:
Pergunta 1: Mas o Dedup do Windows 2012 R2 pelo PowerShell tem o modo “Files” e o modo “Hyper-V”, como não é suportado?
Resposta: Para Hyper-V só é suportado para ambiente VDI, onde as maquinas são de usuário com SO cliente. Como em geral ambientes de VDI utilizam o modo de pool e uma única VM é duplicada a cada nova seção, se 100 usuário estão online teríamos 100 VHDs sendo criados dinamicamente com dados duplicados.
Neste caso fica evidente que o uso do Dedup será suportado, uma vez que os VHDs são dinamicos e não estão o tempo todo em uso. Alem disso em geral são utilizados discos diferenciais, mantendo o disco parent imutável.
Pergunta 2: Se não é suportado, porque eu estou usando? ;-)
Resposta: Não é suportado, mas no meu caso não é ambiente de produção e utilizo Dedup manual:
Não mantenho meu servidor 24 horas por dia ligado, então quando todas as VMs estão paradas, normalmente faço isso semanalmente, inicio o Job do Dedup com o comando:
Start-DedupJob -Type Optimization -Volume X:
Depois basta monitorar se o Job já terminou com Get-DedupJob:
Assim, meus arquivos VHD não correm o risco de serem manipulados enquanto estão em uso e garanto que periodicamente está sendo atualizado o Dedup.
Porem, é sempre bom lembrar que para não ter problemas o ideal é ter um disco ou volume separado para os VHDs, pois na configuração do Dedup este volume estará configurado como VDI (ou Hyper-V no PowerShell):