Преобразование VMDK в VHD

16816
Antoine Toulme

Я смотрю на преобразование жесткого диска VMDK в VHD (виртуальный жесткий диск). VMDK происходит от экспорта наших машин VMware, и я хочу попробовать импортировать его в Azure.

Есть идеи, как этого достичь? Я пробовал множество маленьких инструментов, чтобы попытаться переключиться между двумя форматами, но пока безрезультатно. Большинство инструментов объявляют VMDK недействительным в некотором роде.

7

5 ответов на вопрос

11
Craig

Конвертер виртуальных машин Microsoft (MVMC) включает в себя инструмент конвертации виртуальных дисков Microsoft (MVDC.exe), который преобразует файл VMDK в файл VHD.

http://www.microsoft.com/en-ca/download/details.aspx?id=42497

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. 

Например:

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 

По умолчанию он создает виртуальный жесткий диск фиксированного размера, что также требуется для виртуальных машин Azure.

После преобразования его в VHD рекомендуется загрузить его локально в Hyper-V, убедиться, что он настроен для динамического IP-адреса и что RDP включен, и вы можете успешно RDP в него. Затем, если вы хотите использовать его как базовый образ, вам также нужно обобщить его с помощью sysprep. Если вы хотите использовать его для одной виртуальной машины Azure, не запускайте sysprep, а загружайте его как диск, а не как образ (Csupload Add-Disk вместо Add-PersistentVMImage).

Смотрите также: http://www.windowsazure.com/en-us/manage/windows/common-tasks/upload-a-vhd/

Я попробую это снова. У меня также не установлен Hyper-V, действительно ли этот шаг необходим? Antoine Toulme 11 лет назад 0
5
ElvisLives

Произошло обновление инструмента для преобразования .vmdk в .vhdk.

Microsoft Virtual Machine Converter 2.0 был выпущен в апреле 2014 года.

Вот ссылка на инструмент: Microsoft Virtual Machine Converter 2.0

Новый инструмент меняет способ перехода от использования MVDC.exe к использованию командлета powershell.

Я следил за этим отличным блогом, чтобы понять это. Что нового в Microsoft Virtual Machine Converter 2.0

Вот подробное описание того, как это сделать.

Расположение по умолчанию:

C:\Program Files\Microsoft Virtual Machine Converter 

Используя powershell в качестве локального администратора, вы можете загрузить командлет:

Import-Module .\MvmcCmdlet.psd1 

После загрузки командлета вы можете вызвать следующее:

ConvertTo-MvmcVirtualHardDisk 

Это запросит путь к файлу .vmdk:

Введите значения для следующих параметров:

SourceLiteralPath: D:\some.vmdk 

Затем он запустит преобразование и поместит .vhdk по следующему пути после его преобразования:

C:\Program Files\Microsoft Virtual Machine Converter 

Я надеюсь, что это помогает кому-то еще.

Только что попробовал и получил ошибку: ConvertTo-MvmcVirtualHardDisk: запись f49019ba не является поддерживаемой записью дисковой базы данных для дескриптора. В строке: 1 символ: 1 + ConvertTo-MvmcVirtualHardDisk + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: WriteError: (Microsoft.Accel ... nversionService: D riveConversionService) [ConvertTo-MvmcVirtualHardDisk], VmdkDescriptorPars eException + FullyQualifiedErrorId: DiskConversion, Microsoft.Accelerators.Mvmc.Cmdle для ошибок. Antoine Toulme 9 лет назад 2
Исходя из ошибки, похоже, что с вашим источником .vmdk что-то не так. Я только что конвертировал 2 других .vmdks без проблем. Вот тот, который я только что преобразовал вчера, следуя этим инструкциям. https://bitnami.com/stack/ghost/virtual-machine ElvisLives 9 лет назад 0
Возможно, версия vmdk, которую мы используем, более старая и несовместимая. Я знаю, что это хорошо работает в VirtualBox и Fusion. Antoine Toulme 9 лет назад 0
Для тех, кто получает ту же ошибку, что и @AntoineToulme, ее можно устранить: tool: http: //members.ozemail.com.au/~nulifetv/freezip/freeware/dsfok.zip dsfo.exe "E: \ Win10Prev \ preview Windows 10 x64.vmdk "512 1024 descriptor.txt добавить # в строку: ddb.toolsInstallType =" 1 "dsfi.exe" E: \ Win10Prev \ preview Windows 10 x64.vmdk "512 1024 descriptor.txt user5389726598465 5 лет назад 0
4
FreeSoftwareServers

I use VirtualBox (actually the CLI vboxmanage, installed with VirtualBox) for this, I had no issues installing VirtualBox alongside Hyper-V, but you can't run them at the same time, thats another thread!

Anyway at an elevated (Admin mode) prompt use

cd %programfiles%\Oracle\VirtualBox vboxmanage clonehd "C:\tmp\file.vmdk" "C:\tmp\file.vhd" -format VHD 

Note, You can extract a VMDK from an OVA with 7zip!

0
AvkashChauhan

I have used the tool suggest by rkosegi and it did converted by VMDK to VHD and I could use locally. With regard to your "Invalid vmdk file" error, this could be specific to the VMDK you have as not everyone using this tool report same error.

Based on my experience on using converted VMDK on Windows azure, what I found is that not all VHDs which are converted from VMDK will work on Windows Azure. There were few problems reported after VHD was installed with Windows Azure Integrated components and deployed to Windows Azure.

So to get best experience, it would be best if you generate your OS VHD native and then deployed to Windows Azure. And if you start creating your native VHD directly, you will be sure that it will run on Windows Azure as expected.

Спасибо за помощь! Я посмотрел, но кажется, что невозможно создать виртуальный жесткий диск из vCenter. Вы случайно не знаете, как это будет сделано? 11 лет назад 0
Ссылка "инструмент" не работает. Tarnay Kálmán 10 лет назад 2
0
davejal

Ответы @ElvisLives и @AvkashChauhan хороши, но для тех, кто не боится использовать PowerShell, это отличное решение.

  1. Сначала вам нужно скачать и установить Microsoft Virtual Machine Converter 3.0 с веб-сайта Microsoft.
  2. Затем откройте командную строку PowerShell с повышенными привилегиями и выполните следующие команды (изменив пути в соответствии с исходным файлом VMDK и путем назначения нового файла VHD):

    -Import-Module 'C: \ Program Files \ Microsoft Virtual Machine Converter \ MvmcCmdlet.psd1'

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


При этом не нужно использовать RDP