sábado, 1 de outubro de 2011

Virtualização: Disk2vhd e disco dinâmicos

Há uma suíte de utilitários, que foi criada por Mark Russinovich e Bryce Cogswell, que não pode faltar para profissionais de TI e desenvolvedores, que são os Sysinternals.

Um desses utilitários, o Disk2vhd, é usado para auxiliar processos de P2V (Physical to Virtual), gerando arquivos .vhd compatíveis com Hyper-V e Virtual PC. Inclusive pode ser executado mesmo com o sistema on-line, usando recursos de snapshot de volume presentes a partir do Windows Server 2003/Windows XP.

Posso dizer que o processo é muito rápido e eficiente, mas em uma ocasião, quando precisei efetuar em um servidor com mirror set, subentende-se discos dinâmicos no contexto, me deparei com um pequeno problema ao tentar montar (attach) os discos no meu sistema destino. O disco apareceu como inválido e ao tentar reativá-lo, retornou a seguinte mensagem:
This operation is not allowed on the invalid disk pack.
Vocês devem estar se perguntando, se eu queria virtualizar por que fui inventar de anexar o .vhd ao servidor? Foi uma oportunidade de expandir a partição e isso fica muito fácil usando o Gerenciador de Discos do Windows 2008 ou Windows 7, que permite alterar o tamanho de partições sem o uso de ferramentas de terceiros. Claro que primeiro eu expandi o Disco Virtual, com o Edit Disk do Hyper-V.

Voltando ao nosso assunto. Após algumas buscas no google, descobri que teria que editar o arquivo .vhd e manualmente alterar o tipo de partição.
Como fazer isso? Vou reportar o que eu fiz no meu caso:

  1. Mirror Set no servidor físico: Quebrei o espelho. Após isso realizei o processo com Disk2vhd.
  2. Fiz o download do HxD, que é um editor hexa de discos, imagens de disco e arquivos.
  3. Anexei o arquivo .vhd gerado pelo Disk2vhd através do Gerenciador de discos do Windows (Win7 ou Server 2008)
  4. Com o HxD, selecionei o disco que foi anexado para edição
  5. Procurei editar o setor 0x01C2, que possui o tipo de partição (mais informações). Devemos encontrar o valor 0x42 (Dynamic Disk Volume) para 0x07 (NTFS partition). Salve as alterações.
  6. Desanexe o disco e depois anexo-o novamente.
  7. Pronto, seu volume já deve estar disponível novamente para ser usado na sua máquina virtual
Aproveito e compartilho 2 links que me ajudaram a chegar até aqui: