Hyper-V sunucunuz da Snapshot almak için Hyper-V Management Konsol yada Powershell komut satırını kullanabilirsiniz.
Powershell ile Snapshot almak için Checkpoint-VM komutunu kullanıyoruz. Snapshot alınacak olan sanal sunucunun ismini Get-VM komut satırı ile öğrenebilirsiniz.
Checkpoint-VM “Sanal Sunucu İsmi” –SnapshotName “Neden Snapshot aldığınızı belirten ufak bir not”
Snapshot kontrolü için Get-VMSnapshot komut satırını kullanıyoruz.
Get-VMSnapshot “Sanal Sunucu İsmi”
Konsol üzerinde de bu snapshot dosyasını görebiliriz.
Snapshot oluşturulduğunda hangi dosyaların oluşturulduğuna bakalım. Öncelikle Get-VMHarddiskDrive komutu ile snapshot sonrası oluşan .avhdx diskinin sunucumuzda aktif olarak kullanıldığını görüyoruz. Aynı işlemi Windows Explorer yardımıyla da yapabiliriz.
Sunucu çalışır durumda olduğundan dolayı .bin ve .vsf dosyalarının da Snapshot klasörü içerisinde oluştuğunu görebiliriz. Ayrıca .xml dosyası da bu klasör içerisindedir.
Fiziksel host üzerindeki bütün sanal sunucularda update veya benzeri bir işlem öncesi topluca snapshot almak isteyebilirsiniz. Bunun için aşağıdaki komut satırını kullanabilirsiniz.
Get-VM | Checkpoint-VM -SnapshotName “Before Update”
Snapshot dosyalarının silinmesi için Remove-VMSnapshot komut satırı kullanılmaktadır. VM’e ait snapshot dosyalarını Get-VMSnapshot komutu ile listeleyerek yanlış bir dosyayı silme işleminden kurtulabilirsiniz.
Remove-VMSnapshot –VMName “Sanal Sunucu İsmi” –Name “Snapshot İsmi”
Aynı işlemi konsol üzerinden yapmak için Checkpoint penceresinden ilgili snapshot üzerinde Delete seçeneğini tıklamalıyız.
Yukarıdaki örnekte, toplu yapılacak update işlemi için aynı fiziksel sunucudaki bütün VM lerin snapshotlarını topluca almıştık. İşlem sonunda bu snapshotları topluca silmek için aşağıdaki komut satırını kullanabilirsiniz.
Get-VM | Remove-VMSnapshot -Name “Before Update”
Konsol üzerinden sanal sunucuya ait bütün snapshot ları silmek için “Delete Checkpoint Subtree” menüsünü kullanmalıyız.
**Snapshot’ ları mutlaka konsol üzerinden yada Powershell yardımıyla silmeliyiz. Aksi taktirde sanal sunucuda veri kaybı yaşanacak ve sunucunuz hizmet veremez hale gelecektir.
Daha önceden alınmış olan bir Snapshot a dönüş işlemi için Restore-VMSnapshot komutu kullanılır.
Bu işlemi örnek ile inceleyelim. Win2K3R2 isimli sunucumuza ait 3 adet snapshot olsun.
İkinci snapshot durumuna dönmek için aşağıdaki komutu kullanmalıyız.
Restore-VMSnapshot -VMName “Sanal Sunucu İsmi ” -Name “Snapshot İsmi”
Aynı işlemi konsol üzerinden yapmak için ilgili snapshot üzerinde sağ tıklayıp Apply dememiz yeterli.
Faydalı olması dileğimle.