Hizmet sağlamış olduğumuz ortamlarda update/upgrade yada farklı bir çalışma yapmadan önce olası bir geri dönüşü de hesaplayarak snapshot alırız.
VMware alınan snapshotların 72 saat süreyle kullanılmasını önermektedir.
Do not use a single snapshot for more than 72 hours.
Bu sürenin sonunda snapshotları silmek iyi olacaktır. Snapshotları tek tek silmek biraz uzun olabilir. Ancak PowerCLI ile bu işlemi hızlı bir şekilde gerçekleştirebiliriz.
72 saati geçmiş snapshotları silmek için aşağıdaki script kullanılabilir.
Get-VM | Get-Snapshot | Where {$_.Created -lt (Get-Date).AddDays(-3)} | Remove-Snapshot -Confirm:$false |
Bu işlemi daha da iyileştirmek için bir task tanımlanabilir.
Task için aşağıdaki script kullanılabilir;
$Getcredentials= Import-Clixml -Path C:\PowerCLI\PowerCLICredentials.xml #Domain Username ve Password bilgisini xml dosyasından çekmek için kullanılır. $DomainUsername= $Getcredentials.UserName #Username bilgisini okur $DomainPassword= $Getcredentials.GetNetworkCredential().Password #Password bilgisini okur Connect-VIServer -Server vcist.mutlubalik.com -User $DomainUsername -Password $DomainPassword #vCenter’a bağlanmak için kullanılır. Get-VM | Get-Snapshot | Where {$_.Created -lt (Get-Date).AddDays(-3)} | Remove-Snapshot -Confirm:$false |
Task scheduler açıldıktan sonra Create Task ile yeni bir task oluşturma penceresi açılır.
Oluşturulacak olan task’a tanımlayacı bir isim verilerek Run whether user is logged on or not ve Run with highest privileges seçenekleri seçilir.
Trigger sekmesine geçiş yapılarak New ile yeni bir trigger penceresi açılır.
Task günlük 00:30 da çalışacak şekilde ayarlanır.
Son olarak Action sekmesine geçiş yapılarak New ile yeni bir action penceresi açılır.
Action: Start a program
Program/script: powershell
Add arguments: Çalıştırılacak olan scriptin yolu (örnek: c:\temp\RemoveSnapshot.ps1)
Task çalıştıktan sonra 72 saati geçen snapshotlar silinecektir. vCenter loglarında silinen snapshotlar görüntülenmektedir.
reference: https://kb.vmware.com/s/article/1025279