Liberigo de LXD 5.0-ujo-administra sistemo

Canonical publikigis la liberigon de kontenera administranto LXD 5.0 ​​kaj virtuala dosiersistemo LXCFS 5.0. La LXD-kodo estas skribita en Go kaj distribuita sub la licenco Apache 2.0. La branĉo 5.0 estas klasifikita kiel longdaŭra subtena eldono - ĝisdatigoj estos generitaj ĝis junio 2027.

Kiel rultempo por lanĉi ujojn, la ilaro LXC estas uzata, kiu inkluzivas la bibliotekon liblxc, aron da utilecoj (lxc-create, lxc-start, lxc-stop, lxc-ls, ktp.), ŝablonojn por konstrui ujojn kaj aro de ligoj por diversaj programlingvoj. Izoliĝo estas farita per normaj Linukso-kernaj mekanismoj. Por izoli procezojn, la ipc-retan stakon, uts, uzantidentigilojn kaj muntajn punktojn, oni uzas la nomspacojn. cgroups estas uzataj por limigi rimedojn. Por malaltigi privilegiojn kaj limigi aliron, kernaj funkcioj kiel Apparmor kaj SELinux-profiloj, Seccomp-politikoj, Chroots (pivot_root) kaj kapabloj estas uzataj.

Aldone al LXC, LXD ankaŭ uzas komponentojn de la CRIU kaj QEMU-projektoj. Se LXC estas malaltnivela ilaro por manipulado ĉe la nivelo de individuaj ujoj, tiam LXD disponigas ilojn por centralizita administrado de ujoj deplojitaj en areto de pluraj serviloj. LXD estas efektivigita kiel fona procezo, kiu akceptas petojn tra la reto per la REST API kaj subtenas diversajn stokadajn backends (dosierujo-arbo, ZFS, Btrfs, LVM), momentfotojn kun ŝtattranĉaĵo, viva migrado de kurantaj ujoj de unu maŝino al alia, kaj iloj por stoki bildojn ujojn. LXCFS estas uzata por simuli la pseŭdo-FS /proc kaj /sys en ujoj, kaj la virtualigita reprezentado cgroupfs por doni al la ujoj la aspekton de regula sendependa sistemo.

Ŝlosilaj plibonigoj:

  • Eblo de varma ŝtopado kaj malkonektado de diskoj kaj USB-aparatoj. En virtuala maŝino, nova disko estas detektita per la apero de nova aparato sur la SCSI-buso, kaj USB-aparato estas detektita per la generacio de USB-varmkonekta evento.
  • Eblas lanĉi LXD eĉ kiam estas neeble establi retan konekton, ekzemple pro manko de la necesa reto-aparato. Anstataŭ montri eraron ĉe ekfunkciigo, LXD nun lanĉas la maksimuman nombron da medioj eblaj sub nunaj kondiĉoj, kaj la ceteraj medioj estas lanĉitaj post kiam la retkonekto estas establita.
  • Nova rolo de membro-grupo estis aldonita - ovn-ĉasio, destinita por aretoj kiuj uzas OVN (Malferma Virtuala Reto) por retkomunikado (asignante la ovn-ĉasian rolon, vi povas elekti servilojn por plenumi la funkciojn de OVN-enkursigiloj).
  • Optimumigita reĝimo por ĝisdatigi la enhavon de stokadsekcioj estis proponita. En antaŭaj eldonoj, la ĝisdatigo konsistis el unue kopiado de uja petskribo aŭ sekcio, ekzemple, uzante la send/ricevu funkciojn en zfs aŭ btrfs, post kiu la kreita kopio estis sinkronigita rulante la rsync-programon. Por plibonigi la efikecon de ĝisdatigado de virtualaj maŝinoj, la nova eldono uzas altnivelan migradlogikon, en kiu, se la fonto- kaj celserviloj uzas la saman stokejon, momentfotoj kaj sendaj/ricevaj operacioj estas aŭtomate uzataj anstataŭ rsync.
  • La logiko por identigi mediojn en cloud-init estis reverkita: anstataŭe de medionomoj, UUID nun estas uzata kiel instance-id.
  • Aldonita subteno por hokado de la sistemvoko sched_setscheduler, permesante senprivilegiajn ujojn ŝanĝi procezprioritatojn.
  • La opcio lvm.thinpool_metadata_size estis efektivigita por kontroli la grandecon de metadatenoj en thinpool.
  • La dosierformato kun retaj informoj por lxc estis restrukturita. Aldonita subteno por datumoj pri interfaca ligado, retaj pontoj, VLAN kaj OVN-reto.
  • La postuloj por minimumaj komponversioj estis pliigitaj: Linukso-kerno 5.4, Go 1.18, LXC 4.0.x kaj QEMU 6.0.
  • LXCFS 5 aldonis subtenon por la unuigita cgroup-hierarkio (cgroup2), efektivigis /proc/slabinfo kaj /sys/devices/system/cpu, kaj uzis la meson-ilaron por kunigo.

fonto: opennet.ru

Aldoni komenton