Sanalama

LXC nedir?

Diğer adları: Linux Containers
Tanım

LXC is Linux-native containerisation that isolates processes with namespaces and cgroups while sharing the host kernel. LXC is excellent inside a trust boundary you already own and weak as a multi-tenant boundary, because a kernel escape affects every container on the host.

LXC neden önemlidir

LXC, zaten sahip olduğunuz bir güven sınırı içinde mükemmeldir ve çok kiracılı bir sınır olarak zayıftır, çünkü bir çekirdek kaçışı ana makinedeki her kapsayıcıyı etkiler.

LXC pratikte

LXC ile ana bilgisayar çekirdeğini paylaşan hafif bir kapsayıcı elde edersiniz. Onu lxc komut takımı veya API aracılığıyla yönetir, CPU ve bellek baskısı için cgroup istatistiklerini izlersiniz. İnce ayar çoğunlukla ad alanı ve cgroup sınırlarıdır: süreçleri sabitleme, bellek tavanları ayarlama. Yanlış yapmanın maliyeti maruziyettir: bir çekirdek kaçışı kapsayıcıdaki her şeyi tehlikeye atar, bu yüzden ana bilgisayarı tek bir güven alanı olarak ele alır ve arızadan kurtulmayı kapsayıcı başına değil ana bilgisayar düzeyinde planlarsınız.

LXC hakkında insanların yanıldığı şeyler

İnsanlar LXC'yi KVM'e eşdeğer bir güvenlik sınırı olarak görür. Bu doğru değil: kapsayıcılar bir çekirdeği paylaşır, bu yüzden o çekirdekteki bir kusur herhangi bir kapsayıcıdan çıkış yapabilir. Düzeltme, LXC'nin size ait güven sınırı içinde izolasyon için olduğu, kiracıların düşmanca olabileceği çok kiracılı barındırma için olmadığıdır.

LXC — yaygın sorular

LXC ile Docker aynı mıdır?

Hayır. Docker, LXC gibi kapsayıcı ilkelleri üzerine kurulur ancak imaj yönetimi, katmanlama ve orkestrasyon ekler. LXC daha çok hafif bir VM gibidir: içinde tam bir dağıtım çalıştırırsınız ve onu doğrudan systemd veya init ile yönetirsiniz. Docker uygulamaları paketlemekle ilgilidir; LXC sistemleri sanallaştırmakla ilgilidir.

LXC'yi özel bir çekirdekle çalıştırabilir miyim?

Bu ana bilgisayara bağlıdır. OnionVPS gibi bazı sağlayıcılar tam root verir ve özel çekirdeklere izin verir, ancak LXC ile ana bilgisayar çekirdeğini paylaşırsınız, bu yüzden özel bir çekirdek kapsayıcının kendisi için değildir. Bunun için KVM kullanırsınız. LXC, ana bilgisayarın sağladığı çekirdek sürümüne ve yapılandırmasına bağlıdır.

sanalama kategorisinden daha fazlası

KVM
KVM, Linux çekirdeğine yerleşik tam donanım sanallaştırmasıdır ve her konuğa kendi çekirdeğini ve diğer kiracılardan donanım tarafından zorlanan izolasyonu verir.
OpenVZ
OpenVZ, her örneğin ana çekirdeği paylaştığı kapsayıcı tabanlı sanallaştırmadır; bu nedenle konuklar çekirdek modülleri yükleyemez veya farklı bir işletim sistemi çalıştıramaz.
Hipervizör
Hipervizör, fiziksel CPU, bellek ve G/Ç'yi aralarında tahsis ederek sanal makineleri oluşturan ve çalıştıran yazılım katmanıdır.
İç içe sanallaştırma
İç içe sanallaştırma, işlemci sanallaştırma uzantılarını konuğa sunarak bir sanal makinenin kendisinin sanal makineler çalıştırımasını sağlar.
Sanal CPU
vCPU, fiziksel bir çekirdek veya iş parçacığı üzerindeki zamanlama ile desteklenen, konuğa sunulan sanal bir işlemcidir.
cloud-init
cloud-init, platform tarafından sağlanan meta verileri kullanarak bir sanal makineyi ilk açılışta yapılandırmak için standart mekanizmadır.