"Enter"a basıp içeriğe geçin

Proxmox’ta Hangi Servisler LXC Hangileri KVM İçin Uygundur?

Proxmox üzerinde sanallaştırma yaparken en sık yaşanan problem LXC ve KVM‘in aynı şey gibi düşünülmesidir. Her ikisi de sanallaştırma sunar ancak aynı ihtiyaçlara cevap vermez. Yanlış tercih edilen sanallaştırma modeli, performans kaybından çok daha ciddi sonuçlar doğurur.

Proxmox’ta LXC ve KVM Temel Farkı

LXC, host sistemin çekirdeğini paylaşarak çalışan izole bir Linux ortamıdır. Ayrı bir işletim sistemi açılmaz. Bu nedenle hızlıdır, hafiftir ve az kaynak tüketir.

KVM ise tam sanal makinedir. Kendi kernel’i, donanım katmanı ve açılış süreci vardır. Daha ağırdır ama izolasyon seviyesi yüksektir.

Bir sorun yaşandığında müdahale alanı neresidir?

  • LXC’de sorun → host kernel, cgroup, namespace
  • KVM’de sorun → guest OS, disk driver, VM config

LXC Nedir ve Proxmox’ta Nasıl Çalışır?

LXC, Linux işletim sistemindeki bir bilgisayarı sanal odalara bölmek gibidir. Her odada ayrı bir Linux işletim sistemi varmış gibi çalışırsınız.

Geleneksel sanal makinelerin aksine, her konteyner için ayrı bir kernel yüklemez.

  • Sanal Makine Değildir. Ağır bir işletim sistemi yüklemek yerine, mevcut sistemin gücünü kullanır.
  • Hızlıdır. Bilgisayar açar gibi beklemezsiniz, tıklar tıklamaz hazırdır.
  • İzoledir. İçindeki her şey ana sistemden ayrı bir kutu içindeymiş gibi güvenle çalışır.

Proxmox’ta LXC Nasıl Çalışır?

Proxmox VE, LXC’yi native olarak destekler. Yani ek bir yazılım kurmadan, panel üzerinden doğrudan konteyner oluşturabilir ve yönetebiliriz.

Proxmox tarafında LXC’nin çalışma mantığı şu şekildedir.

Ortak Linux Çekirdeği

Tüm LXC konteynerler, Proxmox host’un kernel’ini paylaşır. Bu sayede her konteyner için ayrı kernel yüklenmez.

Kaynak İzolasyonu

Her kutuya özel limitler koyabilirsiniz. Birine 2 GB Ram, diğerine 1 işlemci çekirdeği vererek birbirlerinin hakkını yemelerini engellersiniz.

  • CPU core sınırı
  • RAM limiti
  • Disk I/O kısıtlaması

Namespace Yapısı

Bu kutular disk üzerinde yer kaplamaz. Proxmox sayesinde bu kutuların snapshotını alabilir veya onları hızlıca yedekleyebilirsiniz.

Proxmox’ta LXC Container Oluşturma

LXC container oluşturmanın ilk adımı işletim sistemi şablonunu indirmektir.

Local (pve) → CT Templates → Templates

Alternatif olarak, CLI üzerinden template yönetimi yapmak isteyenler için

pveam update
pveam available
pveam download local debian-12-standard_12.2-1_amd64.tar.zst

Create CT – Genel Ayarlar Ekranı

Template indirildikten sonra Create CT adımıyla container oluşturma sürecine başlayalım.

Root Disk ve Storage Seçimi

LXC diskleri blok disk değildir, filesystem bazlı çalışır.

CPU ve RAM Kaynak Atama

Bu adımda container’a atanacak CPU ve bellek kaynakları belirlenir. CLI üzerinden örnek kaynak tanımı şu şekildedir.

pct set 101 --cores 2 --memory 2048 --swap 512

Network Yapılandırması (vmbr)

Bu aşamada container’ın ağ bağlantısı yapılandırılır. Genellikle varsayılan köprü vmbr0 kullanılır.

pct set 101 --net0 name=eth0,bridge=vmbr0,ip=dhcp

Konteyner İçine Erişim (Console / SSH)

Finish ile container oluşturma tamamladıktan sonra erişim sağlayabiliriz.

pct enter 101

LXC Hangi Durumlar İçin Uygundur?

LXC, web sunucuları, API servisleri ve mikroservis yapıları için uygundur. Nginx veya Apache gibi servisler düşük kaynak tüketimiyle çalışır. Monitoring, logging ve CI/CD yardımcı servisleri için de pratik bir çözümdür. Redis gibi hafif servisler ve dikkatli yapılandırılmış PostgreSQL kurulumları LXC içinde kullanılabilir.

KVM Nedir ve Proxmox’ta Nasıl Çalışır?

KVM, Proxmox üzerinde tam sanal makine altyapısını sağlar. Her VM kendi işletim sistemine sahiptir. Linux, Windows veya başka herhangi bir OS çalıştırılabilir.

KVM Hangi Durumlar İçin Uygundur?

Windows sanal makineleri çalıştırmanın tek yolu KVM’dir. LXC bu senaryoda zaten mümkün değildir.

Veritabanları disk IO, memory management ve kernel tuning gerektirir. LXC yalnızca Linux içindir.

  • IO jitter oluşur
  • Backup süreçleri karmaşıklaşır
  • Performans öngörülemez hale gelir

Docker ve Kubernetes Node’ları

Container içinde container çalıştırmak hatadır. Docker ve Kubernetes node’ları her zaman KVM VM üzerinde konumlandırılmalıdır.

KVM’nin Dezavantajları

LXC’ye kıyasla daha fazla CPU ve RAM tüketir. Sanal makinelerin açılış süresi daha uzundur. Aynı donanım üzerinde çalıştırılabilecek servis sayısı konteynerlara göre daha düşüktür.

LXC’den KVM’e Geçiş Nasıl Yapılmalı?

LXC’den KVM’e geçiş, bir konteyneri sanal makineye dönüştürmek değildir. Bu en sık yapılan hatadır. Doğru yaklaşım servisi değil veriyi taşımaktır.

Öncelikle uygulama verileri container dışına alınır. Veritabanı dump’ları, dosya sistemleri veya object storage kullanılarak veri bağımsız hale getirilir. Ardından KVM üzerinde temiz bir sanal makine oluşturulur ve servisler sıfırdan kurulur.

Kesinti süresini minimize etmek için eski LXC ortamı çalışmaya devam ederken yeni KVM hazırlanır. DNS TTL düşürülür, servisler paralel çalıştırılır ve kısa bir bakım penceresinde trafik yeni VM’e yönlendirilir. Doğru planlamayla bu geçiş saniyeler seviyesinde tamamlanabilir.

Proxmox’ta LXC ve KVM Birlikte Nasıl Kullanılır?

Proxmox altyapıları tek tip sanallaştırma kullanmaz. En doğrı yaklaşım, LXC ve KVM’in farklı rollerle birlikte kulllanılmasıdır.

LXC tarafında edge servisler konumlandırılır. Web, proxy, monitoring ve yardımcı servisler burada çalışır.
KVM tarafında ise core servisler bulunur. Veritabanları, Windows sistemler ve güvenlik kritik uygulamalar burada yer alır.

Güvenlik Açısından Bakıldığında

LXC güvenlidir ancak kernel paylaşımı nedeniyle sınırları vardır. Üretim ortamında mutlaka unprivileged container kullanılmalıdır. Privileged LXC’ler ciddi güvenlik riskleri taşır.

KVM tarafında ise izolasyon doğal olarak daha güçlüdür. Özellikle dışa açık, hassas veya regülasyona tabi servislerde KVM tercih edilmelidir.

SenaryoTercihNeden
Aynı host’ta çok sayıda servisLXCDüşük overhead, yüksek yoğunluk
İnternete açık kritik sistemVMKernel ve donanım izolasyonu
Klasik imaj yedeklemeVMSnapshot ve restore netliği
Hafif servisler, API’lerLXCHızlı başlama, düşük kaynak
Gelecekte taşınabilirlikVMHypervisor bağımsızlığı
Homelab test ortamıLXC ağırlıklıEsneklik ve hız
Müşteri veya üretim ortamıVM ağırlıklıGüvenlik ve kontrol
Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir