Spoločnosť Canonical vydala nástroj na organizáciu práce izolovaných kontajnerov LXC 5.0, ktorý poskytuje runtime vhodný na spúšťanie kontajnerov s plným systémovým prostredím, blízkych k virtuálnym strojom, ako aj na vykonávanie nepriviligovaných kontajnerov jednotlivých aplikácií (OCI). LXC patrí medzi nízkoúrovňové nástroje, ktoré fungujú na úrovni jednotlivých kontajnerov. Pre centralizované riadenie kontajnerov nasadených v clustere viacerých serverov sa na báze LXC vyvíja systém LXD. Vetva LXC 5.0 patrí medzi vydania s dlhou podporou, aktualizácie pre ktoré sú vytvárané počas 5 rokov. Kód LXC je napísaný v jazyku C a distribuuje sa pod licenciou GPLv2.
Súčasťou LXC je knižnica liblxc, súbor utilít (lxc-create, lxc-start, lxc-stop, lxc-ls atď.), šablóny na vytváranie kontajnerov a súbor bindingov pre rôzne programovacie jazyky. Izolácia sa vykonáva pomocou štandardných mechanizmov jadra Linux. Pre izoláciu procesov, sieťového zásobníka ipc, uts, identifikátorov používateľov a bodov montovania sa využíva mechanizmus priestorov mien (namespaces). Na obmedzenie zdrojov sa používajú cgroups. Na znižovanie privilégií a obmedzenie prístupu sú zapojené funkcie jadra ako profily Apparmor a SELinux, politiky Seccomp, Chroots (pivot_root) a capabilities.
Hlavné zmeny:
- Prebieha prechod z autotools na systém zostavovania Meson, ktorý sa tiež používa na zostavovanie takých projektov, ako sú X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME a GTK.
- Pridané nové možnosti pre nastavenie cgroup — lxc.cgroup.dir.container, lxc.cgroup.dir.monitor, lxc.cgroup.dir.monitor.pivot a lxc.cgroup.dir.container.inner, ktoré umožňujú explicitne určiť cesty cgroup pre kontajner, proces monitorovania a vnorené hierarchie cgroup.
- Pridaná podpora časových názvov (time namespaces) na priradenie konkrétneho stavu systémových hodín ku kontajneru, čo umožňuje používať v kontajneri vlastný čas odlišný od systémového. Na nastavenie sú navrhnuté možnosti lxc.time.offset.boot a lxc.time.offset.monotonic, ktoré umožňujú určiť pre kontajner posun voči hlavným systémovým hodinám.
- Pre virtuálne ethernetové adaptéry (Veth) bola implementovaná podpora VLAN. Na riadenie VLAN sú navrhnuté možnosti: veth.vlan.id na určenie základného VLAN a veth.vlan.tagged.id na priradenie dodatočných označených VLAN.
- Pre virtuálne ethernetové adaptéry bola pridaná možnosť nastavenia veľkosti front prijímania a odosielania prostredníctvom nových možností veth.n_rxqueues a veth.n_txqueues.
Zdroj: opennet.ru
