常水商会::よしなしごと::旧本店

新しい本店はこちら

 | 

2009-03-06

分割仮想ディスクを結合する(by vmware-vdiskmanager)

CentOS 5.2 on VMware Server - 常水商会::よしなしごと::旧本店

手に入れた環境が分割仮想ディスクだったので結合を試みました。

  • VMware Server 1.0.8に付属のツール『VMware Virtual Disk Manager(vmware-vdiskmanager.exe)』(build 126538)を使用。
  • 以下、特に記載ない場合はツールを引数なしで実行した際に表示されるヘルプから引用しました(日本語記載の箇所は拙訳)。
  • また、結合以外の機能は試していないのでご利用は慎重に。

参考ページ:@IT:複数のVMware仮想ディスクを1つに統合するには

ツールのありか

(VMwareサーバインストールされているパス)\VMware Server\vmware-vdiskmanager.exe

説明

Offline disk manipulation utility

オフラインのディスク操作ユーティリティ

書式

$> vmware-vdiskmanager.exe OPTIONS diskName | drive-letter:

オプション

日本語で記載のオプションが今回使用したオプションです。

-c                   : ディスク作成; need to specify other create options
-d                   : defragment the specified virtual disk
-k                   : shrink the specified virtual disk
-n <source-disk>     : rename the specified virtual disk; need to specify destination disk-name
-p                   : prepare the mounted virtual disk specified by the drive-letter for shrinking
-q                   : do not log messages
-r <source-disk>     : 特定の仮想ディスクに変換; need to specify destination disk-type
-x <new-capacity>    : expand the disk to the specified capacity

さらに仮想ディスク作成&変換に関する追加のオプションとして以下があります。

-a <adapter>      : (for use with -c only) adapter type (ide, buslogic or lsilogic)
-s <size>         : capacity of the virtual disk
-t <disk-type>    : ディスクタイプID
ディスクタイプID
0                 : 単一拡張可能(事前割当なし)な仮想ディスク
1                 : growable virtual disk split in 2Gb files
2                 : preallocated virtual disk
3                 : preallocated virtual disk split in 2Gb files
使用例
$> vmware-vdiskmanager.exe -c -s 850Mb -a ide -t 0 myIdeDisk.vmdk
  • 特定の仮想ディスク(myDisk.vmdk)をデフラグする※shrinkしないと仮想ディスクのファイルサイズは小さくなりません
$> vmware-vdiskmanager.exe -d myDisk.vmdk
  • 特定の仮想ディスク(sourceDisk.vmdk)を事前割当なし拡張可能な仮想ディスクに変換する※今回のはこれ
$> vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 0 destinationDisk.vmdk
  • 仮想ディスクの容量を36Gbに拡張する
$> vmware-vdiskmanager.exe -x 36Gb myDisk.vmdk
  • 仮想ディスクの名前を変更する
$> vmware-vdiskmanager.exe -n sourceName.vmdk destinationName.vmdk
  • 仮想ディスクをshrinkする。※データが入っていない領域を0クリアするので仮想ディスクのサイズが小さくなる
$> vmware-vdiskmanager.exe -k myDisk.vmdk
  • 仮想ディスクをshrinkのために特定のドライブレター(m)でマウントする
$> vmware-vdiskmanager.exe -p m

自分の分割仮想ディスクでの実行例

分割仮想ディスク一式
1,956,904,960 centos-5.2-i386-server-s001.vmdk
1,498,349,568 centos-5.2-i386-server-s002.vmdk
  928,710,656 centos-5.2-i386-server-s003.vmdk
1,784,086,528 centos-5.2-i386-server-s004.vmdk
       65,536 centos-5.2-i386-server-s005.vmdk
          580 centos-5.2-i386-server.vmdk ※分割仮想ディスク001〜005の記述が書いてあるテキストファイル。vmxはこのファイルを参照。
        1,192 centos-5.2-i386-server.vmx
実行結果
  • centos-5.2-i386-server.vmdk:結合前の仮想ディスク(の元締めテキストファイル)
  • centos-5.2-i386-server_new.vmdk:結合後の仮想ディスク(バイナリファイル)
$> vmware-vdiskmanager.exe -r centos-5.2-i386-server.vmdk -t 0 centos-5.2-i386-server_new.vmdk

Using log file C:\DOCUME~1\xxx\LOCALS~1\Temp\vmware-xxx\vdiskmanager.log
Creating a monolithic growable disk 'centos-5.2-i386-server_new.vmdk'
  Convert: 100% done.
Virtual disk conversion successful.

十数分程度時間がかかります。

生成物
6,155,010,048 centos-5.2-i386-server_new.vmdk

001〜005までの分割ディスクのサイズ合計値は6,168,117,248。

動作確認

新しく作成したフォルダに、生成物 centos-5.2-i386-server_new.vmdk と vmxファイルを放り込んで起動(vmdkファイルはvmxで指定しなおすなりリネームするなりお好きに)。動作確認。


ところで、結合すると何かいいことあるんだっけ?

通りすがり通りすがり 2009/06/01 01:29 > ところで、結合すると何かいいことあるんだっけ?

結合でいいことがあるってより、「分割」って機能がFAT32の「1ファイル2GB」っていう制限上でもVMwareを使えるようにするためにあるような気がしてなりません。
1ファイル2GBまでっていう制限のないファイルシステム上で管理するんであれば、分割しない方がなにかと便利だと思っています。

kiyotunekiyotune 2009/06/04 10:37 通りすがり 様
「ファイルサイズ制限」
そういえばそんな制限ありましたねえ・・・。NTFSを使って久しいのですっかり忘れてました。パーテーション制限っつーのもあったっけ。Windows 95や98を使ってた頃はやたらドライブが増えてたなー。
[Windowsのファイルシステム]
http://www.geocities.co.jp/SiliconValley-Oakland/7026/file/file.html

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/kiyotune/20090306/1236325565
 | 
Connection: close