
無料の VMware Player を使用して Windows Server 2008 システムのイメージを作成し、ハード ドライブの最大サイズを 100 GB に設定しました。その後、そのイメージ ファイル (当時は 30 GB) をサーバー ホスティング会社に渡しました。数週間後、そのコピーを返して欲しいと依頼したところ、イメージのサイズはあまり変わっていないはずでしたが、返ってきたファイルは 100 GB のままでした。
私は VMware の専門家ではないので、2 つの質問があります。
- ダイナミック ディスク全体をどのようにして、またなぜ拡張したのでしょうか?
- この画像を、実際にデータが含まれるサイズまで何とか縮小する方法はありますか?
VMware コンバーターを試してみましたが、イメージ (vmdk) ファイルを読み取ることができないようで、一般的なエラーが出力されるだけです。
答え1
私の推測では、イメージから VM を作成するときに、イメージのフルサイズを事前に割り当てた (これによりパフォーマンスが向上する可能性があります) と考えられます。エクスポートすると、フルイメージが取得されます。
VMware プレーヤーでイメージを縮小できるとは思えません。VMware Workstation には vmware-vdiskmanager が付属しており、固定サイズのディスクを拡張可能なディスクに変換してイメージのサイズを縮小できるようです。私はこれを試したことがないので、どの程度うまく機能するかはわかりません。
マニュアルはここにあります:http://www.vmware.com/support/developer/vddk/vddk12_diskmanager.pdf
答え2
VMWare Player についてはわかりませんが、VMWare Workstation には vmware-vdiskmanager.exe コマンド ライン ユーティリティが付属しています。C:\Program Files\VMware\VMware Workstation フォルダーにあります。
コマンドラインオプションは次のとおりです。
VMware Virtual Disk Manager - build 385536.
Usage: vmware-vdiskmanager.exe OPTIONS <disk-name> | <mount-point>
Offline disk manipulation utility
Operations, only one may be specified at a time:
-c : create disk. Additional creation options must
be specified. Only local virtual disks can be
created.
-d : defragment the specified virtual disk. Only
local virtual disks may be defragmented.
-k : shrink the specified virtual disk. Only local
virtual disks may be shrunk.
-n <source-disk> : rename the specified virtual disk; need to
specify destination disk-name. Only local virtual
disks may be renamed.
-p : prepare the mounted virtual disk specified by
the mount point for shrinking.
-r <source-disk> : convert the specified disk; need to specify
destination disk-type. For local destination disks
the disk type must be specified.
-x <new-capacity> : expand the disk to the specified capacity. Only
local virtual disks may be expanded.
-R : check a sparse virtual disk for consistency and attempt
to repair any errors.
-D : make disk deletable. This should only be used on disks
that have been copied from another product.
Other Options:
-q : do not log messages
Additional options for create and convert:
-a <adapter> : (for use with -c only) adapter type
(ide, buslogic, lsilogic). Pass lsilogic for other adapter types.
-s <size> : capacity of the virtual disk
-t <disk-type> : disk type id
Options for remote disks:
-h <hostname> : hostname of remote server
-u <username> : username for remote server
-f <filename> : file containing password
-P <port> : optional TCP port number (default: 902)
-S : specifies that the source disk is remote, by default
the remote options are assumed to refer to the
destination.
Disk types:
0 : single growable virtual disk
1 : growable virtual disk split in 2GB files
2 : preallocated virtual disk
3 : preallocated virtual disk split in 2GB files
4 : preallocated ESX-type virtual disk
5 : compressed disk optimized for streaming
6 : thin provisioned virtual disk - ESX 3.x and above
The capacity can be specified in sectors, KB, MB or GB.
The acceptable ranges:
ide adapter : [1MB, 2040.0GB]
scsi adapter: [1MB, 2040.0GB]
ex 1: vmware-vdiskmanager.exe -c -s 850MB -a ide -t 0 myIdeDisk.vmdk
ex 2: vmware-vdiskmanager.exe -d myDisk.vmdk
ex 3: vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 0 destinationDisk.vmdk
ex 4: vmware-vdiskmanager.exe -x 36GB myDisk.vmdk
ex 5: vmware-vdiskmanager.exe -n sourceName.vmdk destinationName.vmdk
ex 6: vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 4 -h esx-name.mycompany.com \
-u username -f passwordfile "[storage1]/path/to/targetDisk.vmdk"
ex 7: vmware-vdiskmanager.exe -k myDisk.vmdk
ex 8: vmware-vdiskmanager.exe -p <mount-point>
(A virtual disk first needs to be mounted at <mount-point>)
VMWare Workstation の無料トライアルを入手できます。
答え3
仮想ディスクの縮小には通常、次の 2 つのフェーズがあります。
- 拭きます。 これにより、ゲスト ファイル システムの未使用ブロックがゼロになります。 これはゲスト内で実行する必要があります。
- 圧縮。 これにより、.vmdk ファイルのゼロ化されたブロックが消去フェーズから削除されます。 これはホストによって実行される必要があります(ただし、ゲストによってトリガーされる可能性もあります)。
vmware-vdiskmanager
ホスト上で実行すると、圧縮フェーズは実行できますが、ワイプ フェーズは実行できません。ワイプを実行するには、いくつかの方法があります。
を実行します
vmware-toolbox-cmd disk shrink LOCATION
。vmware-toolbox-cmd help disk
詳細については、 を実行してください。(vmware-toolbox-cmd
は Windows ゲストで名前が付けられますVMwareToolboxCmd
。) これにより、ワイプが完了すると、圧縮段階がトリガーされます。プログラム
vmshrink
はVM バックサードパーティツールパッケージこれは、VMware Tools が利用できないゲストにとって良い代替手段となります。これにより、ワイプが完了すると圧縮段階も開始されます。おそらく
dd
ゲストでは (または同等のもの) を使用できますが、これは読者の課題として残しておきます。
ワイピング フェーズが不要な状況もあります。たとえば、ゲストがファイル システムからファイルを削除するときにファイルの内容をすでにゼロにしている場合や、ゲストが Windows の場合、VMware Workstation は NTFS ゲスト パーティションを検査して未使用のブロックを判別する方法を独自に認識しています。