HOME / 日記 / VirtualBoxのvdiファイルからzfsのzvolのrawイメージに変換

Date: 2009/05/05 |  このエントリーをはてなブックマークに追加  |  Tags: Solaris, OpenSolaris, Howto, 利用法

VirtualBoxのvdiファイルからzfsのzvolのrawイメージに変換

正直、いろんなツールを試してみたんですが、なぜかできてもうまく動かなかったり、そもそも途中でエラーが出て来ることが多く・・・。

意を決してVirtualBox上のゲストマシンで2台のHDD(1代がvdiファイル、2台目がrawイメージを携えたvmdk)をマウントして、V-COMのCopy Commanderというツールでコピー。別にこのツールじゃなくても良いんですが、前に間違ってかったのでライセンスがあるのです・・・。

結論を言うとできたんですが、偉い時間がかかりました。たった実データ15G未満なのに、なんと40時間ほど。Copy Commanderに純仮想化ドライバ系が一切入っていないので、理由はそれでしょうけれど。

とりあえず、ディスクサイズが全般的に減り、zfsでsnapshotをやりやすくなったので、まあよいことにするかな。

ちなみにvdiの場合snapshotの結果をcloneすると、vdiファイルの一意のIDがduplicateしてマウントできません。たぶん、vdiファイルのIDを直接書き換えればいいんでしょうけれど。

vmdk+rawだとvmdkがテキストファイルなので、一意のIDを手で書き換えることができるメリットがありますね。

せっかくなので、作業内容

rawディスクを作成。

pfexec zfs create -s -V 32G rpool/export/vm/WindowsXP/disk1

書き込み許可。これはもしかしたらブート時に毎回必要かも?

pfexec chmod a+rw /dev/zvol/rdsk/rpool/export/vm/WindowsXP/disk1

rawからvmdkの作成

/opt/VirtualBox/VBoxManage internalcommands createrawvmdk -filename `pwd`/WindowsXP-disk1.vmdk -rawdisk /dev/zvol/rdsk/rpool/export/vm/WindowsXP/disk1

あとは、上にしるしたとおり、2つのディスクをマウントし、cdromブートしておくだけです。

近況・・・

ちょっと時間に余裕がなくて、OpenSource系のアクティビティが下がっておりますが、近況を。

  • 4日からかみさんの実家に・・・。朝3時に起きて移動したら全く渋滞を回避することができました。
  • 今週は金曜まで首都圏にいますよ :)
  • 個人的には忙しくてOpenSolarisを全く弄ってないワケじゃなくてネタはあって実際やってるんですけど、情報公開するポストをする時間がないだけという・・・。

な!なるほど!

瀧 (2009-05-08 (金) 03:08:58)~~簡単なツールをPerlで作っておけば、嬉しい人がいるかも知れませんね!~ありがとうございます。~

vdiのID書き換え

kerolyn (2009-05-07 (木) 17:20:28)~~初めまして。いつも情報を参考にさせて頂いてます。~~$ dd if=vdiファイル名 of=UUIDファイル名 iseek=392 bs=1 count=16~としてUUIDを吸い上げます。~ghex2などのバイナリエディタでUUIDファイルをいいかげんに編集後、~$ dd if=UUIDファイル名 of=vdiファイル名 oseek=392 bs=1 count=16 conv=notrunc~として上書きすればOKでした。~


日記

Recent Updates