地味にスナップショットのサイズ確認をするKBを見つけました。
スナップショットを削除しているときの様子を確認できます。
Commands to monitor snapshot deletion in ESX 2.5/3.x/4.x and ESXi 3.x.x/4.x.x/5.x
http://kb.vmware.com/kb/1007566
ためしにスナップショットを削除して見てみました。環境は、ESXi 5.1 です。
lsコマンドで見ているだけだとVMDKの見た目のサイズは変わらず
「-delta.vmdk」がなくなることで、どのファイルまで適用されたかがわかります。
たとえば、「-000002-delta.vmdk」の適用が完了すると「-000002-delta.vmdk」が削除されます。
方法1: lsコマンドをwatchコマンドでループ実行する。
この方法では、数秒ごとに最新の状態だけが画面に表示されます。
lsコマンドでwin2008sv1というVMの構成ファイルを表示し、
「grep -E "delta|flat"」でスナップショットに関係あるファイルだけフィルタ表示しています。
watch -n 10 を付けると指定した秒数ごとに画面が更新されます。デフォルトは2秒ごとです。
終了するときは、 Ctrl + C を押します。
~ # watch -n 10 'ls -luth /vmfs/volumes/datastore1/win2008sv1 | grep -E "delta|flat"'
Every 10s: ls -luth /vmfs/volumes/datastore1/win2008sv1 | grep -E "delta|flat"-rw------- 1 root root 7.5G Dec 24 09:10 win2008sv1-000001-delta.vmdk
-rw------- 1 root root 32.1M Dec 24 09:10 win2008sv1-000002-delta.vmdk
-rw------- 1 root root 40.0G Dec 24 09:09 win2008sv1-flat.vmdk
(10秒ごとに画面更新)
Every 10s: ls -luth /vmfs/volumes/datastore1/win2008sv1 | grep -E "delta|flat"
-rw------- 1 root root 7.5G Dec 24 09:11 win2008sv1-000001-delta.vmdk
-rw------- 1 root root 32.1M Dec 24 09:10 win2008sv1-000002-delta.vmdk
-rw------- 1 root root 40.0G Dec 24 09:09 win2008sv1-flat.vmdk
(10秒ごとに画面更新)
Every 10s: ls -luth /vmfs/volumes/datastore1/win2008sv1 | grep -E "delta|flat"
-rw------- 1 root root 32.1M Dec 24 09:11 win2008sv1-000002-delta.vmdk
-rw------- 1 root root 7.5G Dec 24 09:11 win2008sv1-000001-delta.vmdk
-rw------- 1 root root 40.0G Dec 24 09:09 win2008sv1-flat.vmdk
方法2: lsコマンドをwhileでループ実行する。
「while true」で、lsコマンドを無限ループしています。
この方法だと、これまでの表示結果も画面上に残ります。
head -10 を付けると、最初の10ファイルだけ表示されます。
sleep 3 で、表示間隔(秒)を指定しています。
こちらも終了するときは、 Ctrl + C を押します。
~ # while true;do date;ls -lt /vmfs/volumes/datastore1/win2008sv1/*vmdk |head -10;echo ________;sleep 3;done
Mon Dec 24 08:48:17 UTC 2012
-rw------- 1 root root 16863232 Dec 24 08:48 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002-delta.vmdk
-rw------- 1 root root 42949672960 Dec 24 08:46 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-flat.vmdk
-rw------- 1 root root 344 Dec 24 08:45 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002.vmdk
-rw------- 1 root root 530 Dec 24 08:45 /vmfs/volumes/datastore1/win2008sv1/win2008sv1.vmdk
-rw------- 1 root root 8069926912 Dec 24 08:45 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001-delta.vmdk
-rw------- 1 root root 337 Oct 14 13:21 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001.vmdk
________
Mon Dec 24 08:48:21 UTC 2012
-rw------- 1 root root 16863232 Dec 24 08:48 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002-delta.vmdk
-rw------- 1 root root 42949672960 Dec 24 08:46 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-flat.vmdk
-rw------- 1 root root 344 Dec 24 08:45 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002.vmdk
-rw------- 1 root root 530 Dec 24 08:45 /vmfs/volumes/datastore1/win2008sv1/win2008sv1.vmdk
-rw------- 1 root root 8069926912 Dec 24 08:45 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001-delta.vmdk
-rw------- 1 root root 337 Oct 14 13:21 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001.vmdk
________
Mon Dec 24 08:48:24 UTC 2012
-rw------- 1 root root 16863232 Dec 24 08:48 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002-delta.vmdk
-rw------- 1 root root 42949672960 Dec 24 08:46 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-flat.vmdk
-rw------- 1 root root 344 Dec 24 08:45 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002.vmdk
-rw------- 1 root root 530 Dec 24 08:45 /vmfs/volumes/datastore1/win2008sv1/win2008sv1.vmdk
-rw------- 1 root root 8069926912 Dec 24 08:45 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001-delta.vmdk
-rw------- 1 root root 337 Oct 14 13:21 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001.vmdk
________
lsだけだとわかりにくいので、
ついでに duコマンド でも試してみました。
もとのVMDKにどんどん適用されていく様子が見えます。(サイズが増加していく)
※たぶんThin形式だから見えています。Thick形式だと固定サイズになりそうです。
方法1-2: duコマンドをwatchで実行
~ # watch 'du /vmfs/volumes/datastore1/win2008sv1/*vmdk | grep -E "delta|flat"'
Every 2s: du /vmfs/volumes/datastore1/win2008sv1/*vmdk | grep -E "delta|flat"7881728 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001-delta.vmdk
17408 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002-delta.vmdk
14405632 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-flat.vmdk
(画面更新)
Every 2s: du /vmfs/volumes/datastore1/win2008sv1/*vmdk | grep -E "delta|flat"
7881728 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001-delta.vmdk
17408 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002-delta.vmdk
14416896 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-flat.vmdk
(画面更新)
Every 2s: du /vmfs/volumes/datastore1/win2008sv1/*vmdk | grep -E "delta|flat"
7881728 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001-delta.vmdk
17408 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002-delta.vmdk
14426112 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-flat.vmdk
方法2-2: duコマンドをwhileで実行
~ # while true;do date;du -h /vmfs/volumes/datastore1/win2008sv1/*vmdk |head -10;echo ________;sleep 30;done
Mon Dec 24 08:56:23 UTC 2012
7.5G /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001-delta.vmdk
64.0k /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001.vmdk
17.0M /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002-delta.vmdk
0 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002.vmdk
14.3G /vmfs/volumes/datastore1/win2008sv1/win2008sv1-flat.vmdk
64.0k /vmfs/volumes/datastore1/win2008sv1/win2008sv1.vmdk
________
Mon Dec 24 08:56:53 UTC 2012
7.5G /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001-delta.vmdk
64.0k /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001.vmdk
17.0M /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002-delta.vmdk
0 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002.vmdk
14.5G /vmfs/volumes/datastore1/win2008sv1/win2008sv1-flat.vmdk
64.0k /vmfs/volumes/datastore1/win2008sv1/win2008sv1.vmdk
________
Mon Dec 24 08:57:24 UTC 2012
7.5G /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001-delta.vmdk
64.0k /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000001.vmdk
17.0M /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002-delta.vmdk
0 /vmfs/volumes/datastore1/win2008sv1/win2008sv1-000002.vmdk
14.6G /vmfs/volumes/datastore1/win2008sv1/win2008sv1-flat.vmdk
64.0k /vmfs/volumes/datastore1/win2008sv1/win2008sv1.vmdk
________
すべてのスナップショットを削除すると、
最終的には.vmdkと、-flat.vmdk だけが残ります。
以上、スナップショットのモニタリングでした。
Comments