Sanallaştırma Nedir?
Merhabalar;
Bu makalemde sizlere günümüzün en popüler teknolojilerinden birisi olan Sanallaştırma teknolojisinin yapısını anlatmaya çalışacağım. Geçmişi çok eskilere dayanmasına rağmen günümüzde x86 platformlarının yayılması ve bu platformlar için güçlü ve performanslı donanımların sunulması sayesinde sunucuların ve hatta evlerimizde ki bilgisayarların oldukça güçlenmesiyle birlikte orta-üst seviye bir sisteme sahip olan son kullanıcı dahi kendi test ortamını oluşturabiliyor. Büyük işletmeler ve kurumlar ise bütçelerinin genişliği sayesinde çok daha güçlü donanımlar ve depolama alanları satın alarak sanallaştırma teknolojilerini ürün ortamlarında da kullanabiliyorlar. Bugün hemen hemen her yerde sanallaştırma teknolojisine geçmiş kobiler, orta ve büyük ölçekli şirketler ile kurumlar görebiliriz. Geçmeyenlerin çok büyük bir kısmı ise sanallaştırma teknolojisini test etmekte ve yakın bir gelecekte geçmeyi planlamaktadır.
Sanallaştırma 1970 li yıllarda IBM firmasının Mainframe yapısının mimarisinden kaynaklanan engelleri aşmak ve maliyetini aşağıya çekmek amacıyla yapmış olduğu bir güncelleme ile hayatımıza girmiş oldu. Ardından Intel ve AMD işlemcilerine sanallaştırma desteğini eklediler ve kurumlar sistem odalarında bu teknolojiyi uygulamaya başladı. Gelişen işlemci teknolojisi sayesinde artık ev ortamında dahi sistem uzmanları kendi test ortamlarını kurabilmektedirler. Günümüzde Microsoft, VMware, Citrix gibi firmaların sanallaştırma çözümleri mevcut. Kitabımızın konusu ise Microsoft’ un Hyper-V teknolojisi olacak.
Temel olarak baktığımızda sanallaştırma fiziksel bir donanım üzerinde Hypervisor yazılımı sayesinde birden çok işletim sistemini birbirinden bağımsız olarak çalıştırmaktır. Bu sayede yönetilebilirlik, yedeklilik ve ekonomik anlamda bize pek çok avantaj sunulmaktadır. Bu avantajlara maddeler halinde bakacak olursak;
- Sistem odalarında daha az fiziksel sunucu çalışacağından elektrik tüketimi çok daha az olacaktır.
- Elektrik tüketiminin azalması sayesinde açığa çıkan sıcaklık da oldukça azalacaktır. Bu sayede soğutma ihtiyacı da azalacağından ikinci elektrik tasarrufu da yapılmış olmaktadır.
- Projelerde istenen test ortamlarının uzun satın alma süreçlerine gerek kalmadan sanal makineler üzerinde karşılanabilmesi sayesinde ekstra donanım maliyetlerinin önüne geçilebilmektedir.
- Sanal makinelerin ihtiyaçları doğrultusunda donanım özelliklerinin (işlemci sayısı, bellek ve disk alanı gibi) çok daha rahat düzenlenebilmesi sayesinde büyük yönetimsel kolaylıklar getirmektedir.
- Fiziksel sunucuların üzerinde tek bir rol çalıştırmanın (print server, file server, dhcp, antivirüs server vb.) sonucunda ilgili sunucunun performansının sadece %10-15 ini kullanması nedeniyle oluşan atıl gücün tamamına yakınının kullanılabilmesi sayesinde verimlilik kazandırmaktadır.
- Sanallaştırma sunucularının cluster ortamında çalıştırılması sayesinde hizmet devamlılığı arttırılmakta ve felaket senaryolarında çok daha hızlı çözüme ulaşılmaktadır.
Sanallaştırma teknolojisinin ne kadar faydalı bir teknoloji olduğunu görebiliyoruz. Ancak bu teknolojinin uygulanmasının oldukça kolay olması (sanal makinelerin birkaç tıklama ile oluşturulup üzerlerine işletim sistemlerinin kurulmasının kapsadığı sürenin 10 dakika civarında olması), eğer düzgün planlama, yönetim ve yedekleme dikkate alınmaz ise sanal makine ordularının arasında kaybolma ve ortamı yönetememe gibi ya da çok daha üzücü durumlar ile karşılaşılmasını da beraberinde getirmektedir.
Hypervisor Nedir?
Fiziksel bir sunucu üzerinde birden fazla işletim sistemi yani sanal makine çalıştırılmasına imkan veren yazılıma Hypervisor denir. Hypervisor yazılımının direk donanım üzerine (bare-metal) kurulabilen ya da bir işletim sisteminin üzerine kurulan tipleri bulunur. Bunlara daha yakından bakalım.
- Tip 1: Bu yöntemde hypervisor yazılımı direk olarak donanımın üzerine kurulur ve sanal makineler hypervisor yazılımının üzerine kurulur. Bu türdeki hypervisor sistemlerinin en büyük artısı donanımın üzerinde çalışmaları sebebiyle fiziksel sunucunun kapasitesinin tamamından yararlanmayı sağlaması ve bu sayede getirdikleri yüksek performansdır. Ürün ve kapsamlı test ortamlarında kullanılan hypervisor tipidir. Bu tip hypervisor kullanan ürünlere örnek vermek gerekirse;
- Microsoft Hyper-V
- VMware vSphere ESX/ESXi
- Citrix Xen Server
Bu tip hypervisor yapısını daha iyi kavrayabilmek için aşağıda ki şekil bize yardımcı olacaktır.
- Tip 2:Bu yöntemde ise hypervisor çalışan bir işletim sisteminin üstüne kurulur ve işletim sisteminin üzerinde bir katman olarak çalışır. Bu yöntemin en büyük dezavantajı ise performans kayıplarının yaşanması ve fiziksel sunucunun kapasitesinden tam olarak faydalanamamaktır. Basit test ortamlarında kullanılan hypervisor tipidir. Bu tip hypervisor kullanan ürünlere örnek vermek gerekirse;
- Microsoft Virtual Server
- Microsoft Virtual PC
- VMware Server
- VMware Workstation
Bu tip hypervisor yapısını daha iyi kavrayabilmek için aşağıda ki şekil bize yardımcı olacaktır.
Yukarıda bahsettiğimiz Tip 1 hypervisor yapısı kendi içerisinde Microkernel ve Monolithic olmak üzere ikiye ayrılmaktadır.
Microkernel Hypervisor
Microkernel Hypervisor yapısında parent partition adı verilen bir işletim sistemi kurulumuna ihtiyaç duyulmaktadır. Microkernel Hypervisor tipine örnek olarak Microsoft Hyper-V verilebilir. Windows Server 2008 R2 işletim sistemi kurulumunun ardından Hyper-V rolü eklendiğinde işletim sistemi parent partition olarak adlandırılır ve aslında bu andan itibaren parent partition nın kendisi de bir sanal makinedir. Bu tip hypervisor yapısının en büyük artıları hypervisor uygulamasının boyutunun çok düşük olması (yaklaşık 1 MB) ve sanal makinelerin fiziksel donanıma parent partition vasıtasıyla ulaşabilmesi nedeniyle çok daha güvenli olmasıdır. Sanal makinelerin ihtiyacı olan fiziksel donanımlara ait sürücüler ise parent partition tarafından sağlanmaktadır. Sürücüler parent partition tarafından yani bir Windows Server tarafından sağlandığından çok daha fazla donanım desteklenmektedir. Böylece Windows Server uyumlu donanıma sahip olan herhangi bir fiziksel sunucu üzerine hatta orta-üst seviye bir bilgisayara dahi kurulabilmektedir. Aşağıda ki şekil bize microkernel hypervisor yapsını daha iyi kavrayabilmek için yardımcı olacaktır.
Monolothic Hypervisor da yapısında bir parent partition a ihtiyaç duyulmaz. Hypervisor uygulaması direk donanım üzerine kurulur ve ardından kurulan sanal makineler de hypervisor ile direk olarak iletişim halindedir. Hypervisor uygulaması direk olarak donanım üzerine kurulduğundan ve sanal makineler hypervisor ile direk olarak haberleştiğinden hypervisor üzerine kurulduğu fiziksel donanım için sürücüleri de içermek durumundadır. Bu ise desteklenen donanım sayısını azalttığından bu tip hypervisor için kullanılacak fiziksel sunucunun ve üzerinde ki donanımların dikkatli seçilmesi ve bu tip hypervisor tarafından desteklendiğinden emin olunması gerekmektedir. Monolithic Hypervisor tipine örnek olarak VMware firmasının ESX ve ESXi ürünleri gösterilebilir. Aşağıda ki şekil bize monolithic hypervisor yapsını daha iyi kavrayabilmek için yardımcı olacaktır.
Hypervisor yapısını sistemimizde etkinleştirebilmemiz için öncelikle sistemimizin sanallaştırmaya destek vermesi gerekmektedir. Bunlar,
- Intel işlemcili sistemler için Intel-VT, AMD işlemcili sistemler için AMD-V seçeneğinin Enable durumda olması,
- Intel işlemcili sistemleri için Execute Disable Bit, AMD işlemcili sistemler için NX-Bit seçeneğinin Enable durumda olması,
- İşlemcimizin x64 sanallaştırma mimarisini desteklemesi,
Sistemimizde sanallaştırma desteğinin olup olmadığı ve bios üzerinde ki seçeneklerin açık olup olmadıklarını test etmenin en kolay yolu http://www.grc.com/securable.htm adersinden Securable isimli uygulayı indirip çalıştırmaktır. Aşağıda Pentium 3 ve Intel Core 2 T7200 işlemciye sahip iki sistemde çalıştırılan uygulamanın ekran görüntülerini bulabilirsiniz.
Sanallaştırma Desteği Olmayan Sistem ve İşlemci
Sanallaştırma Desteği Olan Sistem ve İşlemci
Peki sanallaştırma desteği için gerekli olan ayarlar BIOS üzerinden Enable durumuna getirlip, Hyper-V rolü etkin olan bir Windows Server 2008 R2 üzerinde securable uygulamasını çalıştırdığımızda durum nasıl olur? Cevabı aşağıda ki ekran görüntüsünde…
Bu makalemde sizlere günümüzün en popüler teknolojilerinden birisi Sanallaştırma teknolojisinin yapısını anlatmaya çalıştım.
Faydalı olması dileğimle…
M. Hakan CAN