#0. はじめに
(今回の検証内容は OS の差異による影響はありませんが)Ubuntu 14.04 をインストールした 25GB 単一ディスクのサーバーから作成した Standard Image のサイズを確認しました。
#1. テスト前の状態
# df / /boot
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda2 25424764 868680 23257908 4% /
/dev/xvda1 236876 18289 206146 9% /boot
#2. 約 2GB 使用時のサイズ
まず、 /dev/xda を対象に、Standard Image を作成したところ以下のサイズになりました。
2015-04-15 02:08 PM (UTC+09:00) 3.39 GB
#3. 10GB の 0 埋めファイル追加時のサイズ
次に、/ ファイルシステム内にコマンド dd if=/dev/zero of=bigfile bs=1G count=10
により '0' 埋めした10GB のファイル作成します。
# df / /boot
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda2 25424764 11364552 12762036 48% /
/dev/xvda1 236876 18289 206146 9% /boot
そして、同じく /dev/xda を対象に、Standard Image を作成したところ以下のサイズになりました。
2015-04-15 02:41 PM (UTC+09:00) 12.31 GB
#4. 追加ファイル削除後の、サイズの変化
念のため、/ ファイルシステム内に作成した bigfile を削除します。
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda2 25424764 868604 23257984 4% /
/dev/xvda1 236876 18289 206146 9% /boot
そして、最後に /dev/xda を対象に、Standard Image を作成したところサイズに変化が無いことを確認しました。
2015-04-15 02:53 PM (UTC+09:00) 12.31 GB
#5. まとめ
一連の結果から、以下のようなことが推察できます。
-
ファイルシステム上の使用容量よりも、Standard Image のサイズは大きい
-> ファイルシステム上の使用量が 900MB 弱でも、Standard Image のサイズは 3.39GB となったことより -
Standard Image 作成時に圧縮操作などは行っていない
-> 圧縮処理の効果が大きいはずの 0 埋めファイル追加後に、スタンダードイメージのサイズが追加ファイルサイズ分増加したことより -
一旦大きくなったファイルシステムの使用容量を削減しても、スタンダードイメージのサイズは大きくなった値のままとなる
2015/12/25 追記:
4) ボリューム全体に書き込みを行うディスク・イメージによるシステム・バックアップ(dd 等)のリストア後に取得すると Standard Image のサイズは最大限に大きくなる。25 GB の CentOS6 の /dev/xvda 全体を読み書き後に取得した Standard Image の例: