Vydanie systému správy kontajnerov LXD 5.0

Canonical zverejnil vydanie správcu kontajnerov LXD 5.0 ​​​​a virtuálneho súborového systému LXCFS 5.0. LXD kód je napísaný v Go a distribuovaný pod licenciou Apache 2.0. Vetva 5.0 je klasifikovaná ako dlhodobá podpora – aktualizácie budú generované do júna 2027.

Ako runtime na spúšťanie kontajnerov sa používa sada nástrojov LXC, ktorá obsahuje knižnicu liblxc, sadu nástrojov (lxc-create, lxc-start, lxc-stop, lxc-ls atď.), šablóny na zostavovanie kontajnerov a súbor väzieb pre rôzne programovacie jazyky. Izolácia sa vykonáva pomocou štandardných mechanizmov jadra Linuxu. Na izoláciu procesov, zásobníka siete ipc, uts, ID používateľov a bodov pripojenia sa používa mechanizmus menných priestorov. cgroups sa používajú na obmedzenie zdrojov. Na zníženie privilégií a obmedzenie prístupu sa používajú funkcie jadra, ako sú profily Apparmor a SELinux, politiky Seccomp, Chroots (pivot_root) a schopnosti.

Okrem LXC využíva LXD aj komponenty z projektov CRIU a QEMU. Ak je LXC nízkoúrovňovou súpravou nástrojov na manipuláciu na úrovni jednotlivých kontajnerov, potom LXD poskytuje nástroje na centralizovanú správu kontajnerov nasadených v klastri niekoľkých serverov. LXD je implementovaný ako proces na pozadí, ktorý prijíma požiadavky cez sieť cez REST API a podporuje rôzne backendy úložiska (adresárový strom, ZFS, Btrfs, LVM), snímky so stavovým rezom, živú migráciu bežiacich kontajnerov z jedného počítača na druhý, a nástroje na ukladanie obrázkových kontajnerov. LXCFS sa používa na simuláciu pseudo-FS /proc a /sys v kontajneroch a virtualizovanej reprezentácie cgroupfs, aby kontajnery vyzerali ako bežný nezávislý systém.

Kľúčové vylepšenia:

  • Možnosť horúceho pripojenia a odpojenia diskov a USB zariadení. Vo virtuálnom stroji sa nový disk deteguje objavením sa nového zariadenia na zbernici SCSI a zariadenie USB sa zistí vygenerovaním udalosti USB hotplug.
  • LXD je možné spustiť aj vtedy, keď nie je možné nadviazať sieťové pripojenie, napríklad z dôvodu absencie potrebného sieťového zariadenia. Namiesto zobrazenia chyby pri štarte teraz LXD spúšťa maximálny možný počet prostredí za aktuálnych podmienok a zvyšné prostredia sa spúšťajú po nadviazaní sieťového pripojenia.
  • Bola pridaná nová rola člena klastra - ovn-chassis, určená pre klastre, ktoré používajú OVN (Open Virtual Network) na sieťovú komunikáciu (priradením roly ovn-chassis si môžete vybrať servery na vykonávanie funkcií OVN routerov).
  • Bol navrhnutý optimalizovaný režim aktualizácie obsahu úložných oddielov. V predchádzajúcich vydaniach aktualizácia pozostávala z prvého skopírovania inštancie kontajnera alebo oddielu, napríklad pomocou funkcie odosielania a prijímania v zfs alebo btrfs, po čom bola vytvorená kópia synchronizovaná spustením programu rsync. Na zlepšenie efektívnosti aktualizácie virtuálnych strojov používa nové vydanie pokročilú logiku migrácie, v ktorej, ak zdrojový a cieľový server používajú rovnaký úložný priestor, automaticky sa namiesto rsync použijú snímky a operácie odosielania a prijímania.
  • Logika identifikácie prostredí v cloud-init bola prepracovaná: namiesto názvov prostredí sa teraz ako inštancia používa UUID.
  • Pridaná podpora pre pripojenie systémového volania sched_setscheduler, čo umožňuje neprivilegovaným kontajnerom meniť priority procesov.
  • Voľba lvm.thinpool_metadata_size bola implementovaná na riadenie veľkosti metaúdajov v thinpool.
  • Formát súboru s informáciami o sieti pre lxc bol prepracovaný. Pridaná podpora pre dáta o väzbe rozhrania, sieťových mostoch, VLAN a OVN sieti.
  • Požiadavky na minimálne verzie komponentov boli zvýšené: Linuxové jadro 5.4, Go 1.18, LXC 4.0.xa QEMU 6.0.
  • LXCFS 5 pridal podporu pre zjednotenú hierarchiu cgroup (cgroup2), implementoval /proc/slabinfo a /sys/devices/system/cpu a na zostavenie použil sadu nástrojov meson.

Zdroj: opennet.ru

Pridať komentár