Birçok Proxmox kullanıcısı, LXC ve KVM’i fark gözetmeden tercih ederek işe başlar. Oysa her ikisi sanallaştırma sunsa da aynı ihtiyaçlara cevap verecek şekilde tasarlanmamıştır. Yanlış seçim, zamanla sistem kararlılığını etkileyen ciddi problemlere dönüşür.
Proxmox’ta LXC ile KVM’i Ayıran Asıl Nokta
LXC, ana sistemin çekirdeğini kullanarak çalışan hafif bir Linux izolasyon modelidir. Ayrı bir OS açılmadığı için başlatma süresi kısadır. Bu sayede düşük overhead ile çalışır.
KVM tarafında ise her sanal makine kendi kernel’i ve sanal donanım katmanıyla birlikte çalışır. Açılış süreci daha uzundur. Buna karşılık izolasyon seviyesi çok daha nettir.
⚠️ Bu teknik fark, hızdan çok arıza anında nereden müdahale edileceğini belirleyen kritik bir ayrımdır.
LXC → host kernel, cgroup, namespace
KVM → guest OS, disk driver, VM ayarları
Proxmox’ta LXC Nasıl Çalışır?
LXC, Linux sistemini mantıksal bölümlere ayırarak her bölümü ayrı bir Linux ortamı gibi çalıştırır. Kullanıcı açısından her konteyner bağımsız bir sistem hissi verir.
Sanal makinelerde olduğu gibi her konteyner için ayrı bir kernel başlatılmaz.
- Bu yüzden LXC, klasik anlamda bir sanal makine değildir. Ağır bir OS yerine, ana sistemin kernel’ini paylaşır.
- Çalışma hızı oldukça yüksektir. Sistem açılışını beklemeden anında devreye girer.
- İzolasyon mantığı sayesinde, konteyner içindeki işlemler ana sistemden ayrı bir kutu içinde çalışıyormuş gibi davranır.
Proxmox’ta LXC Çalışma Mantığı
Proxmox VE, LXC’yi doğrudan sistemin bir parçası olarak sunar. Ek kurulum gerektirmeden, web arayüzü üzerinden konteyner oluşturmak ve yönetmek mümkündür.
Proxmox üzerinde LXC’nin işleyişi belirli temel prensiplere dayanır.
Paylaşılan Linux Kernel’i
LXC konteynerlerin tamamı, Proxmox host’un Linux çekirdeğini paylaşır. Bu sayede her konteyner için ayrı bir kernel çalıştırılmaz.
Kaynakların Ayrıştırılması
Her konteyner için özel kaynak sınırları tanımlanabilir. RAM, CPU ve disk erişimi kontrollü şekilde paylaştırılarak konteynerlerin birbirini etkilemesi önlenir.
- CPU çekirdeği limiti
- Bellek sınırı
- Disk I/O kısıtları
Namespace Yapısı
Konteynerler disk üzerinde fiziksel alan kaplayan bağımsız sistemler değildir. Namespace yapısı sayesinde süreçler ve dosya sistemi izole şekilde çalışır.plamaz. Proxmox sayesinde bu kutuların snapshotını alabilir veya onları hızlıca yedekleyebilirsiniz.
Proxmox’ta LXC Konteyner Oluşturma
LXC konteyner oluşturma işleminin başlangıç noktası, çalıştırılacak işletim sistemi şablonunu seçip indirmektir.Proxmox arayüzünde template’lere ulaşmak için Local (pve) altında CT Templates bölümüne girilir ve Templates sekmesi kullanılır.
CLI tercih eden kullanıcılar için template listeleme ve indirme işlemleri aşağıdaki komutlarla yapılabilir.
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.

Container İçin CPU ve Bellek Ataması
Bu adımda container’a kaç çekirdek ve ne kadar bellek verileceği belirlenir. CLI kullanılarak kaynak ataması şu şekilde yapılır.
pct set 101 --cores 2 --memory 2048 --swap 512Container Network Yapılandırması (vmbr)
Bu adım, container’ın hangi ağ köprüsü üzerinden çalışacağını belirler. Standart kurulumlarda vmbr0 kullanımı yeterlidir.
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 Nerelerde Kullanılmalıdır?
LXC, web servisleri, API altyapıları ve mikroservis mimarileri için oldukça elverişlidir. Nginx ve Apache gibi web sunucuları, LXC üzerinde az kaynak tüketerek sorunsuz çalışır. İzleme, loglama ve CI/CD tarafında kullanılan servisler için de pratik bir çözüm oluşturur. Redis gibi hafif servisler ile birlikte, dikkatli planlanmış PostgreSQL kurulumları da LXC içinde konumlandırılabilir.
KVM Nedir Proxmox Ortamında Ne Sağlar?
KVM, Proxmox üzerinde tam izolasyonlu sanal makineler oluşturulmasını sağlar. Her sanal makine kendi işletim sistemiyle bağımsız şekilde çalışır. Linux, Windows veya farklı OS’ler bu yapı üzerinde kullanılabilir.
KVM Hangi Durumlarda Gerekir?
Windows sanal makineleri için KVM zorunludur. LXC mimarisi bu senaryoyu desteklemez.
Veritabanı servisleri yoğun disk IO, gelişmiş bellek yönetimi ve kernel ayarları gerektirir. LXC’nin Linux ile sınırlı yapısı bu noktada dezavantaj oluşturur.
- IO jitter oluşabilir
- Backup süreçleri karmaşık hale gelir
- Performans stabilitesi azalır
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 Sağlıklı Geçiş Nasıl Yapılır?
LXC’den KVM’e geçiş, teknik olarak bir container migrasyonu değildir. Bu sürecin VM’e dönüştürme olarak görülmesi en sık yapılan yanlışlardan biridir. Doğru yaklaşım, veriyi taşımak ve servisi yeniden kurmaktır.
İlk aşamada uygulamaya ait tüm veriler container’dan ayrılır. Veritabanı dump’ları alınır, dosya yapıları kopyalanır ya da object storage kullanılarak veri bağımsız hale getirilir. Daha sonra KVM üzerinde temiz bir sanal makine oluşturularak servisler sıfırdan kurulur.
Kesintiyi en aza indirmek için LXC ortamı aktif kalır, KVM tarafı paralel şekilde hazırlanır. DNS TTL düşürülür, geçici olarak iki ortam birlikte çalıştırılır ve kısa bir bakım anında trafik yeni VM’e yönlendirilir. Bu yöntemle geçiş işlemi saniyeler içinde tamamlanabilir.
Proxmox’ta LXC ve KVM Nasıl Birlikte Kullanılmalı?
Proxmox altyapılarında tek tip sanallaştırma yerine hibrit bir yapı tercih edilir. En verimli sonuç, LXC ve KVM’in farklı sorumluluklarla birlikte çalıştırılmasıyla elde edilir.
LXC tarafında edge katmanı oluşturulur. Web sunucuları, proxy servisleri, monitoring ve yardımcı servisler burada konumlandırılır.
KVM tarafında ise core katman yer alır. Veritabanları, Windows sistemler ve güvenlik açısından kritik servisler bu alanda çalışır.
🔶 LXC → edge servisler (web, proxy, monitoring)
🔶 KVM → core servisler (veritabanı, Windows, kritik uygulamalar)
Güvenlik Açısından Değerlendirme
LXC güvenli bir sanallaştırma modeli sunar ancak kernel paylaşımı bazı sınırlamalar getirir. Üretim ortamlarında unprivileged container kullanılmaması ciddi risklere yol açabilir. Privileged LXC kullanımı güvenlik açısından sakıncalıdır.
KVM tarafında izolasyon mimarinin bir parçasıdır. Dış dünyaya açık servisler, hassas uygulamalar ve regülasyon kapsamındaki sistemler için 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 |