Sanallaştırma, mevcut bulunan fiziksel donanımın sanal makineler (virtual machines)
yardımıyla çok daha verimli kullanılabilmesini sağlayan, çeşitli yazılım ve donanım
bağımlılıklarını ortadan kaldıran, bu sayede de yeni ürün ve servis geliştirme maliyetlerinde
büyük tasarruflar sağlayan bir yazılım çözümüdür. Çözümde kullanılan sanal makinenin
tanımını ilk defa Popek ve Goldberg yaptı. Onlara göre sanal makine “gerçek makinenin
etkili, soyutlanmış bir kopyasıydı”.
Bu makalede önce sanallaştırmanın detaylarından, çeşitlerinden, daha sonra da başlıca açık
kaynak kodlu ve ticari sanallaştırma yazılımlarından, VMware ürününden, altyapısından ve
çözümleri arasındaki ayırt edici özelliklerden bahsedilecektir. Sanal makineler işlevlerine
göre iki temel grupta incelenebilir:
• Sistem Sanal Makineleri: Bu tip sanal makineler kullandıkları fiziksel kaynağı
(gerçek makine kaynaklarını) paylaşımlı olarak kullanırlar. Herbir sanal makine kendi
işletim sistemine sahiptir. Bir arayüz yardımı ile donanımsal paylaşımlar ayarlanır. Bu
tip sanal makineler donanım seviyesinde çalışabileceği gibi mevcut bir işletim
sisteminin üzerinde, işletim sistemi kaynakları üzerinden de çalışabilir. Bu makalede
ele almayı planlanan VMware ürünleri de bu sınıfta değerlendirilebilir.
• Proses Sanal Makinesi: Herhangi bir işletim sistemi üzerinde modül olarak çalışır ve
tek bir prosesin işletilmesine olanak sağlar. Kullanılmasındaki amaç platform
bağımsız bir ortam sağlayarak üzerinde çalışacak programcıkların donanım ya da
işletim sistemi limitlerine göre yeniden dizayn edilmesinin önüne geçmektir. Bu sanal
makineyi aslında JAVA ve .NET platformlarından tanıyoruz. Java uygulamaları JVM
(Java Virtual Machine), .NET uygulamaları ise CLR (Common Language Runtime)
kullanırlar. Örneğin bizim yazdığımız bir java kodu derlendikten sonra hangi işletim
sisteminde olduğuna bakılmaksızın konak işletim sistemi üzerinde kurulu olan JVM
modülü tarafından çalıştırılır. Bu sayede yazılımcı Linux tabanlı makinelerde ayrı,
Windows tabanlı makinelerde ayrı çalışacak uygulamalar yazmak zorunda bırakılmaz.
Sanallaştırma yazılımı, üzerinde yüklü olduğu donanımı, sanal makinaların sanal kaynakları
olarak organize eder ve paylaştırır. İşte sanallaştırma yazılımları bu paylaşımı ne kadar etkin,
akıllı ve sorunsuz yapabilirlerse o derece başarılı sayılırlar.
2
Şekil 1-1 – Genel Sanallaştırma Mimarisi
Sanal makine kullanımı küçük, orta ya da büyük, her ölçekte şirket için oldukça önemli
imkanlar sağlamaktadır. Bunların önemli birkaç tanesinden aşağıda bahsedilmiştir.
i. Sunucu kapasitesini yüksek verimle kullanma imkanı sağlar.
ii. İhtiyaç duyulduğunda çok hızlı bir şekilde yeni sunucu oluşturulabilir.
iii. Kuruluşun ölçeğine göre donanım maliyetlerinde %50 ye varan düşüş sağlanır.
iv. İhtiyaç olduğu anda test veya yazılım geliştirme için yeni sunucular oluşturma
olanağı sağlanmış olur.
v. Operasyonel kurulum ve bakım maliyetlerinde %80 e varan azalma görülür.
vi. Herhangi bir problem anında, sanal sunucuları çok hızlı bir şekilde yeniden çalışır
duruma getirebilme imkanı vardır.
vii. Merkezi yönetim ile tüm sunucuları tek bir merkezden izleme ve raporlama
imkânı sağlanır.
viii. Sanal işletim sistemine kurulmuş olan herhangi bir uygulamayı, yeni bir ana
bilgisayara geçilirken sanal işletim sistemini durdurup, işletim sistemi dosyasını
yeni bilgisayara taşıdıktan sonra tekrar çalıştırarak kalınan yerden devam etme
kolaylığı sağlanmış olur.
ix. Windows altında eski sürüm Windows, Linux, Mac veya Linux altında Windows,
Mac ( vs vs … ) çalıştırılabilmiş olur.