仮想ディスクの圧縮

閲覧数: 199(0)

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は全ユーザーに関連する  続きを読む

ElasticPress 3.5.6
blank
2021年3月19日

マイナーバージョンアップにも関わらず、検索スコアリングのパラメータが微調整された結果、期待する検索結  続きを読む

管理画面を制限する
blank
2021年2月22日

このサイトではネット上のさまざまな攻撃からの防御のため、Wordfenceプラグインの無料版を使用し  続きを読む

フォントを変えてみた
blank
2021年2月13日

ネタ切れです。テーマ変更も時間が無くて手付かずです。イメージを変えるためにサイトで使用しているフォン  続きを読む

新年早々の非互換対応
blank
2021年1月1日

昨年から先送りしていた「mediawiki」のマイナーバージョンアップ(2020/12/18リリース  続きを読む

スポンサーリンク

コメントを残す

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