Lëshimi i sistemit të menaxhimit të kontejnerëve LXD 5.0

Canonical ka publikuar lëshimin e menaxherit të kontejnerëve LXD 5.0 ​​dhe sistemit virtual të skedarëve LXCFS 5.0. Kodi LXD është shkruar në Go dhe shpërndahet nën licencën Apache 2.0. Dega 5.0 klasifikohet si një version i mbështetjes afatgjatë - përditësimet do të gjenerohen deri në qershor 2027.

Si një kohë ekzekutimi për lëshimin e kontejnerëve, përdoret paketa e veglave LXC, e cila përfshin bibliotekën liblxc, një grup shërbimesh (lxc-create, lxc-start, lxc-stop, lxc-ls, etj.), shabllone për ndërtimin e kontejnerëve dhe një grup lidhjesh për gjuhë të ndryshme programimi. Izolimi kryhet duke përdorur mekanizma standardë të kernelit Linux. Për të izoluar proceset, grupin e rrjetit ipc, uts, ID-të e përdoruesve dhe pikat e montimit, përdoret mekanizmi i hapësirave të emrave. cgrupet përdoren për të kufizuar burimet. Për të ulur privilegjet dhe për të kufizuar aksesin, përdoren veçoritë e kernelit si profilet Apparmor dhe SELinux, politikat Seccomp, Chroots (pivot_root) dhe aftësitë.

Përveç LXC, LXD përdor gjithashtu komponentë nga projektet CRIU dhe QEMU. Nëse LXC është një grup mjetesh të nivelit të ulët për manipulim në nivelin e kontejnerëve individualë, atëherë LXD ofron mjete për menaxhimin e centralizuar të kontejnerëve të vendosur në një grup me disa serverë. LXD zbatohet si një proces sfondi që pranon kërkesa përmes rrjetit nëpërmjet REST API dhe mbështet mbështetës të ndryshëm të ruajtjes (pema e drejtorive, ZFS, Btrfs, LVM), fotografi me një pjesë të gjendjes, migrim të drejtpërdrejtë të kontejnerëve që funksionojnë nga një makinë në tjetrën. dhe mjetet për ruajtjen e kontejnerëve të imazheve. LXCFS përdoret për të simuluar pseudo-FS /proc dhe /sys në kontejnerë, dhe përfaqësimi i virtualizuar cgroupfs për t'i dhënë kontejnerëve pamjen e një sistemi të rregullt të pavarur.

Përmirësimet kryesore:

  • Mundësia e kyçjes dhe shkëputjes së disqeve dhe pajisjeve USB të nxehtë. Në një makinë virtuale, një disk i ri zbulohet nga shfaqja e një pajisjeje të re në autobusin SCSI dhe një pajisje USB zbulohet nga gjenerimi i një ngjarjeje të prizës USB.
  • LXD është e mundur të lëshohet edhe kur është e pamundur të vendoset një lidhje rrjeti, për shembull, për shkak të mungesës së pajisjes së nevojshme të rrjetit. Në vend që të shfaqë një gabim gjatë nisjes, LXD tani lëshon numrin maksimal të mjediseve të mundshme në kushtet aktuale, dhe mjediset e mbetura nisen pasi të vendoset lidhja e rrjetit.
  • Është shtuar një rol i ri anëtar i grupit - ovn-chassis, i destinuar për grupe që përdorin OVN (Rrjeti Virtual i Hapur) për komunikim në rrjet (duke caktuar rolin ovn-shassis, ju mund të zgjidhni serverët për të kryer funksionet e ruterave OVN).
  • Është propozuar një mënyrë e optimizuar për përditësimin e përmbajtjes së ndarjeve të ruajtjes. Në versionet e mëparshme, përditësimi konsistonte në fillimin e kopjimit të një shembulli ose ndarjeje kontejneri, për shembull, duke përdorur funksionin e dërgimit/marrjes në zfs ose btrfs, pas së cilës kopja e krijuar u sinkronizua duke ekzekutuar programin rsync. Për të përmirësuar efikasitetin e përditësimit të makinave virtuale, versioni i ri përdor logjikën e avancuar të migrimit, në të cilën, nëse serverët e burimit dhe të destinacionit përdorin të njëjtin grup ruajtjeje, fotografitë dhe operacionet e dërgimit/marrjes përdoren automatikisht në vend të rsync.
  • Logjika për identifikimin e mjediseve në cloud-init është ripunuar: në vend të emrave të mjedisit, UUID tani përdoret si instance-id.
  • Mbështetje e shtuar për lidhjen e thirrjes së sistemit sched_setscheduler, duke lejuar kontejnerët e paprivilegjuar të ndryshojnë prioritetet e procesit.
  • Opsioni lvm.thinpool_metadata_size është zbatuar për të kontrolluar madhësinë e meta të dhënave në thinpool.
  • Formati i skedarit me informacionin e rrjetit për lxc është ridizajnuar. Mbështetje e shtuar për të dhënat në lidhjen e ndërfaqes, urat e rrjetit, rrjetin VLAN dhe OVN.
  • Kërkesat për versionet minimale të komponentëve janë rritur: kernel Linux 5.4, Go 1.18, LXC 4.0.x dhe QEMU 6.0.
  • LXCFS 5 shtoi mbështetje për hierarkinë e unifikuar të cgroupit (cgroup2), implementoi /proc/slabinfo dhe /sys/devices/system/cpu dhe përdori paketën e veglave meson për montim.

Burimi: opennet.ru

Shto një koment