VMware vSphere Snapshot Kaynaklı Hatalar ve Çözümleri

Merhaba,

Sanallaştırma ortamlarında birçok kişi, snapshot’ı aktif olarak kullanır. Kısa süreli çalışmalar öncesinde backup almak yerine snapshot’ı kullanabiliriz. Bu sayede sanal makinamızın anlık ekran görüntüsü alınır ve siz herhangi bir sebepten dolayı sanal makina üzerinde yaptığınız işlemleri geri almak istediğinizde, almış olduğunuz snapshot’a revert ederek eski haline geri dönüş yapabilirsiniz. Snapshot’ı sanal makinanız power off, Suspend veya Power on durumdayken alabilirsiniz. Snapshot bir backup yöntemi değildir.

Snapshot takip edilirse herhangi bir sorun oluşturmaz. Ancak alındıktan sonra değişen datalar, disk üzerinde yer kapladığı için datastore’unuzu doldurabilir.

Snapshot kısa süreli işlemler için kullanılması tavsiye edilir. VMware’in yayınlamış olduğu Best Practices’lerde bir snapshot’ın 1-3 gün aralığında silinmesi gerektiği belirtiliyor.

Eğer snapshot’ı bu süreden uzun tutarsanız hem virtual machine’in kontrolünde hem de performans anlamında problemler yaşayabilirsiniz. Çünkü bir snapshot aldığınızda, yeni bir vmdk dosyası oluşmaz. Değişen dataların tutulduğu bir delta vmdk dosyası oluşur. Dolayısıyla siz, bir veriyi yazmak veya okumak istediğinizde bu hem vmdk üzerinde hem de delta vmdk üzerinde işlem yapılacağı anlamına gelir. Bu durumda da performans sorunları ortaya çıkacaktır.

VMware sanallaştırma ortamında backup yazılımından dolayı konsolidasyon hataları ve disk lock durumları ile karşılaşabiliriz. Genellikle backup yazılımının virtual machine üzerindeki snapshot’ı silememesinden kaynaklanmaktadır.

Ayrıca virtual machine’de I/O miktarı fazla ise diskler merge edilmeyecek ve bu hata alınabilecektir.

Backup yazılımının, task’ı yarım bırakıp iptal olmasıyla hata oluşan bir çok virtual machine olduğunu ayrıca bu virtual machine’lerin hangileri olduğunu da tespit edemiyor olduğunuzu düşünelim.

Backup yazılımları snapshot alırken belirli bir isim standartı kullanıyor, bunları tespit edebiliriz.

Öncelikle PowerCLI ile bağlanıp önce Vcenter’daki snapshot’lu vm leri listeyelim.

Aşağıdaki komut ile snapshot’ı olan virtual machine’leri görebiliriz. Ancak, backup yazılımının aldığı snapshotlar NBU ile başlar ve benim karşılaştığım senaryo böyleydi.

get-vm | get-snapshot | format-list vm,name

NBU ile başlayan Vm’lere ait snapshotları aşağıdaki komutla listeleyebilirsiniz. Benim ortamımda şimdilik böyle snapshotlar kalmadığı için boş görüyoruz. Eğer olsaydı, name alanında NBU_SNAPSHOT isimli virtual machine’ler listelenecekti.

Get-VM | Get-Snapshot | Where { $_.Name -like “NBU*” } | Format-Table -Property VM, Name, Created, Description, SizeMB -AutoSize

Sonrasında;

Bu Vm leri aşağıdaki komut ile silebilirsiniz. Ancak çok sayıda Vm’in snapshot’unu aynı anda silmek datastore’a yük getireceğinden dikkatli yapmanızı, mümkünse mesai sonrası çalıştırmanızı öneririm.

Get-VM | Get-Snapshot | Where {$_.Name -like “NBU_SNAPSHOT*”} | Remove-Snapshot -Confirm:$false -RunAsync

Umarım faydalı olmuştur.

Umut Kapucu

Bir Cevap Yazın