LXC nedir?
LXC (Linux Containers), Linux çekirdeğinin namespaces ve cgroups özelliklerini kullanarak yalıtılmış Linux ortamları çalıştıran bir konteyner teknolojisidir. Her konteyner kendi süreç ağacı, ağ yapısı ve dosya sistemiyle tam bir Linux sunucusu gibi görünür, ancak ana makinenin çekirdeğini paylaşır.
Docker uygulama konteynerlerine odaklanırken LXC daha çok sistem konteyneri yaklaşımını benimser: içinde init sistemi, birden çok servis ve kullanıcı çalışabilir. Bu yüzden hafif bir sanal sunucu gibi kullanılır.
Nasıl çalışır?
LXC bir sanal makine ve donanım taklidi yapmaz. Çekirdek düzeyinde yalıtım sağlar: namespaces süreçlerin, ağın ve bağlama noktalarının görünümünü ayırır; cgroups ise işlemci, bellek ve G/Ç kaynaklarını sınırlar. Konteynerin kök dosya sistemi bir şablondan ya da imajdan oluşturulur.
Çekirdeği paylaştığı için başlatma çok hızlıdır ve kaynak yükü düşüktür. Karşılığında konteynerler ana makinenin çekirdeğinden farklı bir çekirdek çalıştıramaz; yalıtım da bir sanal makine kadar güçlü kabul edilmez.
Sunucu ve hosting ortamında
Proxmox VE gibi platformlar LXC konteynerlerini yönetebilir. Sağlayıcılar küçük VPS paketlerini bu yöntemle yüksek yoğunlukta sunabilir. Ayrıcalıksız (unprivileged) konteynerler, konteyner içindeki root kullanıcısını ana makinede yetkisiz bir kullanıcıya eşler ve güvenlik açısından tercih edilir.
Nasıl korunulur?
- Mümkün olduğunda ayrıcalıksız konteynerleri kullanın; ayrıcalıklı olanları yalnızca zorunluysa tercih edin.
- Her konteynere bellek, işlemci ve süreç sayısı sınırı tanımlayın.