16 Aralık 2012 Pazar

Bozuk veya Kayıp vmdk Dosyasının Tekrar Oluşturulması


Bozuk veya Kayıp vmdk Dosyasının Tekrar Oluşturulması


Vmware in kullandığı Vmdk için kısaca sanal bir makineye ait hard disk formatı diyebiliriz.Vmdk dosyası normal şartlarda 2 adet dosyadan oluşur.(Datastore browser dan baktığımızda sadece bir adet vmdk görebiliriz)
Bunlar “vmismi.vmdk ve vmismi-flat.vmdk” dir
Normal şartlarda datastore tarafından browse ettiğimizde sadece vmismi.vmdk dosyasını görebiliyoruz.
Putty ile bağlanarak kontrol ettiğimizde ise 2 dosyayı da ayrı ayrı görebiliriz.

 TESTVM-flat.vmdk boyutundan da anlaşılacağı gibi dataların yer aldığı bölümdür.TESTVM.vmdk ise bu flat disk e ait bilgileri veren ve onu tanımlayan vmdk dosyasıdır.Diske ait  cid,parent cid,flat dosyasının yeri ve diskle ilgili diğer bilgileri barındırır.
Vmdk dosyası bir şekilde silindiğinde veya zarar gördüğünde elinizdeki vmismi-flat.vmdk dosyasını direkt olarak esx ekleme şansız bulunmamaktadır.Bu diski flat dosyasını tanımlayacak bir vmdk dosyasına ihtiyaç bulunmaktadır.

Vmdk dosyası bolzulduktan sonra datastore üzerinden browse ettiğinide vmdk dosyasının simgesinin alışmış olduğunuz vmdk simgesi gibi olmadığını görebilirsiniz
Görüldüğü gibi TESTVM.vmdk dosyası yok ve artık flat dosyasını görebiliyoruz. Flat dosyası bir descripter vmdk dosyasına sahip olmadığı için görülebilmektedir.

Sanal makineyi power on yapmaya çalıştığımızda ise aşağıdaki hata ile karşılaşacağız.
“Cannot open the disk 'TESTVM.vmdk' or one of the snapshot disks it depends on.
The system cannot find the file specified
VMware ESX cannot find the virtual disk "TESTVM.vmdk". Verify the path is valid and try again.”



Bu aşamada yapılması gereken  işlem;
Yenibir sanal disk oluşturmak (sanal disk oluştuğunda 2 adet dosya oluşacak yenidisk.vmdk ve yenidisk-flat.vmdk)
Yeni disk i oluşturduktan sonra yeni disk in vmdk dosyasını (flat olanı değil) yenidisk.vmk dosyasını TESTVM-flat.vmdk dosyamızı tanımlayacak şekilde tekrar düzenlemek.
Putty ile server a bağandıktan sonra ilgili vm in olduğu directory e gidin
Ls –l komutu ile gerçekten vmdk dosyasının olmadığını ve  flat dosyasının yani datayı barındıran diskin olduğunu doğrulayın
Bu işlem için kullanılacak yeni diski oluştururken dikkat edilmesi gereken nokta ilgili vm in config dosyası yani vmx dosyasının içerisine bakılarak. Description dosyası bozuk olan diskin tam boyutu ve sanal makinede kullanılan SCSI Controler adapter ın aynı olmasıdır

Öncelikle flat dosyasının size ını kontrol edelim
Komut: ls -l





Görüldüğü gibi flat disk in size ı 10737418240
Şimdi sanal makinenin kullandığı controller type ına bakalım
Komut: vi sanalmakineismi.vmx  veya less *.vmx | grep virtualDev yazarak gelen satırlardaki  yazıyı görebilirsiniz
scsi0.virtualDev = "lsilogic"

ihtiyacımız olan bilgileri aldıktan sonra aynı özelliklerde sanal disk oluşturacağız. Oluşturacağımız disk in boyutu flat disk ile aynı olacak fakat thin disk oluşturduğumuz içn boyutu çok daha küçük olacak.

Yeni diski aşağıdaki komut ile oluşturabiliriz
Komut :vmkfstools -c 10737418240 -a lsilogic -d thin yenidisk.vmdk
-c create etmek için
Sonraki rakam sizin disk size ınız
-a adepter type
Lsilogic olan kısım sizin adepter type ınız
-d disk in yapısını belirtmek için (thin disk oluşturacağız)
Yenidisk.vmdk  vermek istediğiniz isim

Yeni disk oluştuktan sonra yeni disk in vmdk dosyasını kaypveya bozuk olan vmdk dosyamın adı ile değiştiriyorum
Benim kayıp olan diskmi TESTVM.vmdk bu nedenle yeni disk in vmdk dosyasını bu isimle değiştiriyorum





Artık elimizde TESTVM.vmdk adında bir dosyamız var fakat bu dosyanın içerisinde tanımı olan diski bizim TESVM-flat.vmdk  i işaret edecek şekilde değiştirmeliyiz.Bunun için Vi komutu ile TESTVM.vmdk dosyasının içerisine giriyoruz ve

# Extent description
RW 20971520 VMFS "TESTVM-flat.vmdk"
Kısmındaki vmdk in ihtiyacımız olan flat disk i gösterecek şekilde değiştiriyoruz



Son olarak;
Eğer problem yaşayan disk thin provision olarak yapılandırılmadı ise aşağıdaki satırı silebilriz


 Değişiklikleri yapıp kaydettikten sonra vm i poweron yapabilriz.

Aşağıda diskin düzeldikten sonraki halini görebiliriz



Biraz sakat bir konu olduğu için elimden geldiğince detaylı yazmak istedim. Gerçi bu blog a benden başka giren varmı emin değilim J
Eğer snapshot almışşsanız yapılması gerken işlemler biraz daha değişik olacaktır bunu da ayrı bir yazıda belirteceğim




2 yorum: