この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと(@ithinkitnet)です。
ithinkit
スナップショットの持ちすぎは仮想マシン、仮想基盤全体のパフォーマンス劣化に繋がります。
どの仮想マシンがスナップショットを持っているか。
vSpherePowerCLIが使えると、仮想マシンが保持するスナップショットの一覧が取得出来て大変便利なのですが、PowerCLIを別途導入してないと使えません。
ただ残念ながら、PowerCLIが導入されていないことが意外と多い。。。
WebClientやHostClientを利用して、GUIでポチポチ確認してもいいのですが、結構面倒くさい!
なので、「仮想マシンがスナップショット保持しているかどうか」をESXi標準コマンド「vim-cmd」で確認する方法について書いておきたいと思います。
1コマンドとは行かないまでも、2コマンドで確認出来ます。
仮想マシンのスナップショット有無をコマンドで確認する方法
ちなみに今回の確認方法はESXiホスト単位でしか確認出来ません。
ひと手間かかりますが、WebClientやHostClientでひとつひとつ確認するよりはたぶん楽・・・。
スナップショット取得有無確認の流れ
仮想マシンIDの取得
ESXiにSSH接続し、以下のコマンドで仮想マシンごとのIDを取得します。
vim-cmd vmsvc/getallvms
ID列だけ抽出する場合は以下でもよいでしょう。
vim-cmd vmsvc/getallvms | awk '{print $1}'
[root@ithinkitnet:~] vim-cmd vmsvc/getallvm
Vmid Name File Guest OS Version Annotation
1 Win2016 [SSD-DataStore] Win2016/Win2016.vmx windows9Server64Guest vmx-13 192.168.11.250
2 Win2012r2 [SSD-DataStore] Win2012r2/Win2012r2.vmx windows8Server64Guest vmx-11 192.168.11.200
4 Win2016-2 [SSD-DataStore] Win2016-2/Win2016-2.vmx windows9Server64Guest vmx-13 192.168.11.251
5 cent75-wordpress [SSD-DataStore] cent75-wordpress/cent75-wordpress.vmx centos7_64Guest vmx-14 192.168.11.155
6 esxi67 [SSD-DataStore] esxi67/esxi67.vmx vmkernel65Guest vmx-14
上記、それぞれ先頭の番号が仮想マシンIDになります。
(例:1 Win2016 )
スナップショットの保持確認
前項で取得した仮想マシンIDを引数にして以下のコマンドを実行します。
スナップショットが存在する場合、以下のように表示されます。
下だと「OSインストール直後」という名前のスナップショットがあリます。
[root@ithinkitnet:~] vim-cmd vmsvc/get.snapshot 1
(vim.vm.SnapshotInfo) {
currentSnapshot = 'vim.vm.Snapshot:1-snapshot-1',
rootSnapshotList = (vim.vm.SnapshotTree) [
(vim.vm.SnapshotTree) {
snapshot = 'vim.vm.Snapshot:1-snapshot-1',
vm = 'vim.VirtualMachine:1',
name = "OSインストール直後",
description = "",
id = 1,
createTime = "2018-07-14T13:26:52.985542Z",
state = "poweredOff",
quiesced = false,
backupManifest = ,
childSnapshotList = ,
replaySupported = false
}
]
}
全仮想マシンのスナップショット有無を確認したい場合はこんな感じで。
for i in $(vim-cmd vmsvc/getallvms | awk '{print $1}'|sed '1d') ; do vim-cmd vmsvc/get.snapshot $i ;done
ちなみにHostClient上から確認すると以下の通り。
[root@ithinkitnet:~] vim-cmd vmsvc/get.snapshot 4
[root@ithinkitnet:~]
vim-cmdコマンドで仮想マシンIDを取得、IDを引数にしてコマンド実行することによってスナップショットの有無を確認することが出来ます。
vCenter経由かつワンコマンドで一覧が取得出来るPowerCLIには劣りますが、それでもWebClientやHostClientで一つ一つ確認するよりは楽かなーと思います。
ithinkit
以上、あいしんくいっとでした( ..)φメモメモ