BurtiNETBlog
Sunucu Yönetimi

KVM Nedir? KVM Sanallaştırma Nasıl Çalışır ve Sanal Sunucuda Neden Önemlidir?

bnet6 dk okumaGüncellendi:
KVM Nedir? KVM Sanallaştırma Nasıl Çalışır ve Sanal Sunucuda Neden Önemlidir?
İçindekiler

Bir sanal sunucu (VPS/VDS) kiralarken paket açıklamasında "KVM" ibaresini görmüşsünüzdür. Bu üç harf, sanal sunucunuzun nasıl çalıştığını, ne kadar yalıtılmış olduğunu ve üzerine hangi işletim sistemini kurabileceğinizi belirleyen bir teknolojiyi anlatır. Bu yazıda KVM'in ne olduğunu, nasıl çalıştığını, diğer sanallaştırma yöntemlerinden farkını, BurtiNET sanal sunucularındaki yerini ve kendi Linux sunucunuzda nasıl kuracağınızı anlatıyoruz.

KVM Nedir?

KVM (Kernel-based Virtual Machine, Çekirdek Tabanlı Sanal Makine), Linux çekirdeğinin içine yerleşik bir sanallaştırma teknolojisidir ve tek bir fiziksel sunucuyu birbirinden yalıtılmış birden fazla sanal makineye (VM) bölmenizi sağlar. KVM, 2007'de Linux çekirdeği 2.6.20 sürümüyle ana çekirdeğe dahil edilmiştir ve bugün açık kaynaklı, yaygın ve olgun bir sanallaştırma çözümüdür.

KVM'de her sanal makine, kendi sanal işlemcisine, belleğine, diskine ve ağ kartına sahip tam bir bilgisayar gibi davranır. Üzerine bağımsız bir işletim sistemi (Linux ya da Windows) kurabilir, kendi çekirdeğini çalıştırabilir ve yönetici (root/Administrator) yetkisiyle yönetebilirsiniz. Sanal sunucunun genel mantığı için VPS nedir ve VDS nedir yazılarımıza bakabilirsiniz.

KVM Nasıl Çalışır?

KVM'in çalışması üç bileşenin birlikte iş görmesine dayanır: çekirdek modülü, QEMU ve yönetim katmanı (libvirt). Sistemin işleyişi şöyledir:

  • KVM çekirdek modülü: Linux çekirdeğini bir hypervisor'a dönüştürür. İşlemcinin donanım sanallaştırma uzantılarını (Intel VT-x veya AMD-V) kullanarak sanal makinenin komutlarını doğrudan fiziksel işlemcide çalıştırır; bu yüzden performans kaybı düşüktür.
  • QEMU: Sanal makinenin disk, ağ kartı, ekran kartı gibi sanal donanımlarını sağlar. Her sanal makine, ana sistemde QEMU tarafından yürütülen sıradan bir Linux süreci olarak çalışır.
  • virtio sürücüleri: Sanal disk ve ağ aygıtlarının verimli çalışması için kullanılan paravirtualization sürücüleridir; disk ve ağ performansını belirgin şekilde artırır.
  • libvirt ve araçları: Sanal makineleri oluşturma, başlatma, durdurma ve izleme için ortak bir yönetim katmanı sunar (virsh, virt-manager gibi araçlar).

Bu yapı sayesinde ana sistemin (host) kaynakları sanal makineler arasında paylaştırılır, ancak her sanal makine kendi işletim sistemi çekirdeğine sahip olduğu için birbirinden güçlü biçimde yalıtılır.

Açık bir NVMe SSD kutusu ve USB dönüştürücü; NVMe diskler sanal makinelerin disk performansını belirler
KVM sanal makinelerinde disk performansını büyük ölçüde NVMe gibi hızlı depolama belirler · Fotoğraf: Anonima101 / CC0 / Wikimedia Commons

KVM ile Diğer Sanallaştırma Yöntemleri Arasındaki Fark

Sanal sunucu sağlayıcıları farklı teknolojiler kullanır. Satın almadan önce hangisinin kullanıldığını bilmek, ne kadar yalıtım ve esneklik alacağınızı gösterir:

TeknolojiYaklaşımÇekirdekİşletim Sistemi SeçimiYalıtım
KVMTam sanallaştırmaHer VM kendi çekirdeğini çalıştırırLinux dağıtımları ve WindowsYüksek
OpenVZ / LXCKonteyner tabanlı (işletim sistemi düzeyi)Tüm konteynerler ana çekirdeği paylaşırGenellikle yalnızca Linux, aynı çekirdekDaha düşük
VMware ESXiBare-metal hypervisor (ticari)Her VM kendi çekirdeğini çalıştırırLinux, Windows ve diğerleriYüksek. Bkz. ESXi nedir
Hyper-VMicrosoft hypervisorHer VM kendi çekirdeğini çalıştırırWindows ağırlıklı, Linux de desteklenirYüksek

Konteyner tabanlı sistemlerde tüm sanal sunucular aynı çekirdeği kullandığı için çekirdek modülü yükleme, özel güvenlik duvarı ayarları ya da Windows kurma gibi işlemler yapılamaz. KVM'de ise her sanal sunucu gerçek bir bilgisayar gibi davrandığından bu kısıtlar yoktur.

KVM Tabanlı Sanal Sunucunun Avantajları

ÖzellikSize Ne Kazandırır?
Tam sanallaştırmaİstediğiniz işletim sistemini (Linux ya da Windows) kurabilirsiniz
Kendi çekirdeğiÇekirdek ayarlarını, modülleri ve sunucu yazılımlarını özgürce yapılandırırsınız
Güçlü yalıtımAynı fiziksel sunucudaki başka bir sanal makinenin sorunları sizi doğrudan etkilemez
Donanım destekli performansİşlemci komutları doğrudan fiziksel işlemcide çalışır, sanallaştırma yükü düşüktür
Açık kaynak ve yaygın destekGeniş topluluk, bol dokümantasyon ve olgun araç ekosistemi
Esnek kaynak yönetimiCPU, RAM ve disk kaynakları sanal makine bazında tanımlanır

BurtiNET Sanal Sunucularında KVM

BurtiNET sanal sunucuları KVM sanallaştırma üzerinde çalışır ve Türkiye lokasyonlu altyapıda sunulur. KVM'in sağladığı tam sanallaştırma sayesinde sunucunuzda root (Linux) ya da Administrator (Windows) erişimiyle istediğiniz yazılımı kurabilirsiniz. Sanal sunucu paketlerinin öne çıkan özellikleri şöyledir:

  • KVM tabanlı sanallaştırma: Her sanal sunucu kendi işletim sistemi çekirdeğiyle, yalıtılmış çalışır.
  • NVMe disk: Hızlı depolama, veritabanı ve WordPress gibi disk yoğun iş yüklerinde belirgin performans farkı yaratır.
  • Windows veya Linux: İşletim sistemini ihtiyacınıza göre seçip dakikalar içinde kurabilirsiniz.
  • Root erişimi: Web sunucusu, veritabanı, kontrol paneli ve özel yazılımları kendiniz yapılandırırsınız.
  • DDoS koruması: Saldırı trafiğinin sunucunuza ulaşmadan filtrelenmesine yardımcı olur.
  • 7/24 teknik destek: Sunucu tarafında bir sorun yaşadığınızda destek ekibine ulaşabilirsiniz.

Hangi paketin projenize uygun olduğunu belirlemek için VPS nedir yazısındaki kaynak tablosuna ve hosting seçim rehberine bakabilirsiniz. Daha yoğun bir iş yükü için fiziksel donanımın tamamını kullanmak istiyorsanız dedicated sunucu seçeneğine göz atın.

KVM Ne İşe Yarar? Kullanım Alanları

  • Web sitesi ve uygulama barındırma: WordPress, e-ticaret ve özel uygulamalar için ayrılmış kaynaklı sunucu ortamı.
  • Sunucu konsolidasyonu: Birden fazla fiziksel sunucunun iş yükünü tek donanımda birleştirip maliyeti düşürmek.
  • Geliştirme ve test ortamları: Farklı işletim sistemi ve yazılım sürümlerini izole sanal makinelerde denemek.
  • Bulut altyapıları: OpenStack gibi bulut platformları sanallaştırma katmanı olarak KVM'i kullanır.
  • Yalıtılmış güvenli ortamlar: Şüpheli yazılımı ana sistemden ayrı bir sanal makinede çalıştırmak (sandbox).
  • Eski sistemleri taşımak: Eski işletim sistemi veya yazılım gerektiren iş yüklerini modern donanımda sanal makine olarak sürdürmek.
  • Yedekleme ve felaket kurtarma: Sanal makine diskinin kopyasını alıp başka bir sunucuda yeniden başlatmak.
Veri merkezinde sıralanmış sunucu kabinleri
KVM, veri merkezindeki fiziksel sunucuları birbirinden yalıtılmış sanal sunuculara böler · Fotoğraf: Michael_Hiraeth / CC0 / Wikimedia Commons

KVM İçin Gereksinimler

Kendi Linux sunucunuzda KVM kullanmak için işlemcinizin donanım sanallaştırmayı desteklemesi ve BIOS'ta açık olması gerekir:

  • İşlemci: Intel VT-x (vmx) ya da AMD-V (svm) desteği.
  • Bellek ve disk: Çalıştıracağınız sanal makinelerin toplam bellek ve disk ihtiyacı kadar kaynak; sanal makineler için SSD/NVMe disk önerilir.
  • İşletim sistemi: KVM modülü bulunan güncel bir Linux dağıtımı (Ubuntu, Debian, AlmaLinux vb.). Dağıtım seçimi için Ubuntu nedir ve Debian nedir yazılarına bakabilirsiniz.

Linux'ta KVM Kurulumu

Aşağıdaki adımlar Ubuntu/Debian tabanlı bir sistem içindir. Önce işlemcinin sanallaştırmayı desteklediğini doğrulayın:

egrep -c '(vmx|svm)' /proc/cpuinfo
# 0'dan büyük bir sayı çıkmalı

sudo apt install cpu-checker
kvm-ok
# "KVM acceleration can be used" mesajını görmelisiniz

Ardından gerekli paketleri kurun ve libvirt servisini başlatın:

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

sudo systemctl enable --now libvirtd
sudo usermod -aG libvirt $USER
virsh list --all

Eski rehberlerde geçen libvirt-bin paketi güncel dağıtımlarda libvirt-daemon-system ve libvirt-clients olarak ayrılmıştır. Kurulumdan sonra virt-manager ile grafik arayüzden ya da virt-install komutuyla terminalden sanal makine oluşturabilirsiniz. Sanal sunucunuza bağlandığınızda güvenlik ayarlarını da yapmayı unutmayın: SSH nedir ve Linux sunucuda ilk güvenlik ayarları yazıları bu konuda yol gösterir.

Kendi KVM Sunucunuzu mu Kurmalı, Hazır KVM VPS mi Kiralamalı?

KriterKendi KVM sunucunuzu kurmakHazır KVM sanal sunucu kiralamak
BaşlangıçDonanım, ağ ve veri merkezi gerekirDakikalar içinde hazır
Teknik yükHypervisor, ağ, depolama ve güvenlik size aitAltyapıyı sağlayıcı yönetir, siz sanal sunucuyu yönetirsiniz
MaliyetYüksek ilk yatırım ve işletme maliyetiAylık/yıllık kullanım bedeli
KontrolDonanım ve hypervisor dahil tam kontrolİşletim sistemi düzeyinde tam kontrol
Uygun senaryoKendi bulut veya hosting altyapısını kuran firmalar, laboratuvarlarWeb siteleri, uygulamalar, geliştirme ve üretim ortamları

Çoğu proje için hazır bir KVM sanal sunucu kiralamak daha pratik ve ekonomiktir. Kendi altyapısını kurup işletmek isteyen firmalar için ise kiralık sunucu üzerinde KVM kurmak yaygın bir yoldur.

Sık Sorulan Sorular

KVM ile VPS aynı şey mi?

Hayır. KVM bir sanallaştırma teknolojisidir; VPS ise bu tür teknolojilerle sunulan bir hizmettir. VPS; KVM, OpenVZ ya da başka bir teknolojiyle sağlanabilir. KVM tabanlı VPS'te her sanal sunucu kendi çekirdeğini çalıştırır.

KVM'de Windows çalıştırılabilir mi?

Evet. KVM tam sanallaştırma sunduğu için Windows Server ve Windows masaüstü sürümleri kurulabilir. Performans için virtio sürücülerinin yüklenmesi önerilir. BurtiNET sanal sunucularında Windows veya Linux seçeneği bulunur.

KVM, OpenVZ'den neden daha iyi kabul edilir?

OpenVZ'de tüm sanal sunucular ana çekirdeği paylaşır; çekirdek ayarlarını değiştiremez, Windows kuramazsınız ve yalıtım daha zayıftır. KVM'de her sanal sunucu bağımsız çekirdek çalıştırdığı için daha esnek ve daha yalıtılmıştır.

KVM ücretsiz mi?

KVM açık kaynaklıdır ve Linux çekirdeğiyle birlikte gelir; yazılım için lisans ücreti yoktur. Maliyet donanımdan, yönetimden ve (Windows gibi) işletim sistemi lisanslarından doğar.

KVM sunucumda sanal makine performansını nasıl artırırım?

virtio sürücülerini kullanın, sanal diskleri hızlı depolama (NVMe/SSD) üzerinde tutun, sanal makinelere ihtiyacından fazla CPU ve RAM ayırmayın ve ana sistemde kaynak kullanımını izleyin.

#Sunucu Yönetimi

İlgili yazılar