■vmware-mountコマンド
VMwareのVMDK ( Virtual Machine Disk Format ) ファイルをマウントするにはvmware-mountコマンドを使用します。vmware-mountコマンドユーザ空間でファイルシステムを実装するFUSE ( Filesystem in UserSpace ) という機構を利用しているため一般ユーザの権限でマウントできます。但し、ゲストOSがオフにされていることが利用前提です。
vmware-mountコマンドはVMware Virtual Disk Developement Kitに含まれておりこれをダウンロードしてインストールする必要があります。ダウンロードサイトは以下です。
https://my.vmware.com/group/vmware/get-download?downloadGroup=VSP510-VDDK-510
VMware-vix-disklib-5.1.0-774844.i386.tar.gzというファイルをダウンロードし次のコマンドでインストールを実施します。
# tar xvzf VMware-vix-disklib-5.1.0-774844.i386.tar.gz # cd vmware-vix-disklib-distrib/ # ./vmware-install.pl |
ライセンスが表示されてAcceptするか聞かれますのでyesと応えます。デフォルトでは/usr配下にインストールされます。マウントを実施するにはVMDKファイルのパスとマウントしたいパーティション番号、マウントポイントを指定してvmware-mountを実行すればOKです。
# vmware-mount /nfs2/Linux/Linux.vmdk 1 /mnt # ls /mnt System.map-2.6.32-279.el6.x86_64 initramfs-2.6.32-279.el6.x86_64.img config-2.6.32-279.el6.x86_64 lost+found efi symvers-2.6.32-279.el6.x86_64.gz grub vmlinuz-2.6.32-279.el6.x86_64 |
-Lオプションを指定してvmware-mountを実行するとマウント中のVMDKファイルを確認できます。
# vmware-mount -L Disks with mounted partitions: /nfs2/Linux/Linux.vmdk |
アンマウントするには-dオプションとマウントポイントを指定します。
# vmware-mount -d /mnt # vmware-mount -L No mounted disks. |
これらをうまく利用すれば仮想OSのファイルの中身のバックアップもrsyncなどで実施することが可能であり、それなりに使えそうな技術であります。但し、私の環境ではvmware-mountはCentOSにインストールしLinuxのVMDKファイルをマウントすることには成功しましたがWindowsのVMDKファイルには失敗しました。マウントする側とされる側のOSは一致していないとマウントできない可能性が高いのでその点注意してください。