Sanallaştırma, makineyi daha verimli
kullanmak vb amaçlar için sanal makineler(virtual machines) aracılığıyla
fiziksel kaynağı parçalara bölüp kullanma yöntemidir. Sanal makinelerin ilk kez
tanımını yapan Popek ve Golberg’e göre sanal makine “gerçek makinenin etkili,
soyutlanmış bir kopyasıydı”. Yani sanal
makine bilgisayar içinde çalışan bir bilgisayardır diyebiliriz ancak bu sanal
makinenin donanımı da sanaldır.
Üzerinde sanallaştırma olmayan bir
kullanıcıya veya kurumsal ölçekli olarak kullanılan bir sunucuya ait performans,
herhangi bir performans ölçüm programı (Windows işletim sisteminde Görev
Yönetici) ile incelendiğinde İŞLEMCİ ve FİZİKSEL BELLEK kullanımının çoğunlukla
düşük seviyelerde kaldığı görülmektedir. Bilgisayarda bir iş yapıldığında bu
değerler kısa bir süreliğine artmakta ancak iş bittiğinde tekrar eski düşük
seviyelerine dönmektedir. Burada şu soru sorulabilir; acaba bilgisayarlara ait
fiziksel kaynakların atıl kalmayacağı bir havuz sistemi oluşturulsa ve fiziksel
kaynağa ihtiyaç duyan bir işlem yapıldığında işletim sistemi kaynağını bu
havuzdan alıp işi bittiğinde tekrar serbest bıraksa mevcut kaynakların
bilgisayarlar üzerinde gereksiz yere (işlem yapılmayan zamanlarda) tutulmasının
önüne geçilmesi nasıl sağlanır? İşte bu sorunun cevabıdır “Sanallaştırma”.
IBM firmasının 1970’li yıllarda ana bilgisayarlarının
(mainframe) mimarisinden kaynaklanan engelleri aşmak ve maliyetleri düşürmek
için yaptığı çalışmalar sonucu ortaya çıkmıştır. Daha sonra İntel ve AMD
işlemcilerine sanallaştırma için gerekli ayarlamaları yaptı. Bu sayede daha
cazip olan sanallaştırma işlemi büyük firmalar tarafından kullanılmaya
başlandı.
Günümüzde belirgin olarak iki farklı
sanallaştırma mimarisi kullanılmaktadır. Bunlar yazılımsal sanallaştırma ve
donanımsal sanallaştırmadır.
Yazılımsal sanallaştırmada sanal
makine bir işletim sistemi üzerine kurulur ve orada farklı bir katman gibi ev
sahibi(host) işletim sisteminden bağımsız olarak çalışır. Bu yöntemin en büyük
dezavantajı fiziksel kaynak ideal bir şekilde kullanılamadığından
performansının düşük olmasıdır. Bu mimari genelde basit test ortamlarında
kullanılır. Bu mimariyi kullanan sanal makine programları VMware Server, VMware
Workstation, Microsoft Virtual PC, Microsof Virtual Server. Yazılımsal sanallaştırma mimarisi aşağıdaki
şekile bakılırsa daha iyi anlaşılabilir.
Sanal makine yöneticinizin
desteklemesine göre istediğiniz işletim sistemini çalıştırabilirsiniz.
Donanımsal sanallaştırma mimarisinde
ise sanal makine yöneticisi doğrudan donanım üzerine yerleşir yani aradaki ev
sahibi(host) işletim sistemi olmaz. Bu mimarinin en büyük avantajı fiziksel
kaynakları doğrudan kullandığı için daha verimli çalışır ve performansı
yüksektir. Kapsamlı test ortamlarında bu mimari kullanılır. Microsoft Hyper-V,
VMware vSphere ESX/ESXi ve Citrix Xen Server sanal makine programları bu
mimariyi kullanırlar. Donanımsal sanallaştırma mimarisi aşağıdaki resimde
gösterilmiştir.
Sanal Sistemlerin Sanal olmayan Sistemlere göre Avantajları ve
Dezavantajları nelerdir?
Sanal sistemlerin gerçek sistemlere
göre çok fazla avantajları vardır. İlk olarak tekil kullanıcılar için ne gibi
avantajları var ona bakalım. Sanallaştırma tekniği sayesinde bilgisayarlarda
aynı anda farklı işletim sistemi çalıştırabiliriz. Örneğin, Linux işletim
sistemi(İS) kurulu bir bilgisayarda sanal makine sayesinde Windows İS ya da
başka bir işletim sistemi çalıştırabiliriz. Bunun ne gibi avantajı olur? Linux
İS’ de çalıştıramayacağımız programı sanal makine de çalıştırıp
kullanabiliriz. Bunun tam tersi de
geçerlidir. Yani Windows İS kurulmuş olan bir bilgisayarda, sanal makine
sayesinde Linux İS kurup çalıştırabiliriz. Sanal makinelere sayesinde
bilgisayarımızı küçük bir laboratuara çevirip çalışmalar yapabiliriz.
İnternette gezinirken sanal
makineler güvende olmamızı sağlar. Özellikle Windows İS kullanıcılarını
bilgisayarlarına internette gezerken virüs bulaşma ihtimali yüksek olduğu için
sanal makine kullanmak gerçek sistemlerinin korunmasına yardımcı olur. Sanal
makine kullanmanın bir diğer artısı ise şüphe duyduğumuz programları deneyip
kontrol etme olanağı sağlar.
Günümüzde işletim sistemlerinin
yönetimi için bilgisayarın yanına gitmeden, uzaktan erişim protokolleri (Uzak
Masaüstü, SSH, X-Server Sistemler…) ile erişim sağlanabilir ve bu sayede
işletim sistemlerine ihtiyaç duyacağı kadar kaynak tahsis edilebilir. Örneğin
Test-Geliştirme amaçlı işletim sistemine maksimum 6GB RAM ve 2 CPU’ya kadar
kullanım hakkı verilirken, Web Sunucu olarak kullanılacak işletim sistemine
20GB RAM ve 4 CPU’ya kadar kullanım hakkı verilerek ihtiyaca uygun, esnek
performans ataması yapılabilir. Zaman içinde ihtiyaçların değişmesi ile
fiziksel hiçbir müdahale gerektirmeden sanallaştırma yönetimi yazılımı
aracılığıyla kaynak kullanımı oranları değiştirilebilir. Örneğin Web Sunucu
için RAM yetersiz olmaya başladığı anda diğer sistemlere tahsis edilen maksimum
kullanılabilecek RAM miktarı düşürülerek veya hazırda bekletilen RAM kaynağından
Web Sunucuya tahsis edilerek Web Sunucusuna ait performans arttırılabilir. Bu
yöntem aracılığıyla birden fazla sunucu yerine tek bir sunucu temin edilerek
bakım maliyeti, kullanılan elektrik tüketimini düşer. Buna ilaveten tahsis
edilen fiziki alanın küçültülmesi ve kablo karmaşasının azaltılması gibi birçok
avantaj sağlanabilir.
Sanal sistemlerin görüldüğü üzere
her ölçekteki kurumlar için de büyük avantajları vardır. Sanal sistemler
sayesinde kurumlar büyük ve bir o kadar karmaşık olan sistem odalarından
kurtuluyorlar. Bunun yanında bu sistem odalarının soğutma maliyeti de düşüyor
ve doğal olarak elektrik tüketim maliyetleri de düşüyor.
Bir sistem odasında bir sürü
fiziksel sunucu kullanmak yerine sanal sunucular kurmak her açıdan daha
kullanışlıdır. Bir arıza çıktığında sorunu çözmek sanal sunucularda daha
kolaydır. Buna ilaveten sanal sistemlerin yedeklenmesi ve tekrar kurulması
kolay olduğu için bir sorun olduğunda ya da sistem çöktüğünde yeni sistemi
kurmak çok kolay ve hızlıdır. Sanal sistemler donanım özelliklerini düzenlemek
adına da kolaylıklar sağlar.
Sanal sunucu kullanmak firmalara tek
merkezden yönetim olanağı sağlar. Aynı zamanda lisans ücretlerinden de kar
ederler. Özetlemek gerekirse sanal sistemleri kullanmak hem kişilere hem de
kurumlara çok ciddi avantajlar sağlıyor.
Sanallaştırma alanında dikkat çeken belli başlı ürünler
hangileridir? Piyasadaki penetrasyon oranları nedir? Ürünlerin birbirlerine
göre avantaj ve dezavantajları nelerdir? Türkiye’de hangi ürünler
bulunabilmektedir? Hangi ürün tercih edilmelidir.
Sanallaştırmanın avantajlarından
bahsettikten sonra şimdi de bu alanda hangi ürünler var onlarda bahsedelim.
Piyasa da dikkat çeken ürünlerden bazıları şunlar;
VirtualBox(Windows/Linux/Mac, free), Parallels(Windows/Linux/Mac, $79.99),
VMware(Windows/Linux, Basic:Free, Premium:$189), QEMU(Linux, Free), Windows
Virtual PC(Windows, Free).
Bu yazıda en fazla kullanılan Vmware
ve VirtualBox sanal makinelerinden bahsedeceğiz. VMware firmasının hem kişilere
yönelik ücretsiz sanal makinesi VMware player vardır hem de kurumlara yönelik
daha gelişmiş VMware Workstation sanal makinesi vardır. Bunlara ilaveten daha
özelleşmiş farklı ürünleri vardır. Masaüstü ve sunucu/iş istasyonu olarak
kullanılabilen VMware Workstation ve GSX ürünleri bir işletim sistemi üzerinde
çalışır yani yazılımsal sanallaştırma mimarisi kullanır. Buna karşılık ESX
ürünü donanımsal sanallaştırma mimarisin kullanır. VMware sanal makinelerinin
üzerinde kurulu işletim sistemlerine sanal sürücüler sağlaması güzel bir
avantajdır.
Oracle firmasının geliştirmekte
olduğu VirtualBox sanal makinesi masaüstü sanallaştırması için geliştirilmiş
ücretsiz güzel bir üründür. İşletim sistemi üzerinde çalışır yani yazılımsal
sanallaştırma mimarisi kullanılmıştır. Windows, Linux, Mac ve Solaris işletim
sistemleri üzerinde çalışabilen bir sanal makine olması kullanabilirlik adına
bir avantajdır. Açık kodlu bir ürün
olması sebebiyle ihtiyaca göre geliştirilebilir. Bu nedenle JAVA gibi
platformdan bağımsız, işletim sistemi bağımlı bir üründür.
05.09.2012
Recep
Özbay
Referanslar