AKF

Teknohaber

Yapay Zeka

Siber Güvenlik

Kişisel Teknoloji

Psikoloji&Kariyer

Makaleler

VMware dışındaki Sanallaştırma alternatifleri nelerdir? (2024)

2024 Mart için güncellenmiş yazımıza buradan erişebilirsiniz

Sunucularınızda işlenen veri miktarı arttıkça, sistemlerinizi yönetilebilmek için makinalarınızı sanallaştırmanız gerekiyor. Böylece maliyetleri düşürüp, verimliliği arttırmayı hedefliyorsunuz. Kısa bir araştırma sürecinden sonra, yetki verdiğiniz kişi her kimse ( CIO, CTO yada BT departmanı sorumlusu), size üç farklı VMware çözümünü alternatif olarak sunuyor.

Çünkü, “VMware kurumsal bir firma”, çünkü “herkes onu kullanıyor” ve elbette harika bir marketing departmanı var.

Lisanslı ürünleri tercih ederken, aslında karşılaşacağınız problemlere karşı sırtınızı dayayacağınız bir güvence arıyorsunuz. Bunu anlayabiliyorum. Ancak yazımın devamında anlatacağım diğer platformlar da sizi hiç bir zaman yalnız bırakmıyor. Çünkü, istediğiniz zaman sorununuzu paylaşıp çözüm arayabileceğiniz koca bir topluluk yanınızda yeralıyor.

Yazımın devamında açıklayacağım diğer sanallaştırma platformlarını, AWS gibi bütün büyük cloud hizmeti sunan firmalar da kullanıyor ve hiç kimse para ödemiyor.

Sanallaştırma dünyasında Tip 1 dediğimiz sanallaştırma yöntemlerinin uygulandığı üç gerçek platform mevcut. İlki herkesin bildiği lisanslı VMware. Diğerleri açık kaynak kodlu XEN ve KVM. Yazımda açık kaynak kodlu sanallaştırma yönetemlerinden bahsedeceğim.

XEN

Xen, hayatımıza Paravirtualization tanımını getiren ve şu anda, başta AWS olmak üzere, Google ve Oracle gibi bütün büyük Cloud sağlayıcıları tarafından, çok aktif olarak kullanılan bir sanallaştırma platformudur (Detaylı bilgiye https://xenproject.org adresinden ulaşabilirsiniz.)

XEN, çalıştığı makinenin Kernel’i üzerine yararlı bir virüs gibi yerleşir ve yeni sanal sunucuların Kernel’in ana kaynaklarına doğrudan erişmelerini sağlar (Paravirtualize ve Dom-0). 

Özellikle AWS’nin ana sanallaştırma platformu XEN’dir. (AWS üzerinden aldığınız sunucularda sanallaştırma komutunu virt-what çalıştırırsanız bunu görebilirsiniz.) Ancak AWS şirketi, maalesef XEN projesine hiçbir geri dönüş yapmamıştır. Bu tutum “topluluk desteğini” çok ciddi anlamda kısır bırakmıştır. 

XEN’in halen aktif olarak ilgi duyulan yetkinlikleri, embedded cihazlar üzerinde, otomobil sektöründe ve akıllı araçlarda kullanım alanları bulmuştur.  

  • XCP-ng (eski Xenserver)

XCP-ng, Xenserver açık kaynak kodlu bir proje olarak ortadan kalktığı zaman, Xen-Orchestra isimli yazılımı geliştiren Vates adlı şirketin başlattığı bir projedir. Hatırı sayılır bir ilgi görmese de, ciddi olarak kullanan müşterileri vardır. 

Kullanımını tavsiye etmiyorum. Bunun iki önemli sebebi var. İlki, donanım (driver) desteği. Genelde network kartları ile ilgili sorunlarla karşılaşabilirsiniz. Diğer sebep, XEN kernel ile çalışan bir sanallaştırma platformu, mutlaka, her yeni çıkan HW patch için tekrar derlenmelidir. Bu büyük bir zaman ve işgücü kaybına neden olur.

  • Opensource XEN

Linux ile çalışan bir sunucu kurduğunuzda, sanallaştırma ortamı olarak KVM yada XEN tercih etmeniz gerekir. XEN, özellikle Centos ve SuSE platformlarında, paket yöneticisi ile kurulabiliyor. Debian platformlarında (Debian, Ubuntu vs.) ise, native desteği kaldırdıkları için, XEN’in kurulumu daha zor. 

Opensource XEN, şu anda yüzlerce küçük ve orta ölçekli şirket tarafından kullanılıyor. XCP-ng arasındaki en büyük fark; XAPI gibi bir yönetim arayüzünün olmaması. Bu negatif bir özellik olarak görülse de, platform XL ve Virsh araçları ile kolayca yönetilebiliyor.

KVM

KVM: Kernel-Based Virtual Machine. İsminden de anlaşılacağı gibi, Linux, bir Kernel modülü olarak çalışmaktadır. 

Özellikle 2005 yılında, intel VT ve AMD-v desteği sonrası sanallaştırma dünyasında bir devrim gerçekleşti: CPU’ lar sanal makineleri işlemlerine dahil etmeye başladılar. Bu sayede VMware ve KVM gibi yazılımlar, Hardware Virtualization enable edilmiş sunucularda, XEN gibi paravirtualize olarak çalışabilmeye başladılar. 

Çok basit tanımlayacak olursak; KVM de her sanal sunucu, VMWare ile aynı şekilde, bir “Process” olarak yaratılır ve bu processlerin CPU izolasyonu, vtx register tarafından sağlanır.

KVM özellikle geçtiğimiz 5 yıl içersinde hatırı sayılır bir olgunluğa ve güvenirliğe ulaştı. Aklınıza gelmeyen onlarca teknoloji KVM ile geliştirildi ve geliştirilmeye devam ediyor. Bunlara en güzel örnek, RHEV ve Nutanix olacaktır. Hyperconverged mimariler için daha küçük projelerde de aktif olarak KVM sanallaştırması kullanılmaktadır. 

Topluluk (Community) desteği çok ciddi ve iyidir. Stable versiyonlar kullanmanız durumunda donanım sorunu dışında sorun yaşamanız neredeyse imkansızdır.

KVM çözümlerinde öne çıkan 3 çözümden bahsedebiliriz.

Opensource KVM

Kurulumu en kolay sanallaştırma yöntemidir. 

BIOS içersinde “Virtualization Enable” etmeniz sonrası, sadece Linux kurmanız yeterli olacaktır. Sonrasında Redhat ve Debian tabanlı sunucular için aşağıdaki komutları yazmanız yeterlidir:

1. Sanallaştırma, sunucuda aktive edilmişti. Önce test edelim.

Tüm Linux’lar için:

$ sudo cat /proc/cpuinfo | grep -E ‘vmx|svm’

yazdığınızda eğer ekrana sonuç geliyorsa, Bios üzerinde sanallaştırma aktif demektir, sonraki adıma geçebilirsiniz. Eğer çıktı olarak tekrar $’a düşüyorsanız ve herhangi bir sonuç yoksa BIOS üzerinden sanallaştırmayı aktif etmelisiniz.

2.Sanallaştırma platformunu kurmak için aşağıdaki komutları yazalım.

Debian,Ubuntu için:

$ sudo apt install -y qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager

Centos, Redhat, Fedora için

$ sudo yum install -y qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils

Kurduğunuz Linux sunucuda grafik arayüz (gnome, KDE) ile kurulum yaptıysanız, terminal açarak “virt-manager” komutunu yazin. Sanal sunucular oluşturup silebileceğiniz bir arayüz açılacaktır.

 

Artık kuracağınız sanal sunucuların ISO larını indirmeye başlayabilirsiniz.

Proxmox

Proxmox,  Avusturyalı bir şirket tarafından geliştirilen bir API ve arayüz. Sanallaştırma platformu olarak, KVM ve LXC kullanıyorlar. (LXC, bir Cgroup ve Container teknolojisi olduğu için, onu sanallaştırma platformu olarak ele almamak gerekli. Bunu başka bir yazıda anlatacağım)

Aynı şekilde Bios üzerinden “Virtualization Enable” etmeniz sonrası, Debian Linux kurmanız veya kendi oluşturdukları ISO üzerinden kurulum yapmanız gerekiyor. Kurulum detaylarına https://pve.proxmox.com/wiki/Installation erişebilirsiniz.

Proxmox’un arkasındaki firma çok büyük bir firma değil. Ancak, Debian tabanlı kurulum yapılması ve altta çalışan KVM platformu düşünüldüğünde kesinlikle çok iyi bir alternatif. 

Ovirt ve RHEV (Devam Etmeyen Projeler)

Redhat Rhev ortamlarına 2024 Ağustos ayından itibaren destek vermeyeceğini açıkladı. Ovirt oldukça eski bir proje, sonraları Redhat firmayı satın aldı ve kodu sıfırdan yazarak açık hale getirdi. Production ortamlarınızda Kesinlikle kullanmamalısınız.

Harvester (harvesterhci.io) – Hyperconverged

Halen Beta sürümü içersinde, production sürümünün 2021 yıl sonuna yetişeceğini söylüyorlar. Harvester altyapısında kubernetes ve kubevirt teknolojilerini kullanıyor, aynı teknolojiler openshift içerisindeki HCL çözümler içinde kullanılmakta. (2024)Beta bir yazılım olduğu için kullanımını önermiyoruz.

Openshift (okd.io) – Hyperconverged

OKD açık kaynak kodlu openshift diyebiliriz, production ortamlarında kullanım için OKD’yi kesinlikle önermem. Zira, IBM gibi şirketler upstream olan ürünlerinde stabiliteye hiç önem vermezler.

Ticari olarak destekli openshift ürünü içerisinde Hyperconverged ve Microservis çözümleri bir arada gelmekte.

Nutanix (nutanix.com) – Hyperconverged

Production ortamları için stabil hyperconverged Virtualization+Storage çözümü. Nutanix sektör içersinde çok büyük bir hayran kitlesine sahip olsa da, gelecekleri konusunda ciddi soru işaretleri var. nutanixbible.com isimli site de Nutanix ayrıntılı bir şekilde anlatılıyor, ayrıca sanallaştırma teknolojileri ile ilgilenen herkesin mutlaka incelemesi gerektiğini düşünüyorum.

Hangi ürün daha iyi? Diye soruyorsanız, cevabım: 

Sizin ihtiyacınıza göre değişir. 

 

Sanallaştırma platformu kuruyorsanız, 4 tip kullanım ortamı önerisi:

Test ortamı Önerisi

Proxmox veya KVM

Test ortamları için her zaman nested virtualization tavsiye ederim, bu şekilde hipervizörleri test etme şansınız olur.

Sunucu: 1 veya 2 adet

Network: Tek network

KOBİ ve Küçük Şirketlerde

Proxmox, XCP-ng veya Nutanix

Sunucu: En az 2 veya 3 eşdeğer sunucu

Storage: Yerel diskler, mecbur olmadıkça hyperconverged kullanmanızı önermem. HCI sistemler ciddi elektrik tüketirler.

Network: Bonding opsiyonel

Production Ortamı

Openstack(KVM) platformunda kullanılabilir veya 10 sunucuya kadar proxmox çözümü kullanılabilir. Live migration vs live disk migration kolaylıkla yapılabilir.

Sunucu: 5+ sunucu, +Storage

Storage: Hyperconverged veya Enterprise Storage

Network: 2 + BGP + SDN

Cloud Ortamı

KVM yönetimi için bir orkestrasyon aracı gerekecektir. 

Virtuozzo veya Openstack 

Sunucu: 10+ sunucu, 1+ coğrafi ortam

Storage: local/object/Hyperconverged/Enterprise (tümü olmalı)

Network: 4 + bonding + BGP + SDN

Resim: Joshua Hoehne/www.unsplash.com