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.
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.
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