24 Mart 2014

Vmware Sanal Makinede SSD Disk Nasıl Emüle Edilir ?

Her ne kadar günümüzde fiyatları ucuzlamaya başlasa da büyük disk alanına sahip olan SSD ler, halen normal sabit disklerden 4-5 kat daha pahalı. Bu nedenle de pek çok kişi testlerin de SSD lere halen kolayca ulaşamıyor.

Nested virtualization denemelerimde Vmware'in SSD gerektiren yeni Swap to host cache özelliği ve daha da önemlisi ESXi 5.5 ile birlikte gelen ve oldukça ses getirsen vSAN özelliğini nested ESXi sistemlerimde deneyebilmek için sanal bir SSD çözümüne ihtiyaç oluyor.

Sanal bir SSD ye kavuşmanız için yapmanız gereken oldukça basit.

İlgili VM'in bulunduğu klasöre erişim vmx dosyasını bir text editör ile açın ve disklerin tanımlandığı bölüme gidin.

scsiX:Y.present = "TRUE"
scsiX:Y.fileName = "VMware ESXi 5-0.vmdk"

gibi satırlar olmalı. Burada X controller ID yi Y ise disk id sini gösterir.

Birden fazla diskiniz varsa birden fazla kez bu tip satırlar göreceksiniz.

SSD olarak görünmesini istediğiniz satırları seçin ve bir alt satıra (bu şart değil düzen açısından böyle yaptım)

scsiX:Y.virtualSSD = 1

parametrelerini girin ve vmx i kaydedip kapatın. İlgili sanal makineyi çalıştırın ve deneyin ( bu parametre versiyon 8 ve üzeri VM'ler için desteklenmektedir).

Sanal SSD ayarı yapılmış nested ESXi


Bu parametreler sayesinde ESX yanında SSD tanıyan Windows 8.1 , Windows 8, Windows 7 v.b. işlemlerde de SSD gerektiren testleri kolaylıkla yapabilirsiniz.

Unutmadan eğer amaçlananın tersine normal sabit disk yerine makinenizde sadece SSD var ise ESXi 5 bunu otomatik olarak tüm sanal diskler için SSD olarak tanıyacaktır. Bu durumda eğer sanal disklerinizden her hangi birini non-SSD göstermek isterseniz bu kez ilgili vmx de ilgili disk için:

scsiX:Y.virtualSSD = 0 parametresini girip kaydetmeniz yeterli olacaktır.




18 Mart 2014

Citrix XEN Server 6.2 SP1'e Manual Update

Bildiğiniz gibi Citrix, yaklaşık 6-7 ay kadar önce sunucusanallaştırma yazılımı XEN Server'ı açık kaynak kod yaptı ve ücretsiz kullanıma sundu. Ancak bu ücretsiz kullanıma XEnCenter üzerinden hostların update'i dahil değil. 

Bunun için Citrix'den subscription almanız gerekiyor. Eğer ücretsiz XEN Server kullanıyorsanız da komut satırından bağlanıp güncellemeleri yapmanız mümkün. 

Ben aşağıda yeni çıkan SP1 e geçişi için komutları verdim. Bu adımlar tüm güncellemeler için de geçerli.


  1. Citrix'den dosyayı indirin.
  2. Zip'i açın ve dosyaları sunucunun root home dizinine kopyalayın.
  3. Host'a SSH bağlantısı kurun ve aşağıdaki komutu çalıştırın
xe patch-upload file-name=XS62ESP1.xsupdate
4. Bir kaç dakika bekledikten sonra bir UUID çıkacaktır. Bu UUID yi ve XenCenter üzerinden erişebilecek host-UUID sini kullanarak aşağıdaki komutu çalıştırın.

xe patch-apply uuid=0850b186-4d47-11e3-a720-001b2151a503 host-uuid=5b280513-bfcf-4ce0-9d49-25aa61c110d9

11 Mart 2014

Sanallaştırma 2.0: Nested Virtualization

İlk tohumları yıllar önce atılmasına rağmen son 10 yılda Vmware ile pek çoğumuzun hayatına giren , sonrasında Microsoft'un HyperV'si , açık kaynak kökleri olan Citrix XEN ve Linux kernel ile tamamen açık kod KVM'nin gelişimleriyle artık iyice yaygınlaşan sunucu sanallaştırma  bilişim sektöründe en büyüğünden en küçüğüne herkesin vazgeçilmez konusu durumunda. 

Bir tarafta sunucu sanallaştırma sayesinde artık tek bir fiziksel sunucu üzerinde onlarca, her biri diğerinden farklı olabilen işletim sistemlerine sahip, sanal makine çalıştırmak oldukça kolay bir iş. Bu sayede enerji tasarrufundan yönetim kolaylığına , sunucu taşınabilirliğinden felaketten kurtarma kolaylığına kadar pek çok özelliğe ve güzelliği de sahip oluyoruz. 

Diğer tarafta ise Amazon Web Services ile başlayan , Rackspace Cloud , Gogrid , IBM SmartCloud (SoftLayer), Microsoft Azure v.b. ile firma ürün çeşitliliği kazanan, temel çıkış noktası ilk yatırım maliyetini azaltmak , kullandığın kadar öde prensibini temel prensibi yapan  public cloud (genel bulut) anlayışı, sanallaştırma teknolojilerini kullanarak bilişim kaynaklarını bir hizmet olarak sunarak ciddi bir talep görüyor ve gelişmesini sürdürüyor.

Bu iki tarafı "kabaca" private cloud (özel bulut - kurum içi host edilen Vmware ESX , MS HyperV, Xen ve KVM v.b. yapılar) 'a karşı public cloud ( genel bulut - kullandığın kadar benzeri modeller sunan AWS, Azure v.b. yapılar) niteleyebiliriz. 

Aslında bu iki kavram (ya da bulut çeşiti diyelim) birbirlerine rakip olmaktan ziyade, birbirlerini tamamlayarak farklı ihtiyaçlara yönelik çözümler olarak konumlandırılarak maksimum fayda sağlanabilir. Özellikle bu amaçla hem public cloud sağlayıcılar hem de sanallaştırma platformu sağlayan firmalar hybrid (karma) cloud kavramıyla bu iki cloud u birbiriyle haberleştirip entegre eden çözümler sunuyorlar.

Ancak her ne kadar bir entegrasyon çabası varsa da on-premise dediğimiz kendi yerlerimizde tuttuğumuz bilişim altyapılarını bulut ortamlarına taşımak ciddi zorluklar taşıyor. Örneğin: Public Cloud sağlayıcıları, doğal olarak hypervisor erişimi vermedikleri için özellikle taşıma işlemlerinde işimizi çok kolaylaştıracak aynı veya farklı hypervisorler arası hypervisor tabanlı çözümlerden mahrum kalıyoruz. Ağ yapılarımızı taşırken kendi IP yapımızı genelde koruyamıyor, public cloud sağlayıcının bize sunduğu sınırlı ağ yapısı ve VPN ile ciddi bir şekilde sınırlanıyoruz ve ek tasarım ve konfigürasyon sürecine katlanmak zorunda kalıyoruz.

Peki hem public cloud'un getirdiği nimetlerden faydalanırken hem de kendimize ait hypervisor rahatlığında çalışmak için ne gerekli ? Bunun cevabı: çok yeni gelişmeye başlamasına rağmen nested hypervisor ( hypervisor üzeri bağımsız hypervisor) teknolojisi gibi görünüyor. 




Düşünelim bir kere: Vmware ESX altyapımızı neredeyse hiç değiştirmeden hedef tarafta fiziksel bir makineye ihtiyaç duymadan ağ altyapısı , sanal makineler ve diğer ayarlar ile kolayca public bir cloud sağlayıcıya taşıyabilmek ne kadar da iyi olurdu değil mi ?  Public cloud'un getirdiği elastikiyet , kullandığın kadar öde avantajı v.b. alıştığımız altyapı ve yönetim yapısıyla. Kulağa oldukça hoş geliyor :) .

Aslında Nested Hypervisor teknolojsine kısmen aşinayız diyebilirim. Vmware Workstation üzerinde ESX Server ve HyperV Server çalıştırmak , ESX server üzerinde ESX Server ve HyperV çalıştırmak daha önce denediğimiz ya da denemeyi aklımıza getirdiğimiz en bilindik uygulamaları.

Teknik olarak Nested Hypervisor kavramı: seviyenlendirme yaparak Type0 bir HyperVisor üzerinde değiştirilmemiş bir Type1 ( örneğin KVM üzerinde KVM) çalıştırma tekniği olarak tanımlanabilir. Bu tekniğin uygulanması CPU ların sanallaştırma uzantı komutlaının gelişmesiyle uygulanabilir hale gelmiştir. Şu anda bu alanda ciddi anlamda test ve geliştirmeler olmasına rağmen henüz production ortamlarında kullanılabilecek stabiliteye sahip değil, ancak yakın bir zamanda özellikle Intel'in Haswell mimarisinde gelen özellikler ile hızlıca bazı production uygulamalarına hazır hale geleceğini düşünüyorum.

Sonuç olarak productiona hazır bir nested virtualization çözümü ile:


  • Tam kullanıcı kontrollü hypevisorler
  • Sanal makineler üzerinde Openstack ve Cloudstack uygulamaları
  • Test ve demolar için kolayca sanallaştırma ortamı hazırlamak
  • Hypervisorler arası live migration, vmotion
gibi kolaylıkların hayatımıza girmesi mümkün olacak.