Monday, May 15, 2017

vSphere 自動清理 snapshot


管 VM infra 的小管理員
基本上就是都會收到 User VM snapshot 需求
不過大都 User 只會要求要建 snapshot. 沒人會去管 snapshot 要定期清理
身為 VM Infra 小小管理員 就得自己想辦法記得去清理

不過就算是小小 VM Infra Admin 不需要到大老闆的日理萬機
總會還是會一堆雜事在身邊吧
這時就可以弄個簡單的 snapshot 自動清理 script.
自動清理超過一段時間的 snapshot.

script 很簡單 就兩行 自動清理超過30天的 snapshot

$Days = 30
Get-VM | Get-Snapshot | Where {$_.Created -lt (Get-Date).AddDays($Days)} | Remove-Snapshot

剩下的 把它變成 schedule task 吧
如果想要搞個更完整一點的 把 try catch 放進去吧
順便在每次跑完寄個 email 到你的 mail box 通知執行狀況

當然 在你開始這樣做之前 事先得先教育 User snapshot 的用法
一般來說 snapshot 只是供短期, ad-hot 保留系統狀態, 快速rollback用
如果有需要做資料長期保存 還是建議 user 使用 VM backup 的方式

that's all

No comments:

Post a Comment