Linux VPS, VDS ile uğraşanların ilk karşılaştığı seçeneklerden biri KVM, OpenVZ, Xen gibi sanallaştırma sistemleri, teknolojileri oluyor. Linux server dünyasında en yaygın kullanılan container sistemleri olan KVM ve OpenVZ arasında bir takım ciddi farklılıklar var. Bunlar nedir, nasıl kullanılılır bir bakalım.
KVM size ayrılan kaynakları ana sistemden (hostnode, hosting hizmeti veren ana makine) neredeyse tamamen soyutluyor. Kullandığınız işletim sistemine tam anlamıyla hakim oluyorsunuz ve size ayrılan sistem kaynakları el verdikçe istediğiniz her şeyi yapabiliyorsunuz. Buna işletim sisteminin kernel modüllerine müdehale etmek de dahil. Özellikle linux dünyasında bazı temel işlemler için bile kernel modülü kurmanız gerekebiliyor. Örneğin uzak dosya sistemi, NFS, Samba veya SSHFS kullanacaksanız bunlar FUSE isimli bir kernel modülüne ihtiyaç duyuor. FUSE sayesinde uzak dosyaları kendi sistemimizdeymiş gibi görüp aracı programlar ile bunları bağlayabiliyoruz. Eğer OpenVZ kullanıyorsak bu modülü kendimiz kurmamız mümkün değil. Servis sağlayıcı bizim için bunu kurabilir ama muhtemelen güvenlik nedeniyle bunu yapmayacaktır. Bu da sshfs’den gibi basit linux servislerinden tutun docker gibi yeni container standartlarına kadar bizi sınırlayacaktır. Bu da OpenVZ’yi kurulumu kolay kullanımı zor bir sanallaştırma sistemi yapıyor.
KVM nasıl çalışır, nerelerde kullanılır?
KVM’nin bir diğer önemli avantajı da her işletim sistemini desteklemesi. Bu açıdan VmWare ESXi ye hatta local sistemlerimizde kullandığımız VirtualBox’a benzetebiliriz. Windows dahil hemen her işletim sistemini kurabiliyoruz. Kaynakları da daha iyi soyutladığı için performans açısından daha avantajlı olabiliyor. KVM ile sanallaştırma sistemi kurmak OpenVZ’ye göre biraz daha zor fakat kullanım açısından ciddi avantajlar sağlıyor.
Xen sanallaştırma nedir?
Xen sanallaştırma teknolojisi de KVM’ye benziyor. Biraz daha güncel bir teknoloji bunda da kaynak izolasyonu oldukça iyi. Öyle ki Xen içine Xen sanal sunucu kurabilirsiniz, OpenVZ de kurabilirisiniz. Tabi bunlar yalnızca teorik olarak mümkün. Gerçekte böyle bi iş yaparsanız performans çok kötü olacaktır.
OpenVZ nedir, VPS ve VDS’ler de nasıl kullanılır?
OpenVZ’nin avantajı ise daha ucuz olması. Tüm işletim sistemleri ortak kernel kullanıyor. Yani sadece linux için sadece tek bir kernel ile çok sayıda sanal container çalıştırmak mümkün. Bu da OpenVZ Vps’lerin hızlı kurulmasını, hızlı çalışmasını, hızlı boot almasını sağlıyor. Çünkü soyutlama katmanına çok fazla kaynak ayrılmıyor. Bu da düzgün bir sanallaştırma yapan firmada OpenVZ’nin de çok iyi performans vermesi demek. En önemli dezavandajı da yine sanallaştırma katmanının iyi olmaması. Bu güvenlik açısından ciddi bir problem. Kerneldeki bir açık tüm sanal makineleri riskli konuma düşürecektir. Bir de host node üzerinden sanal makinelerin içeriğine ulaşmak çok kolay, KVM’de de bu mümkün ama o kadar kolay değil.
Bunlar dışında LXE, Virtuozzo gibi sanallaştırma sistemleri de fakat bunlar artık çok yaygın kullanılmadığı için yer vermeye gerek görmedim. LXE özellilkle son zamanlarda Docker ile popüler olmuş hafif siklet bir sanallaştırma sistemidir.