Penjadwalan Hapus Snapshot VM Pakai Script PowerCLI

Believe it or not. Sekarang Gue kembali lagi ke belakang meja. Beneran! Nggak pakai bohong. Sepertinya kali ini Allah menjawab doa-doa Gue yang dulu, yaitu punya kerja dengan jabatan keren dan digaji lumayan gede. Cuma ya itu, kerjanya tak kenal waktu. Tapi Gue juga yakin Allah punya rencana yang indah bagi semua makhluknya di alam manapun. Tinggal bagaimana kita mau berusaha dan bersyukur sama apa yang sudah didapat saja 🙂

Ah elah, jadi agamis gini :p

Gue nggak meninggalkan cita-cita awal untuk menjadi seorang entrepreneur sejati, kok. Cuma kebetulan saja mendapat tawaran yang membuat Gue nggak bisa bilang nggak 😀

So, off to main topic. Gw dikasih jabatan cukup kritikal yaitu pegang infrastruktur data center salah satu perusahaan asuransi dan investasi asal Perancis (pasti tahu, kan? 😉 ) dan scope Gue terkait dengan teknologi virtualisasi, server & jaringan. Di awal-awal tugas Gue dimintai untuk melakukan analisis mengenai kebutuhan untuk migrasi data center terkait DRDC (Disaster Recover Data Centre). Nggak main-main men, data center tier 3 inih 😀

Di antara segudang tugas yang menanti, ada permintaan khusus dari temen Gue, security engineer untuk dibuatkan script khusus untuk menghapus snapshot VM secara terjadwal. Karena ini sifatnya otomasi maka script nanti harus dibuatkan scheduler-nya. By default, VMware vSphere dengan vCenter memang hanya memiliki fitur penjadwalan untuk melakukan snapshot, tetapi sebaliknya, nggak ada fitur penjadwalan untuk menghapusnya *garukpala*

Kemudian Gue coba cari sedikit informasi mengenai powershell cuma kok sepertinya agak rumit karena banyak parameter yang harus dimasukkan. Padahal dengan powershell kita dapat dengan mudah menggunakannya tanpa perlu harus instal karena sudah terintegrasi dengan Windows 7. Sampai akhirnya Gue menemukan software punya VMware yang memang khusus untuk melakukan konfigurasi via console. Nama aplikasi itu adalah VMware vSphere PowerCLI. Aplikasi ini cukup mudah karena dokumentasi dan juga perintahnya gampang dihapal.

Kemudian Gue buat script seperti di bawah ini untuk melakukan penghapusan snapshot secara terjadwal.

Connect-VIServer -server 10.48.9.215
Get-VM -name win7mon | `
Get-Snapshot | `
Remove-Snapshot -confirm:$false

Perintah di atas kurang lebih untuk konek ke IP vCenter/vSphere, kemudian mendapatkan nama VM “win7mon” dan mendapatkan snapshot state.  Dana akhirnya untuk mengapus SEMUA snapshot yang ada di dalam VM tersebut tanpa konfirmasi lagi.

Kemudian simpan script ini dengan ekstensi file “.ps1” dan buat task scheduler dengan menggunakan perintah seperti berikut:

start program: %SystemRoot%\system32\windowspowershell\v1.0\powershell.exe

add argument: -PSConsoleFile “C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1” -command “&{C:\removesnapshotwin7mon.ps1}”

*Ganti alamat file yang dicetak tebal dengan milik Anda

Sesuaikan dengan waktu yang Anda inginkan. Kalau di sini kebetulan untuk pembuatan snapshot terjadwal ada di hari jum’at setiap minggu ketika. Jadi Penghapusan dilakukan setelah tiga hari pembuatan snapshot tersebut.

Berikut adalah contoh proses yang telah otomatis dilakukan secara terjadwal.

powercli-removess1

powercli-removess2

Ada proses remove snapshot dan akhirnya selesai.

2 thoughts on “Penjadwalan Hapus Snapshot VM Pakai Script PowerCLI

Leave a Reply

Your email address will not be published. Required fields are marked *