VMDKハードドライブをVHD(仮想ハードドライブ)に変換することを検討しています。 VMDKはVMwareマシンのエクスポートからのものであり、それをAzureにインポートしてみます。
これがどのように達成されるか考えていますか?私は、2つのフォーマット間を移動するためにさまざまな小さなツールを試しましたが、今のところ役に立ちません。ほとんどのツールは、VMDKが何らかの方法で無効であると宣言しています。
Microsoft Virtual Machine Converter(MVMC)には、VMDKファイルをVHDファイルに変換するMicrosoft Virtual Disk Converterツール(MVDC.exe)が含まれています。
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
デフォルトでは、固定サイズのVHDが作成されます。これは、AzureVMにも必要です。
VHDに変換した後、Hyper-Vでローカルに起動し、動的IP用に構成されていること、RDPが有効になっていること、およびRDPを正常に取り込むことができることを確認することをお勧めします。次に、それをベースイメージとして使用する場合は、sysprepを使用して一般化する必要もあります。単一のAzureVMで使用する場合は、sysprepを実行せずに、イメージではなくディスクとしてアップロードします(Add-PersistentVMImageではなくCsupload Add-Disk)。
参照: http://www.windowsazure.com/en-us/manage/windows/common-tasks/upload-a-vhd/
.vmdkを.vhdkに変換するツールが更新されました。
Microsoft Virtual Machine Converter 2.0は、2014年4月頃にリリースされました。
ツールへのリンクは次のとおりです。 Microsoft Virtual Machine Converter 2.
新しいツールは、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
これが他の誰かに役立つことを願っています。
これにはVirtualBox(実際にはVirtualBoxとともにインストールされるCLI vboxmanage)を使用します。Hyper-Vと一緒にVirtualBoxをインストールしても問題はありませんでしたが、同時に実行することはできません。これは別のスレッドです。
とにかく昇格(管理者モード)での迅速な使用
cd %programfiles%\Oracle\VirtualBox
vboxmanage clonehd "C:\tmp\file.vmdk" "C:\tmp\file.vhd" -format VHD
注:7Zipを使用してOVAからVMDKを抽出できます。
@ElvisLivesと@AvkashChauhanによる回答は良いですが、PowerShellの使用を恐れていない人にとっては this は素晴らしい解決策です。
次に、管理者特権の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は不要です
Rkosegiによる tool 提案を使用しましたが、VMDKによってVHDに変換され、ローカルで使用できました。 「無効なvmdkファイル」エラーに関しては、このツールを使用している全員が同じエラーを報告するわけではないため、これはVMDKに固有である可能性があります。
Windows Azureで変換されたVMDKを使用した経験から、VMDKから変換されたすべてのVHDがWindows Azureで動作するとは限らないことがわかりました。 VHDをWindowsAzure統合コンポーネントとともにインストールし、Windows Azureに展開した後、報告された問題はほとんどありませんでした。
したがって、最高のエクスペリエンスを得るには、OS VHDネイティブを生成してから、WindowsAzureにデプロイするのが最適です。また、ネイティブVHDの作成を直接開始すると、期待どおりにWindowsAzureで実行されることが保証されます。