Uzun süren Snapshot’da task kill edilmesi
Merhaba,
Bazı durumlarda snapshot‘ı silmek istediğinizde silme işleminin oldukça uzun sürebildiğini görebilirsiniz. Snaphost’ın uzun sürmesinin belirli sebepleri vardır. Bunların arasında en önemlisi storage’ın bazı durumlarda yetersiz gelmesidir. Bir diğer sebep ise snapshot disk’lerindeki data’nın büyüklüğü. Data nekadar büyük olur ise consolidate işlemi okadar uzun sürecektir.
Daha önce Snapshot ile ilgili yazmış olduğum yazılar aşağıdaki gibidir.
Sanal makina üzerindeki snapshot kavramları
vCenter üzerinde snapshot alarm tanımlaması
Snapshot silmeye başladıysanız eğer kesinlike ve kesinlike bu task’ı kill etmemeniz gerekir. Bazı durumlarda ki buda genellikle storage’da latency’inin fazla olduğu dumlar, bu esnada task ‘ı zaten ESXi kill eder. Snapshot consolidate işlemine başladıktan sonra bir şekilde onun bitmesini beklemeniz gerekmektedir. Bu esnada arka planda bulunan delta dosyaları vmdk dosyalarına merge edilir. Hangi dosyanın nere ile merge edildiğini bilmediğiniz için eğer task’i kill ederseniz virtual machine’in komple corrupt olmasına sebep olabilirsiniz. Virtual machine power on olur ancak işletim sistemi seviyesinde data kaybı yaşadığınız için işletim sistemi açılmayacaktır.
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1023657
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1002836
Snapshot operasyonları nadir olarak kilitlenir zaten kilitlendiğinde de datastore’dan herhangi bir cevap alamadığı için kendisi task’ı kill eder. Snapshot’ın durumunu merak ediyorsanız aşağıdaki komutlar size yardımcı olacaktır.
SSH ile virtual machine’in bulunduğu datastore’a ve virtual machine’in klasörüne bağlanıyoruz.
# cd /vmfs/volumes/Datastore_name/Virtual_Machine_name/
Yukarıdaki path’e bağlandıktan sonra aşağıdaki komutu çalıştırıyoruz. Komut üzerinde herhangi bir değişiklik yapmanıza gerek yok direk copy/paste ile çalıştırmanız yeterli olacaktır.
# watch -d 'ls -luth | grep -E "delta|flat|sesparse"'
Yukarıdaki komutu çalıştırdıktan sonra karşımıza sürekli yenilenen bir ekran gelecektir. Buradaki snapshot disk’i ve vmdk’lar sürekli monitor edilir. Bu komut ile disk’in size’İndaki değişiklikleri görebilirsiniz. İsterseniz aşağıdaki komutuda çalıştırabilirsiniz. Aşağıdaki komut ile yine monitor edebilirsiniz. Ancak bu komutu manuel olarak sürekli çalıştırmanız gerek otomatik olarak yenilenmiyor. Böylece disk’deki değişimleri görebilirsiniz.
ls -lrth |grep -E "flat|delta|sesparse"</span>
Komutları çalıştırmanızada herhangi bir sakınca yok sadece snapshot’ın kilitlenip kilitlenmediğini bu komut ile görebileceğinizi göstermek istedim. Eğer datastore’unuzda yeteri kadar boş yer var ise zaten %99 snapshot’ınızın silme işlemi devam ediyordur. Yukarıdaki komutlar ile ilgili buradaki link’i inceleyebilirsiniz.
Umarım faydalı olmuştur.
İyi çalışmalar.
Güzel bir noktaya değinmişsin Tayfun. Teşekkürler