Sanallaştırma Nedir? - Programlar.com
Bilişim dünyasını yakından takip edenlerin son yıllarda çok sık duyduğu bir kavramdır Sanallaştırma (Virtualization).
Getirdiği yenilikler ile pek çok firmanın ilgisini çeken bu kavram üzerine yoğun bir şekilde eğitimler ve seminerler düzenlenmekte. Peki, sanallaştırma kavramı tam olarak nedir? Bizlere ne gibi katkılar sağlar?
Sanallaştırma, IBM'in 1960'lı yıllarda geliştirmeye başladığı bir teknolojidir. Bu teknolojinin temelinde fiziksel bilgisayar sistemlerinin sanal kopyalarının oluşturulması yatar. Sanallaştırma sayesinde işlemci (CPU), bellek (RAM), sabit disk ve ağ adaptörleri gibi mevcut fiziksel kaynaklarınız mantıksal bölümlere ayırabilir ve her mantıksal bölümün farklı bir bilgisayar gibi davranmasını sağlayabilirsiniz.
Sanallaştırma teknolojisi; donanım platformu üzerine kurulu olan hypervisor adındaki ana bir yazılımın, bir bilgisayar ortamını simüle eden sanal bir makine oluşturulması ve bu sanal makine içerisinde "misafir" yazılımları çalıştırabilmesi temeline dayanır. Genellikle bir işletim sistemi olan bu "misafir" yazılımlar, tıpkı fiziksel bir bilgisayardaymış gibi çalıştırılabilirler.
Yukarıdaki grafik, fiziksel ve sanallaştırma temelli sistemlerin işleyişini yansıtmaktadır. Buna göre, sanallaştırma teknolojisi olmayan bir bilgisayarda mevcut donanımları kullanan bir işletim sistemi bulunur ve tüm uygulamalar bu işletim sistemi içerisinde çalıştırılır.
Sanallaştırma teknolojisinin kullanıldığı bilgisayarlarda ise birden fazla işletim sisteminin aynı anda çalıştırılabilmesine olanak veren Sanal Makine Monitörü (Virtual Machine Monitor ya da Hypervisor) katmanı bulunur. Doğrudan donanım platformuna erişimi bulanan bu katman bilgisayarların içerisinde, donanım ve işletim sistemi bulunan sanal bilgisayarlar oluşturur. Bu sanal bilgisayarların her birinde farklı uygulamalar, birbirlerinden tamamen bağımsız bir şekilde çalıştırılabilir.
Sanallaştırma teknolojisinin türleri
Sanallaştırma teknolojisinin yaygın olarak kullanılmakta olan çeşitli türleri vardır:
Sunucu Sanallaştırması: Sanallaştırma deyince akla ilk gelen türdür ve çok sayıda sunucuyu tek bir fiziksel sunucuda çalışacak hale getirebilmenize olanak verir.
MasaüstüSanallaştırması: Masaüstü bilgisayarların sanallaştırılarak kullanıcıların uzaktan erişimine açılmasını sağlar.
Uygulama Sanallaştırması: Bu sanallaştırma türü uygulamaların, istemcilere gerçek anlamda kurulmadan çalıştırılabilmesine olanak verir.
Ağ Sanallaştırması: Bu tür, sistemlerin bağlanabildiği sanal ağlar oluşturulmasını sağlar ve bu sanal ağlara bağlı sistemler, tıpkı fiziksel bir ağa bağlanmışlar gibi haberleşebilirler.
Oturum Sanallaştırması: Uzak ofis çalışanlarının ofislerindeki güvenli ağlara ya da veri merkezlerine VPN alt yapısına gerek olmadan bağlanabilmesini mümkün kılan sanallaştırma türüdür.
Depolama Sistemleri Sanallaştırması: Verilerin sanal depolama sistemleri tarafından yönetilmesine olanak veren sanallaştırma türüdür.
Sanallaştırma teknolojisi son yıllarda bilişim teknolojileri dünyasında oldukça yaygın bir şekilde kullanılmaktadır. Özellikle maliyetleri düşürmeyi sağlayan ve fiziksel sistemlere oranla çok daha kolay bir şekilde yönetilebilen mantıksal sistemler, işletmeleri cezbediyor. Sanallaştırma sayesinde, kısıtlı bir yüzde ile çalıştırılan yüzlerce fiziksel sunucuyu sanallaştırıp yalnızca birkaç fiziksel sunucu üzerinde çalıştırarak bu sunuculardan en yüksek verimi alabilen firmalar, başta insan kaynağı ve enerji tüketimi olmak üzere çeşitli konularda tasarruf olanağına sahip oluyorlar. Örnek vermek gerekirse; sanallaştırma konusunda kendi çözümlerini de üreten yazılım devi Microsoft, Türkiye'deki 477 olan fiziksel sunucu sayısını bu teknoloji sayesinde 20'ye düşürmüştür. Ayrıca 19TB'lık depolama alanı gereksinimi, sanallaştırmanın kullanımı ile 8TB'a düşmüştür.
Sanallaştırmanın temel faydaları şunlardır:
Fiziksel kısıtlamaların ortadan kalkması
Tek bir merkezden pekçok sunucunun yönetilebilmesi sayesinde yönetimsel yükün minimuma indirilmesi
Alt yapı maliyetlerinin büyük oranla aşağı çekilmesi
Yeni sunucuların kullanıma sokulması işleminin fiziksel sunuculara oranlar oldukça kısa sürmesi
Aynı makine üzerinde hem Windows hem de Linux tabanlı işletim sistemlerini çalıştırabilme
Halihazırda bu gözde teknolojinin özellikle Sunucu Sanallaştırma konusunda hem kurumsal hem de kişisel kullanıma uygun çeşitli varyasyonları bulunmaktadır. Sunucu sanallaştırma teknolojileri alanında Microsoft, WMware ve Citrix gibi firmalar sundukları çözümler ile diğer firmalardan bir adım öne çıkıyorlar. Bu firmaların geliştirdiği ürünler farklı hedef kitleleri, teknolojiler ve verimliliğe sahip olmalarına rağmen temelde sanallaştırma ortak paydasında buluşuyorlar.
Microsoft'un sunucu sanallaştırma konusundaki en önemli ürünü olan Hyper-V, Windows Server 2008 işletim sistemi ile birlikte gelir. Hyper-V, 64 bit'lik işlemciye sahip sistemlerde çalışabilecek şekilde tasarlanmıştır. Yüklenebilmesi için herhangi bir işletim sistemine gerek duymayan Hyper-V doğrudan fiziksel donanımın üzerine kurulur ve tüm sanal işletim sistemleri bu yazılım üzerine kurulur.
Hyper-V'nin kurulabilmesi için ayrıca fiziksel sunucunuzun Intel VT veya AMD-V donanım destekli sanallaştırma teknolojilerini desteklemesi gerekir. Microsoft Hyper-V, hem fiziksel hem de sanal kaynakları yönetebilmenize olanak veren araçları, System Center adlı yönetim panelinde bir araya getirmiştir. Hızlı Geçiş (Quick Migration) özelliği sayesinde bir fiziksel sunucuda çalışmakta olan sanal sunucuları durdurup bu sunucuların en kısa sürede başka bir fiziksel sunucuda çalışmaya devam etmesine olanak veren Hyper-V'nin diğer özellikleri ise şunlardır:
Sanal makine başına 64 GB gibi yüksek bir bellek desteği
Sanalsistemlerin yedeklenebilmesi ve sorun yaşanması durumunda sistemlerin eski hallerine dönüştürülebilmesi
32 bit ve 64 bit'lik farklı Windows ve Linux işletim sistemlerini aynı anda çalıştırabilme
Donanımlara kolay erişim ve donanımların kolayca paylaştırılabilmesi
Sanallaştırma çözümleri konusunda piyasa lideri olan ve bu konuda pek çok ürüne sahip olan VMware'in sunucu sanallaştırma konusundaki ticari ürünü ESX Server, gelişmiş özellikleri ile dikkat çekiyor. VMware ESX Server da tıpkı Microsoft'un Hyper-V'sinde olduğu gibi doğrudan donanım üzerine kurulur ve farklı türlerdeki işletim sistemlerini konuk işletim sistemi olarak çalıştırabilir. ESX Server'in ilk anda dikkat çeken en önemli özelliği "VMotion" adındaki isteğe bağlı bir özelliktir.
VMotion; sanal sunucuların, herhangi bir hizmet kesintisine uğramadan aynı veri depolama alanına bağlı fiziksel sunucular arasında taşınabilmesine olanak verir. Örneğin; "A" ve "B" isminde aynı veri depolama alanına bağlı iki fiziksel sunucuya sahipsiniz. Bu fiziksel sunucuların her birinde ESX Server hypervisor katmanı üzerine kurulu 2'şer adet sanal sunucu bulunuyor. Herhangi bir nedenle "A" fiziksel sunucusunun hizmetini bir süreliğine durdurmak zorunda olduğunuzu varsayalım. Sunucularınızda ESX Server bulunmasaydı "A" fiziksel sunucunuzun geçici olarak devre dışı bırakılması ve kullanıcıların bir başka sunucuya yönlendirilmesi ya da erişimlerinin geçici olarak engellenmesi gerekirdi. Ancak VMotion özelliği sayesinde "A" fiziksel sunucunuzdaki çalışmakta olan sanal sunucularınızı hiçbir hizmet aksaklığı olmadan çalışır durumda "B" fiziksel sunucuna taşıyabilirsiniz.Böylece bu sanal sunucular "B" sunucusunda hizmet vermeye devam ederler. "A" fiziksel sunucusunu tekrar kullanmaya başladığınızda sanal sunucularınızı tekrar bu fiziksel sunucuya alabilirsiniz. Bu oldukça yararlı özellik sayesinde herhangi bir hizmet kesintisi olmadan ve kullanıcıların haberi olmadan sanal sunucularınızı fiziksel sunucular arasında kolaylıkla taşıyabilirsiniz.
VMware ESX Server'in diğer önemli özellikleri:
Sanal makinelerin dosya depolama işlemlerini yüksek performanslı paylaşılan depolama alanı ile merkezileştirebilen VMFS küme dosya sistemi
Her sanal makinenin kendi IP ve Mac adreslerine sahip olabilmesi için Ağ Kartlarının (NIC) sanallaştırılması
Her sanal makine için 64GB'lık bellek desteği
Tek bir fiziksel sunucuda 128'e kadar sanal sunucu oluşturabilme
Masaüstü bilgisayarınızın sürücüsünden fiziksel sunucu üzerindeki sanal bir sunucuya yazılım yükleyebilme
Sanallaştırma devi VMware firmasının ESX Server ürününün özellikleri kırpılmış hali olan ESXi, kişisel kullanımın yanı sıra "hafif" kurumsal sunucu sanallaştırma çözümü olarak da kullanılabilir. Tek başına ücretsiz bir şekilde edinilebilenESXi ayrıca ESX Server ürünleri içerisinde yerleşik olarak da satın alınabilir. Masaüstü bilgisayarınızda sanallaştırma ihtiyaçlarınız için kullanabileceğiniz ESXi yazılımını ayrıca sistemi çok fazla zorlamaması ve kolayca kurulup yönetilebilmesi gibi özelliklerinden dolayı sunucularınızda ESX Server'ın kullanılmasına gerek olmayan işlemlerde de kullanabilirsiniz.
ESXi, temelde ESX Server ile aynı yöntem ile çalışır. Doğrudan donanım platformu üzerine kurulan ESXi'ın Sanal Makine Monitörü katmanı, ana işletim sistemine gerek duymadan istediğiniz işletim sistemini konuk işletim sistemi olarak çalıştırabilmenize olanak verir. ESXi, genel olarak ESX Server'ın yukarıda anlattığımız özellikleri ile aynı özelliklere sahiptir ancakbaşta VMotion olmak üzere çeşitli özelliklerini içermez.
Sanallaştırma kavramını yakın gelecekte oldukça yoğun bir şekilde duymaya devam edeceğiz gibi görünüyor. Özellikle sürekli patlak veren ekonomik krizler ile boğuşan ve enerji konusunda ciddi sinyaller vermeye başlayan dünyanın, sanallaştırma teknolojisinin nimetlerinden yoğun bir şekilde yararlanmak isteyeceği aşikar.
Sunucu sanallaştırma çözümleri konusunda önde gelen bir diğer marka ise Xen'dir. Cambridge Üniversitesi tarafından geliştirilen bu sanal makine monitörü mimarisi şuan Citrix firması tarafından ücretsiz bir şekilde dağıtılmaktadır. Bu mimari Xen topluluğu tarafından geliştirilmeye devam etmektedir ve Citrix XenServer Enterprise Edition'da olduğu gibi bir sanallaştırma platformunun içerisinde ya da Sun Microsystems'inSolaris işletim sisteminde olduğu gibi işletim sistemine gömülü olarak piyasada bulunmaktadır.
Xen'in çalışma prensibi hem Hyper-V hem de ESX Server'dan farklıdır. Xen, "paravirtualization" denen bir sanallaştırma yöntemini kullanır. Bu yöntemde hypervisor, tam sanallaştırma yapan Hyper-V ve ESX Server'ın aksine doğrudan donanım platformunun üzerine değil mevcut bir ana işletim sisteminin içerisine yüklenir. Bu ana işletim sistemi çalıştığında çalışmaya başlayan Xen, konukişletim sistemlerinin ana işletim sistemi aracılığıyla donanım ile haberleşmelerini sağlar.
Paravirtualization yönteminin en önemli özelliği; yan yana çalışan sanal işletim sistemlerinin yalnıza birbirlerini etkileyecek işlemlerinin sanallaştırılması ve böylece sanal makinelerin, mevcut donanım üzerine kurulabilecek fiziksel bir makinenin performansına yakın bir performansta çalışabilmesidir. Xen'in kullandığı bu yöntemde konuk makinelerin donanım ile haberleşebilmeleri için üzerlerinde çalıştıkları ana işletim sistemin modifiye edilmesi gerekir. Ayrıca işlemci destekli sanallaştırma yapmıyorsanız konuk işletim sistemleri de modifiye edilmedir. Xen'in diğer özellikleri:
Tıpkı ESX Server'ın VMotion özelliğinde olduğu gibi sanal makinelerin çalışırken ağ üzerinden başka fiziksel makinelere taşınabilmelerine olanak veren "Canlı Göç" özelliği
32'ye kadar işlemci desteği
Kişisel Sanallaştırma Çözümleri
Önceleri Connectix firması tarafından geliştirilen, daha sonra Microsoft tarafından satın alınan Virtual PC sanallaştırma yazılımı 2006 yılında bu yana ücretsiz bir şekilde dağıtılmaktadır. Virtual PC sayesinde masaüstü bilgisayarınızda aynı anda birden çok işletim sistemi çalıştırabilir ve yalnızca tek bir tık ile bu işletim sistemleri arasında geçiş yapabilirsiniz. Virtual PC, ana işletim sistemi üzerine kurulur ve konuk işletim sistemleri oluşturabilmenize olanak verir.
Çeşitli nedenlerle masaüstü bilgisayarınızda birden fazla işletim sistemi kullanmak zorunda kalabilirsiniz. Bu işletim sistemlerini kurmak için diskinizi bölmeli ve farklı bölümlere farklı işletim sistemleri kurmalısınız.Dahası bilgisayarınıza kurduğunuz işletim sistemleri arasında geçiş yapabilmek için bilgisayarınızı yeniden başlatmak zorundasınız. Örneğin; bir yazılım geliştiriyorsunuz ve yazılımızın farklı işletim sistemlerinde nasıl çalıştığını test etmek istiyorsunuz. Bunun için ya farklı işletim sistemleri kurulu birden çok bilgisayar ileçalışmalı ya da sürekli bilgisayarınızı yeniden başlatarak farklı işletim sistemlerini çalıştırmalısınız. Ancak Virtul PC sayesinde bunların hiçbirine gerek yok. Aynı anda çalıştırabildiğinizi farklı işletim sistemleri arasında hızlı şekilde geçişler yaparak geliştirdiğiniz yazılımınız farklı işletim sistemlerindeki performanslarını kolaylıkla görebilirsiniz.
Microsoft'un kişisel sanallaştırma çözümü olan Virtual PC'nin göze çarpan özellikleri:
Fiziksel kaynakların (donanımların), kurulum sonrasında bile sanal makineler arasında kolaylıkla paylaştırılabilmesi
Disk durumunu kaydetme özelliği ile sanal işletim sistemlerin kolaylıkla eski duruma geri döndürülebilmesi
Ana işletim sistemi ve konuk işletim sistemleri arasında kopyalama, yapıştırma, sürükleme, bırakma gibi işlemlerin gerçekleştirilebilmesi