«前の日記(2014年01月10日 (金)) 最新 次の日記(2014年01月12日 (日))» 編集

ゆいどっと


2014年01月11日 (土) [長年日記]

_ 旧サーバのHDD吸い出し

こないだ撤去した旧サーバ.たぶんもう起動することはないだろうけど,念のためHDDの中身をすべてイメージで保存することにした.全部イメージ化しておけば,あとで何か中のファイルが必要になってもVMで取り出せるだろう.

イメージ化のためには,少なくとも同じ容量の空きドライブが必要になる.そんなにでかい空き容量のHDDはメインPCにしかなかったので,旧サーバからHDDを引っこ抜き,USB接続でメインPCにつないだ.そしてメインPC内の仮想VM上のlinuxで,ddとqemu-imgでvmdkファイルまで作った.また,このままでは元のHDDと同じサイズのでかいイメージファイルになる.実際に使っているのはせいぜい数GB.ところが,なぜかvmware-toolbox-cmdでのdisk shrinkがエラーになった.そこでググってみたところ,/dev/zeroを使い,空き領域いっぱいに中身がゼロでうまったファイルを作り,それを消してからvmdkを圧縮するという,なるほど目からウロコ的な方法を見つけた.ということでうまくコンパクトにHDDをイメージ化できた.

いちおう手順のメモを残しとこう(パスやファイル名は適宜読み替える).

1.USB接続したディスクのデバイスを調べる

fdisk -l

2.イメージをrawで抜き出し

dd if=/dev/sd??? of=HDDimage.img

3.rawイメージをvmdk形式に

qemu-img convert -f raw HDDimage.img -O vmdk HDDimage.vmdk

4.いったんVMを終了して,できたHDDimage.vmdkをホスト側にコピー,仮想VM用の別ディスクとしてマウント

fdisk -l
mount /dev/sd??? /tekitou

5.そのパーティションいっぱいにファイルを作る.ディスクフルになれば適当に止まる

dd if=/dev/zero of=/tekitou/zero

6.できたファイルを消す

rm /tekitou/zero

7.VMを終了し,VMwareのホストでディスク圧縮