Företaget Canonical utgÄvan av verktyg för att organisera arbetet med isolerade containrar , containerhanteraren och virtuell filsystem för simulering i containrar av /proc, /sys och virtualiserad cgroupfs för distributioner utan stöd för namnrymder för cgroup. Version 4.0 Àr en lÄngsiktig stödfokuserad version, med uppdateringar som tillhandahÄlls under 5 Är
LXC Àr en runtime för att köra bÄde systemcontainrar och containrar för enskilda applikationer (OCI). LXC inkluderar biblioteket liblxc, en uppsÀttning verktyg (lxc-create, lxc-start, lxc-stop, lxc-ls etc.), mallar för att bygga containrar och en uppsÀttning bindningar för olika programmeringssprÄk. Isolering utförs med hjÀlp av standardmekanismer i Linux-kÀrnan. För isolering av processer, nÀtverksstack, ipc, uts, anvÀndar-ID:n och monteringspunkter anvÀnds namnrymder (namespaces). Resurser begrÀnsas med cgroups. För att sÀnka privilegier och begrÀnsa Ätkomst anvÀnds funktioner som Apparmor-profiler och SELinux, Seccomp-policyer, Chroots (pivot_root) och capabilities. Koden för LXC Àr skriven i C och distribueras under GPLv2-licensen.
LXD Àr en överbyggnad pÄ LXC, CRIU och QEMU, som anvÀnds för centraliserad hantering av containrar och virtuella maskiner pÄ en eller flera servrar. Om LXC Àr ett lÄgnivÄverktyg för att manipulera pÄ nivÄ av enskilda containrar, sÄ Àr LXD implementerat som en bakgrundsprocess som tar emot förfrÄgningar över nÀtverket via REST API och möjliggör skapandet av skalbara konfigurationer som distribueras pÄ ett kluster av flera servrar.
Olika lagringsbackend stöds (katalogtrÀd, ZFS, Btrfs, LVM), snapshots av tillstÄnd, live-migrering av aktiva containrar frÄn en maskin till en annan och medel för att organisera lagring av bilder. Koden för LXD Àr skriven i Go och distribueras under Apache 2.0-licensen.
Nyckel i LXC 4.0:
- Hela drivrutinen för arbete med cgroup har skrivits om. Stöd för en enad cgroup-hierarki (cgroup2) har lagts till. Funktionalitet för frysaren har lagts till, som möjliggör att stoppa arbetet i cgroup och tillfÀlligt avsÀtta vissa resurser (CPU, I/O och potentiellt Àven minne) för att utföra andra uppgifter;
- Infrastrukturen för att fÄnga systemanrop har implementerats;
- Stöd för kÀrnunderystemet 'pidfd' har lagts till, vilket Àr avsett att hantera situationer med ÄteranvÀndning av PID (pidfd kopplas till en specifik process och förÀndras inte, medan PID kan knytas till en annan process efter att den aktuella processen kopplad till detta PID har avslutats);
- FörbÀttrad skapande och borttagning av nÀtverksenheter, samt deras flytt mellan namnrymder i nÀtverksunderstöd;
- Möjlighet att flytta trÄdlösa nÀtverksenheter (nl80211) till containrar har implementerats.
Nyckel i LXD 4.0:
- Stöd för att starta inte bara containrar utan ocksÄ virtuella maskiner har lagts till;
- För segmentering av LXD-servrar har ett koncept för projekt föreslagits, vilket förenklar hanteringen av grupper av containrar och virtuella maskiner. Varje projekt kan omfatta sin egen uppsÀttning av containrar, virtuella maskiner, bilder, profiler och lagringsomrÄden. Specifika begrÀnsningar kan stÀllas in och instÀllningar Àndras kopplat till projekten;
- Stöd för att fÄnga systemanrop för containrar har lagts till;
- Möjlighet att skapa sÀkerhetskopior av miljöer och ÄterstÀlla frÄn dem har implementerats;
- Automatiserat skapande av snapshots av miljöer och lagringsomrÄden med möjlighet att ange livstiden för snapshoten har sÀkerstÀllts;
- API har lagts till för övervakning av nÀtverksstatus (lxc network info);
- Stöd för , virtuell FS för att mappa monteringspunkter med namnrymder för anvÀndaridentifierare (user namespace);
- Nya typer av nÀtverksadaptrar 'ipvlan' och 'routed' har föreslagits;
- En backend för att anvÀnda lagringslösningar baserade pÄ CephFS har lagts till;
- För kluster har stöd för replikering av bilder och multiarkitekturskonfigurationer implementerats;
- Möjlighet till Ätkomsthantering baserat pÄ roller (RBAC) har lagts till;
- Stöd för CGroup2 har lagts till;
- Möjlighet att stÀlla in MAC-adresser och definiera kÀlladress för NAT har lagts till;
- API för att hantera kopplingar i DHCP (leases) har lagts till;
- Stöd för Nftables har lagts till.
KĂ€lla: opennet.ru
