25 Mayıs 2010 Salı

Sanal Makineler, Onları Oluşturan Dosyalar ve Görevleri

Merhabalar;

Sanallaştırma teknolojisi ile birlikte elimizde ki donanımları çok daha verimli kullanabiliyoruz ve daha az enerji tüketiyoruz. Sanallaştırılan sunucular ise artık sadece dosyalardan ibaret oluyorlar. Bu nedenle onlara hâkim olmamızın bir adımı da onların nasıl çalıştığını ve çalışmak için ya da çalışırken hangi dosyalara neden ihtiyaç duyduklarını iyi bilmemizden geçiyor. Bu makalemde hem Microsoft Hyper-V hem de VMware ESX/ESXi sanallaştırma sunucuları üzerinde oluşturulan sanal makinelerin hangi dosyalardan ibaret olduklarını ve bu dosyaların yerine getirdiği görevleri anlatmaya çalışacağım.
  
Microsoft Hyper-V Üzerinde ki Sanal Makineleri Oluşturan Dosyalar ve Görevleri

Sanal makinelerimizin adı üstünde sanal olduklarını sadece biz biliyoruz. Ancak onlar sadece kendilerine ait oldukları bir donanım üzerinde çalıştıklarını düşünüyorlar. Bu nedenle sanal makinelerin öncelikle bir anakarta ihtiyacı vardır ki bu Intel 440BX dir. Sanal makinelerimiz simüle edilen bir anakart kullanmaktadırlar. Benzer şekilde bu anakart üzerinde bulunan bios, pci, isa, floppy ve ide, scsi controller gibi yazılımsal ve donanımsal parçalarda simüle edilmektedir.
Sanal makinelerimizi oluşturan dosyaların neler olduğuna ve görevlerine bakmadan önce sanal makinelerimizin dosyalarının nerede saklandığını genel hatlarıyla inceleyelim. Sanal makinelerimize ait dosyalar iki alanda tutulur. Varsayılan olarak her bir sanal makineye ait ayar dosyaları %programdata%\Microsoft\Windows\Hyper-V klasörünün altında tutulurken disk dosyaları ise varsayılan olarak %users%\Public\Documents\Hyper-V\Virtual Hard Disks klasörünün altında tutulur. Performans ve güvenlik amacıyla bu klasörlerin yerlerinin sistem diski yerine yedekli çalışan bir disk alanına kaydırılması önerilmektedir. Bu öneriler ışığında ilgili klasörleri sistem diski dışında ki D:\Hyper-V\Virtual Machines ve D:\Hyper-V\Virtual Hard Disks klasörleri olacak şekilde ayarladım. Sanal makinelerimizi üzerinde aldığımız snapshot diskleri de D:\Hyper-V\Virtual Hard Disks altında tutulacaktır (Bu özellik Windows Server 2008 R2 ile birlikte geldi). Tabi D sürücüsünde oluşturduğumuz Hyper-V klasörü üzerinde System hesabının ve Administrators grubunun tam erişim yetkisinin olması gerekmektedir. Bu yapılandırma işlemini Hyper-V Manager konsolunda Hyper-V Settings linki altından yapabiliriz. İlgili düzenlemeler yapıldıktan sonra karşımıza aşağıda ki ekran görüntüleri gelecektir.

Sanal makinelerimizde snapshot aldığımızda bu işlem nedeniyle oluşan ikinci disk (differencing disk olarak oluşturulur) sanal makinenin diski ile aynı yerde tutulurken diğer dosyalar (sanal makinenin snapshot alındığı anda ki donanım bilgilerini içeren xml dosyası ve sanal makinenin o anki belleğini içeren vsv dosyası) D:\Hyper-V\Virtual Machines\Snapshots klasöründe tutulmaktadır. Bu ayarı sanal makinelerimizin Settings bölümünde ayarlarında görebiliriz. Aşağıda ki ekran görüntüsü bu konuda açıklayıcı olacaktır.


Buraya kadar konuştuğumuz varsayılan yapı idi. Eğer oluşturacağımız sanal makineye ait her dosyanın ilgili sanal makinenin adı ile oluşturulmuş olan bir klasör içerisinde tutulmasını istersek sanal makinemizi oluştururken “Store the virtual machine in a different location” seçeneğini işaretleyip Ardından sanal makinemizin ve tüm dosyalarının tutulacağı klasörü de Location bölümüne girip Next diyerek devam etmeliyiz. Ekran görüntüsü aşağıda ki gibi olacaktır.


Yukarıda ki ekran görüntüsüne göre VFORCETMG sanal makinesinin dosyaları VFORCE.COM klasörü altında oluşturulacak olan VFORCETMG klasörü altında tutulacaktır. Sanal makinemizin bellek ve network ayarlarını yaptıktan sonra karşımıza gelen disk oluşturma bölümünde diskimiz için bir boyut belirledikten sonra Location bölümüne dokunmadan Next diyerek ilerleyelim. Ekran görüntüsü aşağıda ki gibidir.


Finish diyerek sanal makinemizi oluşturduğumuzda ortaya çıkan klasör yapısı aşağıda ki şekilde görülecektir.


Eğer sanal makinemiz üzerinde snapshot alırsak Virtual Machines klasörü ile aynı seviyede Snapshots isimli bir klasör oluşturularak ilgili dosyalar da bu klasörün içerisinde tutulacaktır. Böylece sanal makinemiz ile ilgili tüm dosyalar bir klasör yapısı içerisinde kalacaktır. Yaptığımız işlem aslınıda Hyper-V Manager konsolundan yapılan Export işlemi ile oluşturulan yapının benzeri olacaktır.
Anakartımız olduğuna göre birde bios olmalı. Hyper-V de ki sanal makinelerimizin Bios ayarlarına ilgili sanal makinemizin Settings bölümünden bakabiliriz. Bios da düzenleme yapabileceğimiz iki seçenek var. Bunlar açılışta Numlock tuşunun açık hale getirilmesi ve sanal makinemizin boot sırasında kullanacağı donanım sıralamasıdır. Sanal makinemizin bios nuda içeren ayarlar GUID.xml adlı dosyada saklanmaktadır. Aşağıda Hyper-V sunucumuz üzerinde ki sanal makinelerimizi oluşturan dosyalar ve görevlerine maddeler halinde bakalım.
•    GUID.xml: Hyper-V üzerinde çalışan her sanal makinenin ayarları (Sanal makinenin Settings bölümünde yaptığımız ayarlar), sanal makine ilk oluşturulduğunda otomatik olarak belirlenen ve tek olan GUID (Global Uniqe ID) ile birlikte guid.xml dosyası içerisinde saklanır. Dosyayı internet explorer ya da notepad ile açıp görüntüleyebiliriz. Bu dosya içerisinde sanal makinenin anakartının seri numarası, işlemci sayısı, disk dosyasının yeri, bellek büyüklüğü, ağ kartı, mac adresi vb donanımsal bilgilerin yanı sıra başka ayarlarda saklanmaktadır. Bu dosya Hyper-V Settings bölümünde Virtual Machines başlığı altında belirtilen alanda tutulur. Sanal makinelerimize ait guid.xml dosyalarının ekran görüntüsü aşağıda ki gibi olacaktır.

•    GUID.bin: Dosyamız Hyper-V Settings bölümünde Virtual Machines başlığı altında belirtilen alanda sanal makineye atanmış olan GUID ile oluşturulan klasörün içerisinde bulunur. Bu dosya sanal makinemizin çalıştığı anda kullandığı belleği içerir. Dolayısıyla sanal makine kapatıldığında silinir.


Ancak sanal makinemiz üzerinde snapshot var ise snapshot alındığı anda sanal makinemizin kullandığı belleği içeren kopyası sanal makinemiz ayarlarından görebileceğimiz Snapshot File Location altında sanal makineninkinden farklı bir GUID ile guid.bin dosyası içerisinde saklanır. Sanal makine kapatılsa dahi bu dosya silinmez. Dosya ancak snapshot silindiğinde silinecektir.
•    GUID.vsv: Bu dosya sanal makinemiz kayıt Save komutu ile kayıt edip kapattığımızda ya da snapshot aldığımızda kullanılan bir dosyadır. İçeriğinde ise sanal makinemizin o anki durumu hakkında bilgi içermektedir. Böylece sanal makinemizi Start komutu ile açtığımızda guid.bin ve guid.vsv dosyaları kullanılarak işlerimize kaldığımız yerden devam edebilmemiz sağlanır. Dosya sanal makine kapatıldığında silinir.


Eğer sanal makinemiz üzerinde snapshot var ise snapshot alındığı anda guid.vsv dosyasının o anki halini içeren kopyası sanal makinemiz ayarlarından görebileceğimiz Snapshot File Location altında sanal makineninkinden farklı ve tek olan bir GUID ile guid.vsv dosyasında saklanır. Bu dosya içerisinde sanal makinemizin snapshot alındığı anda ki donanımlarının ve ayarlarının neler olduğu bulunmaktadır. Dolayısıyla sanal makine kapatılsa dahi bu dosya silinmez. Dosya ancak snapshot silindiğinde silinecektir.
•    SanalMakineAdı.vhd: Bu dosya sanal makinemizin kullandığı disktir. Eğer sanal makinemizin diski fixed disk haline getirilmediyse Windows Explorer ile baktığımızda burada göreceğimiz dosya boyutu yanıltıcı olacaktır. Sanal makinelerimizin diskleri Hyper-V Settings bölümünde Virtual Harddisks başlığı altında belirtilen alanda saklanmaktadır. Sanal diskler en fazla 2 TB kapasiteye sahip olabilir. Sanal makinelerimizin kullandığı üç farklı disk türü vardır. Bunlar;
     o    Fixed Disk: Sanal makinemizi diski daha sonra ekle diyerek oluşturduktan sonra özelliklerinden yeni disk ekle seçeneği ile sanal makinemize ekleyebiliriz. Bu disk tipinde başta belirlediğimiz disk boyutunun tamamı oluşturulur. Bu tip diskler dinamik disklere oranla çok daha performanslıdırlar. Eğer başta atanan boyut büyük gelirse Dynamic Disk e çevrilip çeşitli araçlar kullanılarak diskin ilk boyutu küçültülebilir.
     o    Dynamic Disk: Sanal makinemizi oluştururken disk de oluşturduysak otomatik olarak Dynamic Disc formatında olacaktır. Sanal makinenin diski için kullanılmak istenen alandan çok daha az bir alan kaplar ve belirlenen boyuta ulaşana kadar büyür. Dilenirse daha sonra fixed disk şekline çevrilebilir. Performansı fixed disk türüne göre daha düşüktür. Ayrıca disk dosyası veri yazıldıkça büyüyeceğinden fiziksel diskin fragmante olmasına sebep olur ve bu da performansı olumsuz etkiler. Dinamik disk kullanımında ki başka bir problem de yetersiz disk alanı sorunudur. Bu tarz bir sorun ile karşılaşmamak için sanal makinelerin disklerinin barındırıldığı bölüm üzerinde boş disk alanı mutlaka kontrol edilmelidir. Aslında Microsoft bunu da düşünmüş ve belli aralıklarla disk üzerinde ki boş alan taranır. Eğer boş alan 2 Gb ın altına düşmüş ise Event Log a Warning mesajları düşmeye başlar. Eğer boş alan 200 Mb nin altına düştüyse o disk alanını kullanan sanal makineleriniz veri kaybı yaşamamanız için sistem tarafından otomatik olarak durdurulur ve “Paused Critical” olarak etiketlenirler. Dinamik diskler dilendiğinde fixed disk e çevrilebilir.
     o    Differencing Disk: Bu disk tipini örnek ile açıklamak en doğrusu olacak. Örneğin kendinize içerisinde işletim sistemi ve uygulamaların hazır olduğu bir sanal disk oluşturdunuz. Ardından bu sanal disk üzerinden yeni makineler oluşturmak istiyorsunuz. Burada devreye Differencing Disk giriyor. Yeni sanal makinenizi oluşturuyorsunuz ve disk olarak Differencing Disk ekliyorsunuz ve bu diskin sahibi olarak da önceden hazırlamış olduğumuz diski gösteriyoruz (Bu işlemden önce esas diskimizin başına bir aksilik gelmemesi için diskimizi Read-Only konumuna getirmemiz faydalı olacaktır). İstediğimiz kurulumları yaptıktan sonra dilersek Differencing diski sahibi olan disk ile birşelştirebileceğimiz gibi (Merge) bu diskten yeni bir vhd dosyası da üretebiliriz. Differencing diskler de dynamic diskler gibi diskte az alan kaplarlar ve veri yazıldıkça büyürler ki bu depolama alanında ki boş yer miktarının kontrol edilmesini gerektirmektedir.
   o    Physical Disk (Passthrough Disk): Sanal makinemizin sanallaştırma sunucumuz üzerinde ki fiziksel diski ya da SAN gibi bir depolama birimi üzerinde ki LUN u kullanmasını sağlayabiliriz. Bu işlemin avantajları yanında dezavantajları da vardır. Avantajlarından başlayacak olursak; sanal disklerimizde bulunan 2TB lik sınır burada ortadan kalkmaktadır. Diskin boyut sınırı sadece sanal makinemiz üzerine kuracağımız işletim sisteminin sınırlarına bağlı olacaktır. Ayrıca fiziksel diskler diğer tüm sanal disk türlerinden çok daha performanslıdırlar. En büyük dejavantajlarından biri ise snapshot imkanımızın ortadan kalkmasıdır. Dikkat edilmesi gereken önemli noktalardan biriside sanal makinenize atadığınız fiziksel diskinizin sanallaştırma sunucunuz üzerinde “offline” modunda bulunmasıdır. Eğer disk sanallaştırma sunucusu üzerinde “online” durumuna getirilirse bu durum o diski kullanan sanal makine de veri kayıpları yaşanmasına neden olabilir.
•    SanalMakineAdı_GUID.avhd: Bu dosya ise sanal makinemiz üzerinde snapshot işlemini gerçekleştirdiğimizde makineye bağlı olan herbir disk için differencing disk tipinde ayrı birer .avhd dosyası oluşturulur. Bu dosya oluşturulduktan sonra esas disk dosyamız olan SanalMakineAdı.vhd dosyası Read-Only haline getirilir. Dosyanın adında ki GUID ile sanal makinemizin GUID i aynı olmayacaktır. Dosya sanal makinemizin gerçek disk dosyası olan SanalMakineAdı_GUID.vhd ile birlikte aynı klasör içerisinde tutulur (Windows Server 2008 Hyper-V üzerinde ise bu dosya Snapshot File Location içerisinde tutuluyordu). Snapshot silinmek istendiğinde  SanalMakineAdı.vhd tekrar yazılabilir hale getirilir ve SanalMakineAdı_GUID.avhd dosyasının içeriği SanalMakineAdı.vhd dosyasına eklenerek birleştirilir ardından da silinir.
Aslında sanal makinelerimizin dosya isimlerinin GUID.xml formatında oluşturulması Windows gezgini ile sanal makinelerimize ve dosyalarına baktığımızda aşağıda ki şekilde görüntü oluşması sebebiyle makinelerin birbirinden ayırt edilmesi neredeyse imkânsız hale geliyor.


Bunu çözmek ve sanal makinelerimizi powershell kullanarak yönetmek için http://pshyperv.codeplex.com/releases/view/38769 adresinden PsHyperV_Install.ZIP modülünü indirip kurmamız yeterli olacaktır. İndirdiğimiz dosyayı açalım ve içerisinde ki dosyaları  C:\Windows\System32\WindowsPowerShell\v1.0\Modules klasörünün altında oluşturacağımız HyperV klasörünün içerisine kopyalayalım. Taskbar da bulunan PowerShell ikonuna sağ tıklayalım ve Import System Modules seçeneğine tıklayayarak PowerShell i çalıştıralım. Karşımıza çıkan uyarıya Yes diyerek devam edelim. Bu işlem sayesinde PowerShell açılırken tüm sistem modülleri ve bizim Hyper-V modülümüzde otomatik olarak yüklenmiş olacaktır. Bu modül ile birlikte kullanabileceğimiz komutlar için de http://pshyperv.codeplex.com/releases/view/38769#DownloadId=101935 adresinde ki PSHyperv-R2 belgesinden faydalanbilirsiniz.

      Get-VM | format-table –property name, elementname

Yukarıda ki komutu yazdığımızda çıktısı aşağıda ki gibi olacaktır. Böylece hangi GUID in hangi sanal makineye ait olduğunu rahatlıkla görebiliriz.


VMware ESX/ESXi Üzerinde ki Sanal Makineleri Oluşturan Dosyalar ve Görevleri

    VMware in dosyalama yapısı Microsoft Hyper-V ye göre farklı çalışıyor. VMware ESX/ESXi üzerinde ki sanal makineler oluşturulduklarında otomatik olarak sanal makinenin adında bir klasör açılıyor ve sanal makine ile ilgili tüm dosyalar (bios konfigurasyon,snapshot dosyaları ile esas ve snapshot diskler) burada tutuluyor. Sanal makinemize ve onu oluşturan dosyalara VMware vSphere Client ile bağlandıktan sonra Configuration sekmesine geçip Storage linkine tıkladıktan sonra sağ tarafta listelenen datastore lardan sanal makinemizin bulunduğu datastore a sağ tıklayıp Browse Datastore diyerek ulaşabiliriz. Ya da Veeam Backup and FastSCP gibi bir yazılım ile ilgili datastore u görüntüleyebiliriz. Bu işlemin ardından ekran görüntüsü aşağıda ki gibi olacaktır.


Veeam Backup and FastSCP yazılımı ile ilgili datastore da bulunan sanal makinemizin klasörüne baktığımızda ise ekran görüntüsü aşağıda ki gibi olacaktır.


Şimdi yukarı da ki ekran görüntülerine göre ilgili dosyaları ve ne işe yaradıklarını inceleyelim;
•    SanalMakineAdı.nvram: Bu dosya sanal makinemizin bios unu oluşturmaktadır. Bios a sanal makine başlatılırken F2 ye basarak ulaşabiliriz. Gerekli düzenlemeleri yaptıktan sonra kayıt edip çıktığımızda yapılan değişiklikler dosyaya kayıt edilmiş olur.
•    SanalMakineAdı.vmx: Bu dosyada sanal makinemizin donanım bilgileri (işlemci sayısı, bellek miktarı, network kartları vb.) bulunmaktadır. Dosyayı sanal makinemize sağ tıkladıktan sonra Edit Settings bölümünden düzenleyebiliriz. Dilersek wordpad metin editorü ile de (notepad de düzgün görüntülenmiyor) dosyayı açıp düzenleyebiliriz. Ancak bu riskli bir işlem olduğundan önce dosyanın yedeğinin alınması uygun olacaktır.
•    SanalMakineAdı.vmdk: Bu dosya sanal makinemizin disk dosyasını işaret etmektedir. VMware de her disk iki dosyadan oluşur. Bunlardan ilki sanal makinemizin diskinin boyutu ile sektör, silindir, kafa sayısı ya da diskin bağlı olduğu adaptör (ide ya da scsi) gibi özelliklerini tanımlayan SanalMakineAdı.vmdk dosyası ve verilerin tutulduğu SanalMakineAdı-flat.vmdk isimli dosyadır. Datastore dan baktığımızda SanalMakineAdı-flat.vmdk görüntülenmeyecektir. Bunun yerine SanalMakineAdı.vmdk şeklinde tek bir dosya görüntülenecektir. VMware de üç tip disk vardır. Bunlar;
     o    Thick Format: Sanal makinemizi oluştururken ya da yeni disk eklerken varsayılan disk tipidir. Bu disk tipinde sanal makinemizi oluştururken belirlediğimiz disk boyutu kadar SanalMakineAdı-flat.vmdk dosyası oluşturulur. Böylece disk dosyası sabit boyutludur. Bu tarz diskler gerçek diske yakın performans verirler. Dolayısıyla disk oluştururken bu tip disklerin seçilmesi önemlidir. Ancak bu formattaki bir disk Thin Provisioned Format a dönüştürülemez.
    o    Thin Provisioned Format: Bu disk tipinde ise sanal makinemizi oluştururken belirlediğimiz disk boyutu yerine çok daha küçük bir boyutla oluşturulur ve diske veri yazıldıkça belirlenen boyuta kadar boyutu büyür. Bu tarz diskler depolama alanı konusunda sıkıntı varsa ya da test ortamlarında kullanılabilir. Thin Provisioned Format tipinde ki diskleri kullanan sanal makinelerin performansları Thick Format tipini kullanan sanal makinelere göre daha kötüdür. Ayrıca depolama alanında ki boş alanın takip edilmesini zorunlu hale getirir. Boş alan kalmadığında ise sanal makinelerimiz çalışmayı durduracaklardır. İstendiğinde thick format tipinde bir diske çevrilebilir.
   o    Passthrough disk: Bu disk tipinde SAN üzerinde hazrılanmış olan bir LUN u sanal makinemize atayabiliriz. Bu disk türü sanal makinemize fiziksel bir diski bağlama imkanı verdiğinden en yüksek performans bu disk tipinde elde edilecektir. Ancak bu tip disklerin bulunduğu sanal makinelerde snapshot işlemi uygulanamaz.
•    SanalMakineAdı-00000x-delta.vmdk: Bu dosya sanal makinemiz üzerinde snapshot aldığımızda SanalMakineAdı-flat.vmdk dosyası ile aynı klasör içerisinde oluşturulur. Snapshot işleminde SanalMakineAdı-flat.vmdk dosyası salt okunur duruma getirilir ve SanalMakineAdı-000001-delta.vmdk disk dosyası oluşturularak bundan sonra verilerin yeni disk dosyasına yazılması sağlanır (dosya isminde ki 000000x şeklinde ki sayı her snapshot alındığında 000002, 000003 şeklinde otomatik olarak bir arttırılır). Bu disk dosyası ilk oluşturulduğunda boyutu sadece 16 Mb dır. Ancak içerisine veri yazıldıkça boyutu 16 Mb lık bloklar halinde büyütülür. Dolayısıyla her bir snapshot diski orijinal diskin boyutu kadar büyüyebilir. Bu da sanal makinelerin bulunduğu disk alanının çok dikkatli takip edilmesi anlamına gelmektedir. Çünkü snapshot ları silmek istediğinizde orijinal disk dosyası olan SanalMakineAdı.vmdk in boyutu kadar bir yere ihtiyaç duyulacaktır. Önceki zamanlarda alınmış olan snapshot lar silinmek istendiğinde SanalMakineAdı.vmdk dosyası tekrar yazılabilir hale getirilir ve snapshot disk dosyası içerisindeki veriler bu dosyanın içerisine eklenir. Ardından da ilgili snapshot dosyası silinir. Bu nedenle snapshot kullanan sanal makinelerin performansları düşmektedir. Bu nedenle snapshot lar test ortamı dışında önerilmemektedir.


•    SanalMakineAdı.vswp: Bu dosya sanal makinenin swap dosyasıdır ve her açıldığında otomatik oluşturulup kapatıldığında da silinir. Bu dosyanın boyutunu sanal makinemize atadığımız bellek miktarı belirlemektedir. Burada ki en önemli nokta bu dosya sanal makine her açıldığında oluşturulmasına rağmen kullanılmamasıdır. Sanal makineler sanallaştırma sunucularının bellekleri üzerinde çalışırlar. Ancak sanallaştırma sunucusunun bellek kapasitesinden daha yüksek miktarda belleğe ihtiyaç duyulduğunda bu swap dosyaları kullanılmaktadır. Bu sebeple diske okuma ve yazma oranı çok artacağından sanal makinelerin ve sanallaştırma sunucusunun performansını çok kötü etkiler ve sanal makineler oldukça yavaş çalışmaya başlar. Bu nedenle sanallaştırma sunucusunun bellek kapasitesini aşacak şekilde sanal makine yapılandırılması ve çalıştırılması kesinlikle tavsiye edilmez.
•    SanalMakineAdı.vmss: Bu dosya sanal makine normal olarak çalışırken görülmez. Sanal makine durdurulduğunda sanal makinenin o anki belleğinin içeriği bu dosyanın içerisine yazılır ve tekrar başlatıldığında bu dosya kullanılarak sanal makinenin o anki haline geri dönerek çalışmaya devam etmesi sağlanmış olur. Ancak en önemli nokta bu dosya oluşturulduktan sonra sanal makine kapatılana kadar silinmeyecektir.
•    SanalMakineAdı.vmsd: Bu dosya sanal makine ilk oluşturulduğundan itibaren bulunur. Ancak boyutu 0 Kb dır. Sanal makinenin snapshot ı alındığında dosyaya snapshot alındıktan sonra kullanılan disklerin adları, snapshot alınırken belirlenen tanımlayıcı değer ile yazılan açıklama ve snapshot a ait UID (Uniq ID) değeri yazılır. Sanal makine üzerinde ki snapshot silindiğinde silinen snapshot ile ilgili bilgileri saklarken UID yi UID yi arttırarak dosya yeni snapshot lara hazır hale getirilir.
•    SanalMakineAdı.vmsn: Bu dosyada sanal makinemiz üzerinde snapshot alındığında oluşturulmaktadır. Dosyanın boyutu snapshot alma işlemi sırasında sanal makinenin belleğinin de saklanıp saklanmayacağının seçilmesi ile alakalıdır. Eğer snapshot sırasında sanal makinenin o anki belleğininde saklanması istenirse dosyanın boyutu sanal makinenin belleğinin boyutu kadar olacaktır. Aksi takdirde dosya boyutu en fazla 32 Kb olacaktır.
•    vmware-x.log: Bu dosyalar da sanal makinelerimiz ile ilgili oluşan olaylar kayıt edilmektedir ve sorun çözümlerinde kullanılabilir. Dosyalar maksimum boyut sınırına ulaştıklarında kapatılırlar ve yeni bir log dosyası oluşturularak kullanılmaya başlanır.
•   SanalMakineAdı.vmxf: Bu konfigürasyon dosyası ise ESX/ESXi tarafından kullanılmaz. Sadece VMware Workstation ile uyumluluğun sağlanması amacıyla bulundurulmaktadır.
Bu makalemde hem Microsoft Hyper-V hem de VMware ESX/ESXi sanallaştırma sunucuları üzerinde oluşturulan sanal makinelerin hangi dosyalardan ibaret olduklarını ve bu dosyaların yerine getirdiği görevleri anlatmaya çalıştım. Faydalı olması dileklerimle.

M. Hakan CAN

22 Mayıs 2010 Cumartesi

Pac-Man 30 yaşında

Merhabalar;

Çocukluğumuzun en güzel oyunu olan bizi atari başlarına saatlerce kilitleyip annemizden "Hadi dersinin başınaaaa !!!" şeklinde uyarılar almamıza neden olan Pac-Man bugün tam 30 yaşında. Google da bu güzel günde ana sayfasında özel hazırlanmış Pac-Man oyununu sunuyor. www.google.com ya da www.google.com.tr adreslerine girdiğinizde oyun arama bölümünün üst tarafında yükleniyor. Dilerseniz "Jeton At" diyip iki kişi de oynayabilirsiniz.

Nice yıllara PAC-MAN :)

M. Hakan CAN

14 Mayıs 2010 Cuma

SharePoint Server 2007 SP2 "Bu ürünün deneme süresi sona erdi" Hatası

Merhabalar;

Lisanslı olarak kullandığımız Sharepoint Server 2007 Sp2 web sitemize yeni bir sayfa eklemek ya da varolan bir sayfayı düzenlemek istediğimizde "Bu ürünün deneme süresi sona erdi." şeklinde ki hata ile karşılaşmaya başladık. Ekran görüntüsünü aşağıda ki şekildedir.


Bu hatanın ardından Sharepoint Yönetim Merkezi--> İşlemler--> Yükseltme ve Geçiş altında Lisans türünü dönüştürme linkine tıkladığımızda karşımıza aşağıda ki ekran görüntüsü geldi.


Geçerli Lisans durumunun "Kuruluş İstemci Erişim Lisanslı Office SharePoint Server Deneme Sürümü " ifadesi yazıyordu. Alt bölümde bulunan lisans anahtarı bölümüne geçerli lisans anahtarımızı girdiğimizde ise bir süre işlem yaptıktan sonra Hata vererek işlemi tamamlamadı. İntenet üzerinde yaptığımız aramalarda karşımıza çıkan önerileri incelediğimizde sistemimizin bunları zaten sağladığını gördük. Bunun üzerine Microsoft ile yaptığımız görüşmeler neticesinde sorunun Sharepoint Server 2007 üzerine Sp2 kurulduğunda  sistemin yanlışlıkla deneme sürümüne geçtiğini ve sorunun bundan kaynaklandığını öğrendik. Microsoft' ta ki yetkili kısa sürede sorunumuzu çözecek yamayı içeren linki bize ulaştırdı. http://support.microsoft.com/default.aspx/kb/971620?p=1 linkinden gerekli yamayı indirebilirsiniz. İlgili yamayı kurup sistemi yeniden başlattıktan sonra Sharepoint Yönetim Merkezi--> İşlemler--> Yükseltme ve Geçiş linki altında Lisans türünü dönüştürme linkine tıkladığımızda Geçerli Lisans durumunun "Enterprise İstemci Erişim Lisanslı Office SharePoint Server" şeklinde düzeldiğini gördük. Bunun ardından sistem ile ilgili tüm sorunlarımız ortadan kalktı.

Faydalı olması dileğiyle...

M. Hakan CAN

13 Mayıs 2010 Perşembe

Windows 7 User Profile Service Hatası

Merhabalar;

Windows 7 işletim sistemini büyük bir keyifle kullanıyorum. Satış başarılarından da gördüğümüz üzere Microsoft' un en başarılı işletim sistemi ünvanını çoktan kazandı bile yakında da en çok satan işletim sistemi ünvanını Windows XP den devralacak. Ancak kullanımdan ya da sistemde oluşan bir aksaklık nedeniyle kaynaklanan hatalardan dolayı birgün sisteminiz de oturum açtığınızda profiliniz yüklenemiyor hatası ile karşılaşabilirsiniz. Management Console u açtığınızda User Profile Service kaynaklı bir Uyarı (Warning) kayıtı görebilirsiniz.

Users klasörü altında ki arızalanan kullanıcı profilinizi silmeniz ya da adını değiştirmenizde durumu düzeltmeyecektir. Bunun için registry de kullanıcı profilinizin kayıtlarının tutulduğu anahtarın silinmesi gerekiyor. UYARI: Bu işlem sisteminiz üzerinde hasara neden olabileceği için systemstate yedeği alındıktan sonra bu işlemin yapılması faydalı olacaktır.

Windows logosuna tıkladıktan sonra Search bölümüne regedit yazalım ve Enter a basalım. Açılan registry editor de HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\ProfileList\ altında ki S-1-5-21 ile başlayan klasörlere bakarak içerisinde kullanıcı adınızı içeren klasörü bulalım. Baktığımızda klasör adının S-1-5-21-...bak şeklinde olduğunu göreceğiz. Bu kayıtı silelim ve registry editor ü kapatıp sistemimizi yeniden başlatalım. Kullanıcı adımızla oturum açtığımızda sorunuun giderildiğini ve Users klasörü altında kullanıcı adımız ile bir profil klasörünün oluşturulduğunu göreceğiz.

Faydalı olması dileğiyle;

M. Hakan CAN

30 Nisan 2010 Cuma

Hyper-V Best Practice Analyzer Yayınlandı

Merhabalar;

Microsoft Windows Server 2008 R2 üzerinde çalışan Hyper-V için Best Practive Analyzer güncellemesi yayınladı. Bu güncelleme sayesinde Windows Server 2008 R2 sunucumuz üzerinde çalıştırdığımız Hyper-V rolü için öneriler alabileceğiz. Güncellemeyi kuruduğumuzda Server Manager konsolundan Hyper-V rolüne geldiğimizde sağ tarafta Best Practice Analyzer bölümünün eklendiğini göreceğiz. 


Scan This Role linkine tıklayarak sistemimizin taranmasını sağladıktan sonra Best Practice Analyzer bize önerilerini listeleyecektir.


Burada verilen önerileri (Örneğin, Sanal makinelerinden Windows Server 2008 R2 çalıştıran bir sistem için en az 2 Gb ram olmalıdır gibi) inceleyerek sistemimizin ve üzerinde çalışan sanal makinelerimizin çok daha verimli çalışmasını sağlayabiliriz. Mesela Windows Server 2008 R2 sunucumuz üzerinde ECC destekli bellek çalıştırmadığımızda Microsoft' un destek vermediğini öğreniyoruz :o)

 
Güncelleme ile ilgili bilgiyi http://support.microsoft.com/kb/977238 adresinden güncelleme dosyasını ise http://www.microsoft.com/downloads/details.aspx?FamilyId=89d80c15-0082-4fef-a4fc-fefa463bed08 adresinden edinebilirsiniz.

Kaynak : Virtual PC Guy
 
M. Hakan CAN

29 Nisan 2010 Perşembe

Siz Anlatın Microsoft Karikatürize Etsin

Merhabalar;

Microsoft biz sistemcilerin başından geçen trajikomik olayların karikatürize edildiği bir site açtı. Sizde başınızdan geçen en ilginç anekdotu yazın onlar karikatürize etsinler, yarışın kazanın.  Siteye http://www.wherestheanykey.co.uk adresinden ulaşabilirsiniz.

M. Hakan CAN

27 Nisan 2010 Salı

Hyper-V Üzerinde ki Sanal Makinelerde USB Donanım Kullanımı

Sanallaştırma sayesinde fiziksel sunucularımızı bir araya toplayarak maliyetlerimizi azalttık, sistemcilerin standart işi olan sunucu işletim sistemi kurulumlarını hazırladığımız şablonlar sayesinde çok kısa zaman içerisinde tamamlayabilir duruma geldik. Bugün sanal makineler üzerinde veritabanı sunucuları gibi ağır iş yükü olan sunucuları problemsiz kullanabiliyoruz. Usb diskleri Remote Desktop bağlantılarında host üzerinde ki diskleri ağ diski şeklinde bağlayarak dosya kopyalama gibi işlemlerde sorunsuz yapabiliyorken, iş usb dongle denen özel güvenlik donanımları vasıtasıyla lisans bilgilerini kontrol eden uygulamaları sanal makinelerimiz üzerinde çalıştırmaya geldiğinde elimiz kolumuz bağlanıyordu. Burada Remote Desktop bağlantısı ile donanımı bağlamak anlamlı olmuyor. Çünkü programlar usb donanımın fiziksel olarak makineye bağlı olup olmadığını kontrol ediyor. Daha önceki makalemde sizlere sanal makinelere usb donanımları neden takamadığımızı ve takmak istediğimizde yapmamız gereken işlemleri VMware ESXi sistemi üzerinde ki sanal bir makine de anlatmaya çalışmıştım. İlgili makalemde sorunu donanım kullanarak çözmüştük. Makaleme  http://windowsyazilari.blogspot.com/2009/04/vmware-esxi-uzerinde-ki-sanal-makineye.html http://windowsyazilari.blogspot.com/2009/06/vmware-esxi-uzerinde-ki-sanal-makineye.html adresleri ile  http://www.cozumpark.com/blogs/virtualization/archive/2009/11/14/vmware-esxi-zerinde-ki-sanal-makineye-usb-bellek-takmak.aspx adresinden ulaşabilirsiniz.
Bu makalemde ise sizlere Microsoft Windows Server 2008 R2 Full kurulumlu sanallaştırma sunucumuz üzerinde çalışan sanal bir makineye usb donanımın nasıl takılabileceğini anlatmaya çalışacağım. Bu işlem  için Fabulatech firmasının USB Over Network yazılımından faydalanacağız. İlgili yazılımın 15 günlük deneme sürümünü (makalede kullanılan versiyon 4.3. Son kontrol ettiğimde 4.4 versiyonu sunuluyordu) http://www.fabulatech.com/usb-over-network-purchase.html adresinden indirebilirseniz. Ürünün lisanslaması kullanılacak USB donanımların sayısına göre yapılıyor ve fiyatlandırma da buna göre değişiyor. Bir usb donanım için yazılımın fiyatı 149$. Güncellemeler içinde kullandığınız usb donanım sayısı kadar ayrıca ücret ödüyorsunuz (1 USB donanım için 49$). Firmanın seri usb ve seri portlar için farklı uygulamaları da mevcut. İncelemek isteyenler http://www.fabulatech.com/ adresini ziyaret edebilir.
Yazılım 32 ve 64 bit işletim sistemlerinde (Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2008 ve Windows Server 2008 R2) desteklerken Windows 2000 işletim sistemi 32 bit ise desteklenmektedir. Ayrıca yazılım hem USB 1.1 hem de USB 2.0 standartlarını destekliyor.
Yazılım server ve client olmak üzere iki parçadan oluşuyor. USB bellekleri kullanıma sunacağımız makine (bu fiziksel bir makine olmalı) üzerine server uygulamasını, USB bellekleri ağ üzerinden bağlayacağımız makinelere de client uygulamasını kuruyoruz. 
Kuruluma server uygulamasından başlayalım. Bunun için usb-over-network-server.msi isimli kurulum dosyasına çift tıkladığımızda karşımıza kurulum sihirbazı çıkacaktır. Bizi karşılayan ilk ekran görüntüsü aşağıda ki gibi olacaktır.
Kurulumu herhangi bir düzenleme yapmadan Next butonlarına tıklayarak tamamlayalım. Son olarak Finish dediğimizde uygulama çalıştırılacaktır. Yazılımı deneme sürümü olarak kurduğumuz için her çalıştırdığımızda bizi kalan süre hakkında bilgilendiren ve dilersek lisans anahtarımızı girebileceğimiz bir ekran karşılıyor. Bu ekranı da “Contiue With Trial” butonuna tıklayarak geçtiğimizde uygulamanın yeni versiyonunun olup olmadığının 15 günde bir kontrol edilmesini isteyip istemediğimizi soran ekran ile karşılaşacağız. Bu ekranı de Yes diyerek geçtiğimizde karşımıza sistemimizde takılı olan usb donanımların listelendiği bölüm gelecektir. Ekran görüntüsü aşağıda ki gibidir.
    NOT: Deneme sürümünde aynı anda sadece bir usb donanımı paylaştırabiliyoruz.
Görüldüğü üzere sistemimizde ki tüm usb donanımlar aslında listede bulunuyor. Listede görebileceğiniz gibi USB Mouse u dahi paylaştırabiliyoruz ancak sistem kilitlenmelerine neden olabildiği belirtilerek önerilmiyor. USB donanımımızı paylaştırma işlemine geçmeden önce programın Settings menüsü altında ki Preferences bölümünden bahsetmek isityorum. Bu menü altında General, Network, Auto-Sharing ve SSL olmak üzere 4  sekme bulunmaktadır. Kısaca değinmek gerekirse;
• General: Bu bölümde program açıldığında splash screen i gösterip göstermemesi ya da programın yeni sürümünü her 15 günde bir kontrol edip etmemesi gibi ayarları yapabiliyoruz.
 • Network: Bu bölümde Server yazılımı ile Client yazılımının karşılıklı konuşacakları TCP portunu belirleyebiliyoruz. Bu port varsayılan olarak 33000 numaralı porttur. Dilersek bu portu değiştirebiliriz. Değişikliği Client tarafında da yapılmalıdır. Ayrıca firewall açık ise ilgili porta izin verilmesini sağlamalıyız. Ekran görüntüsü aşağıda ki gibidir.
• Auto-Sharing: Bu bölümde server yazılımının kurulu olduğu makine üzerine takılı olan usb donanımlardan seçtiklerimizin otomatik olarak paylaştırılmasını sağlayabiliriz. Böylece sunucumuzu ya da server uygulamasını yeniden başlattığımızda elle ilgili usb donanımları paylaşıma açma işinden kurtulmuş oluyoruz. Ekran görüntüsü aşağıda ki gibidir.
• SSL Security: Bu bölümü etkinleştirdiğinizde SSL kullanacak seri portlarınız için sunucu sertifikası ile private key i belirtebiliyoruz. Yazılımın 4.4 versiyonunda bu bölüm biraz daha geliştirilmiş ve client yazılımına da aynı sekme eklenmiş.
Listede ki donanımlardan SanDisk SD Plus  isimli usb diski Vista çalışan sanal makineye bağlamak için ilgili donanımı seçtikten sonra menüde ki Share USB Device simgesine tıklayarak donanımı paylaşıma hazır hale getiriyoruz Bu kısımda dikkat edilmesi gereken nokta ise bir usb donanım paylaştırıldığında artık ilgili donanım fiziksel makinede görülemeyecektir. Donanım bağlantıya hazır hale geldiğinde ekran görüntüsü aşağıda ki gibidir.
Ekranımız yukarıda ki duruma geldiğinde sanallaştırma sunucumuzun Device Manager konsolundan bakarsak Fabulatech Shared USB Devices isimli bir donanım eklendiğini görebiliriz. Ekran görüntüsü aşağıda ki gibi olacaktır.
Usb diskimizi bağlantı için hazır hale getirdiğimize göre sıra diskimizi bağlamak istediğimiz sanal makineye client uygulamasını kuralım. Bunun için usb-over-network-client.msi kurulum dosyasını çalıştıralım. Karşımıza aşağıda ki ekran görüntüsü gelecektir.
Herhangi bir değişiklik yapmadan Next e tıklayarak ilerleyelim. Kurulum başladığında bizden iki kez Fabula Tech system devices kurulumu için izin istenecektir. Ekran görüntüsü aşağıdaki gibidir.
Buna Install diyerek devam edersek kurulum tamamlandığında sanal makinemizin Device Manager konsolundan System Devices bölümü altında Fabula Tech Virtual USB Bus isimli iki adet donanımın eklendiğini görebiliriz. Bunlar sayesinde sanal makinemize usb diskimizi bağlayabileceğiz. Ekran görüntüsü aşağıda ki gibidir.
Kurulumumuz tamamlandığında masaüstünde oluşturulan kısayoldan programı çalıştırdığımızda karşımıza aşağıda ki ekran görüntüsü gelecektir.
Burada kırmızı ile işaretlediğim Add USB Server ikonuna tıkladığımızda karşımıza programımızın server versiyonunun kurulu olduğu sunucuyu gireceğimiz bölüm gelecektir. Ekran görüntüsü aşağıda ki gibidir.
Bu bölümde de “Remote IP address or computer name” bölümüne programımızın server sürümünün kurulu olduğu sunucumuzun adını yazalım (bu bölümde ip adresi de yazabiliyoruz). Alt bölümde bulunan TCP-port bölümünde varsayılan olarak 33000 gelmektedir (Yazının başında server yazılımı üzerinde ki portu değiştirdiğimizde client yazılımında da aynı portu bu bölüme yazmalıyız). Bağlantının sağlanması için server ve client yazılımlarının kurulu olduğu makinelerin firewall larında ilgili TCP portunu açmamız gerektiğini unutmayalım. Eğer alttaki “Automatically connect all shared USB devices from server” kutusunu işaretlersek client programını her çalıştırdığımızda server tarafında bağlantı için hazır durumda olan tüm usb donanımlar bu client a otomatik olarak bağlanacaktır. Bu kutuyu ben boş bıraktım ama ihtiyaca göre işaretlenebilir. Sadece aynı usb donanımı bir client ın kullanabildiğini unutmayalım.
Sunucumuzu ekledikten sonra o sunucu üzerinde bağlantı için hazır bekleyen donanımların listelendiğini görebiliriz. Ekran görüntüsü aşağıda ki gibi olacaktır.
İlgili ürünü seçtikten sonra Connect USB Device butonuna basarak usb diski sanal makineme bağlamış olacağız. Windows Vista olan sanal makinem sanki gerçekten bir usb donanım takılmış gibi donanım sürücülerinin yüklendiğini gösteren bilgi balonu çıkaracaktır. Eğer otomatik çalıştır seçeneğiniz aktif ise usb diskin sisteme kurulduğunu ve kullanıma hazır olduğunu görebilirsiniz. Ekran görüntüsü aşağıdaki gibi olacaktır.
USB diskimiz sanal makinemize takıldığında client yazılımında da diskin yanında bağlı olduğunu  belirten Connected ibaresini görebiliriz. Ekran görüntüsü aşağıda ki gibidir.
Benzer şekilde usb diskimizi paylaştırdığımız sunucu üzerinde de aşağıda ki ekran görütüsü olacaktır.
Bağlantımızı sağladıktan sonra benzer şekilde sanal makinemizden usb donanımı kaldırmak için dilersek sanal makine içerisinde ki yazılımda Disconnect USB Device butonuna basarak usb diski sanal makinemizden ayırarak boşa çıkarmış oluruz. Ekran görüntüsü aşağıda ki gibidir.
Böylece client yazılımı yüklü olan başka bir sanal makineye usb donanımı bağlayabiliriz. Eğer donanımı gerçekte takılı olduğu sistemden ayırmak istiyorsak sunucu yazılımı üzerinde ki Stop USB Device Sharing butonuna tıklayarak da usb donanımı hem bağlı olduğu sanal makineden ayırmış oluruz hem de paylaşımdan da kaldırmış oluruz. Ancak bu direk kaldırma işlemi usb donanımın takılı olduğu sanal makinede sorunlara yol açabileceği için tercih edilmemelidir. Ekran görüntüsü aşağıda ki gibidir.

USB donanımın paylaşımına son verdiğimizde ekran görüntüsü ilk haline geri dönerek aşağıda ki gibi olacaktır.
NOT: Testler sırasında sistemim mavi ekran vererek yeniden başladı. Bu nedenle yazılımın kullanılacak olan usb donanımlar ile testleri yapıldıktan sonra production ortamında kullanılmasında fayda var. Ayrıca benzer bir ürün olarak KernelPro firmasının USB Over Ethernet uygulamasınıda deneyebilirsiniz. İlgili yazılıma http://www.kernelpro.com/index.html adresinden ulaşabilirsiniz.
NOT: Yazılımı VMware ESXi 3.5 üstünde çalışan Windows Server 2003 R2 üzerinde test ettim ve sistem başarılı bir şekilde çalıştı. Donanım yerine yazılım ile işi çözmek isteyenler testlerini yaptıktan sonra kullanmaya başlayabilirler.

Bu makalemde sizlere Microsoft Windows Server 2008 R2 Full sürüm sanallaştırma sunucumuz üzerinde çalışan sanal bir makineye usb donanımın nasıl takılabileceğini anlatmaya çalıştım. Faydalı olması dileğimle…
 
M. Hakan CAN