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.
⚠️ Bu fark, performanstan çok sorun çıktığında nereden müdahale edileceğini belirler.
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.zstCreate 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 512Network 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 101LXC 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.
🔶 LXC → edge servisler (web, proxy, monitoring)
🔶 KVM → core servisler (veritabanı, Windows, kritik uygulamalar)
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.
| Senaryo | Tercih | Neden |
|---|---|---|
| Aynı host’ta çok sayıda servis | LXC | Düşük overhead, yüksek yoğunluk |
| İnternete açık kritik sistem | VM | Kernel ve donanım izolasyonu |
| Klasik imaj yedekleme | VM | Snapshot ve restore netliği |
| Hafif servisler, API’ler | LXC | Hızlı başlama, düşük kaynak |
| Gelecekte taşınabilirlik | VM | Hypervisor 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 |

