Canonical har offentliggjort en ny version af værktøjet til organisering af arbejde med isolerede containere LXC 5.0, som giver en runtime, der er velegnet til både at køre containere med et fuldt systemmiljø, der er tæt på virtuelle maskiner, og til at udføre uprivilegerede containere for enkeltapplikationer (OCI). LXC er et lavniveau værktøj, der arbejder på niveauet for individuelle containere. For centraliseret administration af containere, der er implementeret i et klynge af flere servere, udvikles der et system kaldet LXD baseret på LXC. LXC 5.0-grenen er klassificeret som en version med langsigtet support, hvor opdateringer vil blive lavet i 5 år. Koden til LXC er skrevet i C og distribueres under GPLv2-licensen.
LXC inkluderer bibliotekerne liblxc, et sæt værktøjer (lxc-create, lxc-start, lxc-stop, lxc-ls osv.), skabeloner til opbygning af containere og et sæt bindings til forskellige programmeringssprog. Isoleringen udføres ved hjælp af standardmekanismerne i Linux-kernen. Isolation af processer, netværksstak, ipc, uts, brugeridentifikatorer og monteringspunkter anvender namespaces-mekanismen. For at begrænse ressourcer anvendes cgroups. For at reducere privilegier og begrænse adgangen er der brugt kernen funktionaliteter som Apparmor-profiler, SELinux-politikker, Seccomp-politikker, Chroots (pivot_root) og capabilities.
Vigtige ændringer:
- Overgangen fra autotools til byggesystemet Meson er blevet gennemført, som også anvendes til at bygge projekter som X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME og GTK.
- Der er tilføjet nye muligheder for konfigurering af cgroup — lxc.cgroup.dir.container, lxc.cgroup.dir.monitor, lxc.cgroup.dir.monitor.pivot og lxc.cgroup.dir.container.inner, som gør det muligt at definere stierne for cgroup explict til containeren, overvågningsprocessen og indlejrede cgroup hierarkier.
- Der er tilføjet støtte til tidsrum (time namespaces) for at knytte en specifik tilstand af systemurene til containeren, hvilket muliggør at bruge sin egen tid i containeren, som er forskellig fra systemtiden. For konfiguration tilbydes mulighederne lxc.time.offset.boot og lxc.time.offset.monotonic, som tillader at bestemme en forskydning i forhold til de primære systemur.
- For virtuelle ethernet-adaptere (Veth) er der implementeret støtte til VLAN. Til administration af VLAN tilbydes mulighederne: veth.vlan.id til at angive den primære VLAN og veth.vlan.tagged.id til at knytte yderligere taggede VLAN.
- For virtuelle ethernet-adaptere er der tilføjet mulighed for at konfigurere samtidige størrelser for modtagelse og overførsel ved hjælp af de nye muligheder veth.n_rxqueues og veth.n_txqueues.
Kilde: opennet.ru
