Convertendo um VMDK para VHD

7

Eu estou olhando para transformar um disco rígido VMDK em um VHD (disco rígido virtual). O VMDK vem de uma exportação de nossas máquinas VMware e eu quero tentar importá-lo para o Azure.

Alguma ideia de como isso seria alcançado? Eu tentei uma variedade de pequenas ferramentas para tentar mover entre os dois formatos, sem sucesso até agora. A maioria das ferramentas declara a VMDK inválida de alguma forma.

    
por Antoine Toulme 03.10.2012 / 17:47

5 respostas

11

O Microsoft Virtual Machine Converter (MVMC) inclui a ferramenta Microsoft Virtual Disk Converter (MVDC.exe) que converte um arquivo VMDK em um arquivo VHD.

link

MVDC SrcDisk  DstDisk  [/?]  [/Dyn]

SrcDisk  Specifies the source VMDK disk path to be converted.
DstDisk  Specifies the path for the converted disk.
[/?]     Show Help
[/Dyn]   Indicates the destination disk should be dynamic rather than fixed.

Por exemplo:

C:\Program Files (x86)\Microsoft Virtual Machine Converter Solution Accelerator>mvdc "D:\VM\Windows Server 2008 R2 x64\Windows Server 2008 R2 x64.vmdk" "D:\VM\Windows Server 2008 R2 x64\Windows Server 2008 R2 x64.vhd"
Step 1 of 3: Loading Source Disk...
Step 1 of 3: Loading Source Disk Completed.
Source file found of size 40.0 GB.
DiskGeometry:
   Cylinders:        5221
   Tracks/Cylinder:  255
   Sectors/Track:    63
   Bytes/Sector:     512
   MediaType:        FixedMedia
Step 2 of 3: Creating Destination Disk...
Step 2 of 3: Creating Destination Disk Completed.
Destination file created of size 40.0 GB.
DiskGeometry:
   Cylinders:        5221
   Tracks/Cylinder:  255
   Sectors/Track:    63
   Bytes/Sector:     512
   MediaType:        FixedMedia
Step 3 of 3: Copying raw data...
Step 3 of 3: Copying raw data completed.
Conversion Complete!  The converted file is located at: D:\VM\Windows Server 2008 R2 x64\Windows Server 2008 R2 x64.vhd

Por padrão, ele cria um VHD de tamanho fixo, que também é necessário para as VMs do Azure.

Depois de convertê-lo para VHD, é recomendável inicializá-lo localmente no Hyper-V, verifique se ele está configurado para um IP dinâmico e se o RDP está habilitado e você poderá RDP com êxito nele. Então, se você quiser usá-lo como uma imagem de base, você também precisará generalizá-lo com o sysprep. Se você quiser usá-lo para uma única VM do Azure, não execute o sysprep, mas carregue-o como um disco em vez de uma imagem (Csupload Add-Disk em vez de Add-PersistentVMImage).

Veja também: link

    
por 07.12.2012 / 00:25
5

Houve uma atualização na ferramenta para converter um .vmdk em um .vhdk.

O Microsoft Virtual Machine Converter 2.0 foi lançado em abril de 2014.

Este é o link para a ferramenta: Microsoft Virtual Machine Converter 2.0

A nova ferramenta altera a maneira de converter o MVDC.exe em um cmdlet do powershell.

Eu segui este excelente blog para descobrir isso. O que há de novo no Microsoft Virtual Machine Converter 2.0

Aqui está um resumo detalhado de como fazer isso.

A localização de instalação padrão é:

C:\Program Files\Microsoft Virtual Machine Converter

Usando o powershell como administrador local, você pode carregar o cmdlet:

Import-Module .\MvmcCmdlet.psd1

Depois que o cmdlet é carregado, você pode chamar o seguinte:

ConvertTo-MvmcVirtualHardDisk

Isso pedirá o caminho do arquivo .vmdk:

Forneça valores para os seguintes parâmetros:

SourceLiteralPath: D:\some.vmdk

Em seguida, ele iniciará a conversão e colocará o .vhdk no caminho a seguir após sua conversão:

C:\Program Files\Microsoft Virtual Machine Converter

Espero que isso ajude alguém.

    
por 22.07.2014 / 21:44
4

Eu uso o VirtualBox (na verdade o gerenciador de caixa de ferramentas CLI, instalado com o VirtualBox) para isso, eu não tive problemas para instalar o VirtualBox ao lado do Hyper-V, mas você não pode executá-los ao mesmo tempo!

De qualquer forma, em um prompt elevado (modo Admin), use

cd %programfiles%\Oracle\VirtualBox

vboxmanage clonehd "C:\tmp\file.vmdk" "C:\tmp\file.vhd" -format VHD

Nota: Você pode extrair um VMDK de um OVA com 7zip!

    
por 01.10.2015 / 08:03
0

Eu usei a ferramenta sugiro por rkosegi e ele converteu por VMDK para VHD e eu poderia usar localmente. Em relação ao seu erro "Arquivo vmdk inválido", isso pode ser específico para o VMDK que você tem, já que nem todos que usam esta ferramenta relatam o mesmo erro.

Com base na minha experiência no uso de VMDK convertido no Windows azure, descobri que nem todos os VHDs convertidos do VMDK funcionarão no Windows Azure. Poucos problemas foram relatados depois que o VHD foi instalado com os componentes do Windows Azure Integrated e implantados no Windows Azure.

Portanto, para obter a melhor experiência, seria melhor se você gerasse seu nativo do VHD do sistema operacional e implantasse no Windows Azure. E se você começar a criar seu VHD nativo diretamente, você terá certeza de que ele será executado no Windows Azure como esperado.

    
por 03.10.2012 / 20:03
0

As respostas de @ElvisLives e @AvkashChauhan são boas, mas para aqueles que não têm medo de usar o powershell isso é uma ótima solução.

  1. Primeiro, você precisará fazer o download e instalar o Microsoft Virtual Machine Converter 3.0 do site da Microsoft.
  2. Em seguida, abra um prompt elevado do PowerShell e execute esses comandos (alterando os caminhos para corresponder ao arquivo VMDK de origem e ao caminho de destino do novo arquivo VHD):

    -Import-Module ‘C: \ Arquivos de programas \ Microsoft Virtual Machine Converter \ MvmcCmdlet.psd1’

    -ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C: \ Ubuntu-disk1.vmdk" -DestinationLiteralPath "C: \ Ubuntu-disk1.vhd" -VhdType FixedHardDisk -VhdFormat Vhd

Ao fazer assim, não há necessidade de RDP

    
por 28.10.2016 / 16:44

Tags