Infra - Virtualização
Aumentando o tamanho de VHDs no Hyper-V R2
Neste artigo será exibido o método para aumentarmos o tamanho de um HD virtual (vhd) com o Hyper-V do Windows Server 2008 R2. Também será explicado como compactar e converter um arquivo vhd.
por Leandro CarvalhoTecnologias
Windows Server 2008 R2 Standard
Windows Server 2008 R2 Enterprise
Windows Server 2008 R2 Datacenter
Hyper-V Server 2008 R2
Sumário
Neste artigo será exibido o método para aumentarmos o tamanho de um HD virtual (vhd) com o Hyper-V do Windows Server 2008 R2. Também será explicado como compactar e converter um arquivo vhd.
Conteúdo
Introdução
Procedimento
Conclusão
Sobre o autor
Introdução
Quando planejamos o uso de capacidade em disco do servidor as vezes não pensamos num crescimento futuro ou no mal uso desse HD na hora da alocação de dados. Nos sentimos num beco sem saída quando nos deparamos com um disco cheio. Caso isto ocorra numa máquina virtual você verá que o processo para aumentar seu tamanho é bem simples, como descrito abaixo.
Procedimento
Abra o Hyper-V Manager em Start>Administrative Tools>Hyper-V Manager. Clique em Ok na mensagem do User Account Control para elevar suas credenciais como administrador.
Clique na opção Edit Disk no lado direito da tela, conforme figura 1.
Figura
1 – Opção de edição de discos virtuais.
Na tela de boas vindas clique em Next e logo após escolha o caminho do arquivo do HD virtual que você deseja aumentar e clique em Next novamente.
Vale lembrar que a máquina virtual que está usando o HD não pode estar ligada e nem no status Saved. Também não é aconselhável que seja feito este procedimento em máquinas que tenham snapshots. Os mesmos não estarão disponíveis depois do procedimento.
Figura
2 – Caminho do VHD
Na tela Choose Action escolha a opção Expand e clique em next.
Para explicar as outras duas opções, é interessante entendermos os dois tipos de discos: Dinamicos e Fixos.
O Disco dinâmico é um arquivo vhd pequeno, de 2 MB, que aumenta com a quantidade de dados conforme ela é adicionada no vhd, interessante em ambientes de testes ou quando não há muito espaço em disco na máquina física.
Já o disco fixo é um arquivo vhd que é criado com o mesmo espaço físico que o disco virtual, reservando seu uso na máquina física somente a VM. Por exemplo, se você criar um disco virtual de 50 GB, o arquivo ocupará 50 GB no disco físico. O disco fixo seria a melhor opção, pois proporciona uma performance maior para a VM comparado com o dinâmico.
A opção Convert converte um vhd dinâmico em um disco fixo. Em caso de máquinas que precisem de muito I/O de disco.
A opção Compact diminui o tamanho do arquivo vhd quando um grande número de dados são excluidos do HD dinâmico.
Figura
3 – Opção para aumentar o tamanho do disco virtual
Escolha o novo tamanho do disco virtual e clique em Next. No exemplo usado o vhd que tinha 20 GB será aumentado para 40 GB.
Figura
4 – Novo tamanho do disco virtual
Confirme as opções escolhidas e clique em Finish. Após isso você já pode ligar a máquina virtual. No gerenciamento do disco aparecerá um espaço não alocado do tamanho que você aumentou. Daí é só criar novas partições ou extender com a partição existente. Caso você precise extender uma partição que esteja sendo usada como volume de boot ou de sistema, só será possível fazer isto à partir do Windows Vista e Windows Server 2008.
Figura
5 – Confirmação
É possível usar o script abaixo do powershell se você precisar automatizar este processo. É só copiar o conteúdo abaixo em um arquivo texto com a extensão .ps1:
---------------------------------------------------------------------------------------
# Expandindo um VHD
param(
[string]$vhdPath = $(throw "D:\Dados.vhd"),
[string]$vhdSize = $(throw "2000")
)
# Tamanho em bytes
$MB = [System.UInt64] $vhdSize*1024*1024
#Obtendo a classe Msvm_ImageManagementService
$ImageMgtService =
get-wmiobject -class
"Msvm_ImageManagementService" -namespace
"root\virtualization"
# Criando o vhd dinâmico
$result = $ImageMgtService.ExpandVirtualHardDisk($vhdPath,$MB)
if($result.ReturnValue -eq 4096){
$job = [wmi]$result.Job
# esperando o job ser completado
while($job.jobstate -lt 7){$job.get()}
# Retornando o erro do job caso exista
return $job.ErrorCode
}
# conclusão com sucesso do processo
return $result.ReturnValue
---------------------------------------------------------------------------------------
A primeira linha em vermelho mostra o caminho do arquivo vhd e a segunda o tamanho que você deseja aumentar (em MB).
Conclusão
Este artigo explicou como aumentar, converter e compactar um vhd do Hyper-V 2008 R2, ajudando a gerenciar, economizar e fazer o provisionamento de discos de uma forma mais amigável.
- Instalando o VMware ESXi 5Virtualização
- O que é o Citrix EdgeSight ServerVirtualização
- Impacto da indisponibilidade de software na eficiência das empresasVirtualização
- Arquitetura para Ambientes com Windows Server 2008 Hyper-V – Parte 3Virtualização
- Você gosta de compartilhar conhecimento?Virtualização