Sunucumuzda olası beklenmedik sorunlar yaşayabiliriz. Yedek olmadığı durumlarda, olsa da yedekten dönüldüğünde de disk okunamadığı durumlar olabilir. Ya da belirsiz şekilde .vmdk uzantılı diskimiz corrupted olabilir. Ortamımızdan .vmdk uzantılı diski yanlışlıkla silmiş de olabiliriz.
Bu senaryolarda yapabileceğimiz bir çözüm var.
Test için hazırlamış olduğumuz bir makine üzerinden .vmdk uzantılı dosyayı silmeyi deneyelim.
Aşağıdaki görselde göründüğü gibi makinemiz şu anda sağlıklı bir şekilde power on olmaktadır.
Test-Windows_8650.vmdk dosyasını Datastore içerisinden siliyoruz.
Test makinemizi tekrar power on etmeye çalıştığımızda aşağıdaki gibi “Test-Windows_8650.vmdk dosyası bulunamadı” hatası ile karşılaşıyoruz ve Hard disk 2 0 KB olarak görünüyor.
Şimdi Test makinemizin bulunduğu Host’a SSH yapacağız ve bulunduğu Datastore’da test makinemize ait dosyaları bulacağız.
Aşağıdaki görüntü Test-Windows_8650.vmdk dosyasını silmeden önce kontrol ettiğimizde aldığımız sonuç :
Silindikten sonra ise Test-Windows_8650.vmdk ve Test-Windows_8650-flat.vmdk dosyalarının buradan da silindiğini görebiliyoruz.
Bu durumda makineyi açılabilir duruma getirebiliriz fakat flat dosyamızda silindiği için veri kaybımız olacaktır.
flat dosyamız silinmeseydi ;
vmkfstools -c 268435456000 -d thin gecici.vmdk komutuyla, flat dosyamızla aynı boyutta bir gecici.vmdk dosyası oluşturuyoruz.
Bu gecici.vmdk dosyasını oluşturduğumuzda bununla beraber gecici-flat.vmdk dosyası da oluşacaktır.
Flat dosyasımızın silinmediği bir senaryoya baktığımız için bu yeni oluşan flat dosyasına ihtiyacımız yok bu yüzden oluşan gecici-flat.vmdk dosyasını siliyoruz.
rm -i gecici-flat.vmdk komutuyla yeni oluşan flat dosyasını sildik.
Şimdi oluşturduğumuz gecici.vmdk dosyasının ismini, datastore’dan sildiğimiz .vmdk dosyasının ismiyle aynı olacak şekilde değiştireceğiz.
mv gecici.vmdk Test-Windows_8650.vmdk komutuyla .vmdk dosyasının adını değiştirdik.
Son olarak Test-Windows_8650.vmdk dosyamızı düzenlememiz gerekiyor.
vi Test-Windows_8650.vmdk komutuyla dosyamızı açıyoruz.
Aşağıdaki görselde de olduğu gibi gecici-flat.vmdk olan kısmı silip eski .vmdk dosyamıza ait olan flat dosyasımızın adını yazıyoruz.
Dosyayı kaydedip makineyi açtığımızda makinenin açıldığını ve herhangi bir veri kaybı olmadığını göreceğiz.
Fakat bu flat dosyasının silinmediği durumlarda olacağından bizde makine açıldı ama veri kaybı yaşanmış oldu.
Flat dosyamızın silinmesi halinde de,
Başta yaptığımız gibi bir .vmdk dosyası oluşturuyoruz, dosyanın boyutunu Byte cinsinden yazmamız gerekmektedir.
Daha sonra oluşan .vmdk dosyasının ve flat dosyasının adını değiştiriyoruz.
Tekrar Vi editör ile Test-Windows_8650.vmdk dosyasını düzenleyip kaydediyoruz.
Kontrol ettiğimizde de test makinemiz açılıyor.
NOT : Flat dosyasının silinmediği durumlarda veri kurtarma işlemi olumlu olabileceğinden, Auto Reclaim özelliği göz önünde bulundurularak işlemleri hızlı yapmak gerekmektedir. Aksi takdirde flat dosyasıda silinecektir.