仮想ディスクの圧縮

閲覧数: 197(1)

Windows上のVMware Playerなら、設定メニューからディスク圧縮が選べるけど、OSX上のFusionではそんなメニューが見つからない、次のコマンドでやる

vmware-vdiskmanager -d 対象vmのvmdkファイル (defragの場合)
vmware-vdiskmanager -k 対象vmのvmdkファイル (shrinkの場合)

割と面倒(笑)

もちろん、ゲストOS側で空き領域はゼロクリアしておく前提
ボリュームがルートのみなら、

dd if=/dev/zero of=/zero bs=4k; \rm /zero

この前やってみたら、30GBが18.6GBまで縮小できた。テスト用に使っている環境の話。
毎回、手でコマンドを打つのは面倒なので、こんなスクリプトにしてみました。

#!/bin/sh

VMDKMAN="/Applications/VMware Fusion.app/Contents/Library"
VMDIR="/Users/atanabe/Virtual Machines.localized"

case "$1" in
    ec2)
        "$VMDKMAN"/vmware-vdiskmanager -d "$VMDIR"/linux-ec2.vmwarevm/linux-ec2.vmdk
        if [ $? = 0 ]; then
            "$VMDKMAN"/vmware-vdiskmanager -k "$VMDIR"/linux-ec2.vmwarevm/linux-ec2.vmdk
        else exit
        fi
        ;;
    nc2)
        "$VMDKMAN"/vmware-vdiskmanager -d "$VMDIR"/linux-nc2.vmwarevm/linux-nc2.vmdk
        if [ $? = 0 ]; then
            "$VMDKMAN"/vmware-vdiskmanager -k "$VMDIR"/linux-nc2.vmwarevm/linux-nc2.vmdk
        else exit
        fi
        ;;
    c10)
        "$VMDKMAN"/vmware-vdiskmanager -d "$VMDIR"/linux-c10.vmwarevm/linux-c10.vmdk
        if [ $? = 0 ]; then
            "$VMDKMAN"/vmware-vdiskmanager -k "$VMDIR"/linux-c10.vmwarevm/linux-c10.vmdk
        else exit
        fi
        ;;
    *)
    echo $"Usage: $0 {ec2|nc2|c10}"
    RETVAL=1
    exit $RETVAL
esac

もう今ではec2しか使っていませんが、過去に作ったVM資産である、nc2とc10も指定可能としています。実体はアーカイブ上にしか存在しませんけどね。Just in case.

【最終更新日: 2016年5月26日】
カテゴリーIT閑話, 公開タグ,
関連記事
時刻同期
2017年10月10日

VMware Fusion上のゲストOSであるCentOS6がCentOS7(今回訳あってダウングレ  続きを読む

.bash_profileの設定
blank
2015年5月26日

Mac OSXのbash設定 /etc/bash_profileとbashrcは全ユーザーに関連する  続きを読む

マイナーチェンジ
blank
2020年3月23日

かれこれ一年近くほったらかしだったので、気合をいれて「テーマ変更」と思っていたのですが、、、いろいろ  続きを読む

欧州出張番外編
blank
2020年3月5日

欧州出張も後半が終わりバルセロナに戻ってきました。ここからは番外編です。マドリッドを経由してレオンへ  続きを読む

欧州出張ミュン編
blank
2020年2月27日

正しくは「欧州出張ミュンヘン編」だけど長くなるので「ミュン編」、、、中学生か(笑)。。。ミュンヘンは  続きを読む

欧州出張フランクフルト編
blank
2020年2月25日

欧州出張プランBの最初の訪問先はフランクフルトです。乗り継ぎでよく使うフランクフルトですが、市内へ出  続きを読む

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください