Izdaja sistema za upravljanje zabojnikov LXD 5.0

Canonical je objavil izdajo upravitelja vsebnikov LXD 5.0 ​​​​in navideznega datotečnega sistema LXCFS 5.0. Koda LXD je napisana v Go in se distribuira pod licenco Apache 2.0. Veja 5.0 je razvrščena kot izdaja za dolgoročno podporo – posodobitve bodo ustvarjene do junija 2027.

Kot izvajalno okolje za zagon vsebnikov se uporablja komplet orodij LXC, ki vključuje knjižnico liblxc, nabor pripomočkov (lxc-create, lxc-start, lxc-stop, lxc-ls itd.), predloge za gradnjo vsebnikov in nabor povezav za različne programske jezike. Izolacija se izvaja s standardnimi mehanizmi jedra Linuxa. Za izolacijo procesov, omrežnega sklada ipc, utov, ID-jev uporabnikov in točk priklopa se uporablja mehanizem imenskih prostorov. cgroups se uporabljajo za omejevanje virov. Za znižanje privilegijev in omejitev dostopa se uporabljajo funkcije jedra, kot so profili Apparmor in SELinux, pravilniki Seccomp, Chroots (pivot_root) in zmogljivosti.

LXD poleg LXC uporablja tudi komponente iz projektov CRIU in QEMU. Če je LXC komplet orodij nizke ravni za manipulacijo na ravni posameznih vsebnikov, potem LXD zagotavlja orodja za centralizirano upravljanje vsebnikov, nameščenih v gruči več strežnikov. LXD je implementiran kot proces v ozadju, ki sprejema zahteve po omrežju prek REST API-ja in podpira različna zaledja shranjevanja (drevo imenikov, ZFS, Btrfs, LVM), posnetke z rezino stanja, migracijo tekočih vsebnikov v živo z enega računalnika na drugega, in orodja za shranjevanje vsebnikov slik. LXCFS se uporablja za simulacijo psevdo-FS /proc in /sys v vsebnikih ter virtualizirano predstavitev cgroupfs, da daje vsebnikom videz navadnega neodvisnega sistema.

Ključne izboljšave:

  • Možnost vročega priklapljanja in odklapljanja diskov in USB naprav. V virtualnem stroju je nov disk zaznan s pojavom nove naprave na vodilu SCSI, naprava USB pa je zaznana z generiranjem dogodka USB hotplug.
  • LXD je mogoče zagnati, tudi če ni mogoče vzpostaviti omrežne povezave, na primer zaradi odsotnosti potrebne omrežne naprave. Namesto prikaza napake ob zagonu LXD zdaj zažene največje možno število okolij v trenutnih pogojih, preostala okolja pa se zaženejo po vzpostavitvi omrežne povezave.
  • Dodana je nova vloga člana gruče - ovn-chassis, namenjena gručam, ki za omrežno komunikacijo uporabljajo OVN (Open Virtual Network) (z dodelitvijo vloge ovn-chassis lahko izberete strežnike za opravljanje funkcij OVN usmerjevalnikov).
  • Predlagan je bil optimiziran način za posodabljanje vsebine pomnilniških particij. V prejšnjih izdajah je bila posodobitev sestavljena iz prvega kopiranja primerka vsebnika ali particije, na primer z uporabo funkcije pošiljanja/prejemanja v zfs ali btrfs, nato pa je bila ustvarjena kopija sinhronizirana z zagonom programa rsync. Za izboljšanje učinkovitosti posodabljanja navideznih strojev nova izdaja uporablja napredno selitveno logiko, pri kateri se, če izvorni in ciljni strežnik uporabljata isto pomnilniško področje, samodejno uporabljajo posnetki in operacije pošiljanja/prejemanja namesto rsync.
  • Logika za prepoznavanje okolij v oblaku-init je bila predelana: namesto imen okolja se UUID zdaj uporablja kot instance-id.
  • Dodana podpora za priklop sistemskega klica sched_setscheduler, kar omogoča neprivilegiranim vsebnikom spreminjanje prioritet procesa.
  • Možnost lvm.thinpool_metadata_size je bila implementirana za nadzor velikosti metapodatkov v thinpoolu.
  • Format datoteke z informacijami o omrežju za lxc je bil preoblikovan. Dodana podpora za podatke o povezovanju vmesnikov, omrežnih mostovih, omrežju VLAN in OVN.
  • Zahteve za minimalne različice komponent so bile povečane: jedro Linuxa 5.4, Go 1.18, LXC 4.0.x in QEMU 6.0.
  • LXCFS 5 je dodal podporo za poenoteno hierarhijo cgroup (cgroup2), implementiral /proc/slabinfo in /sys/devices/system/cpu ter uporabil komplet orodij meson za sestavljanje.

Vir: opennet.ru

Dodaj komentar