7

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

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

5 ответов5

11

Конвертер виртуальных машин 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/

5

Произошло обновление инструмента для преобразования .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

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

4

Для этого я использую VirtualBox (фактически CLI vboxmanage, установленный вместе с VirtualBox), у меня не было проблем с установкой VirtualBox вместе с Hyper-V, но вы не можете запускать их одновременно, это другой поток!

В любом случае при повышенном (режим администратора) быстром использовании

cd %programfiles%\Oracle\VirtualBox

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

Обратите внимание, вы можете извлечь VMDK из OVA с 7zip!

0

Ответы @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

0

Я использовал инструмент, предложенный rkosegi, и он был преобразован VMDK в VHD, и я мог использовать его локально. Что касается вашей ошибки "Invalid vmdk file", это может относиться к VMDK, который есть у вас, поскольку не все, использующие этот инструмент, сообщают об одной и той же ошибке.

Основываясь на моем опыте использования преобразованного VMDK в Windows Azure, я обнаружил, что не все виртуальные жесткие диски, преобразованные из VMDK, будут работать в Windows Azure. Сообщалось о нескольких проблемах после установки VHD с интегрированными компонентами Windows Azure и развертывания в Windows Azure.

Поэтому, чтобы получить лучший опыт, было бы лучше, если бы вы создали собственный виртуальный жесткий диск ОС и затем развернули его в Windows Azure. И если вы начнете создавать свой собственный виртуальный жесткий диск напрямую, вы будете уверены, что он будет работать в Windows Azure, как и ожидалось.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .