Canonical ettevõte on avaldanud uue versiooni konteinerihaldussüsteemist LXD 5.20, mis on märkimisväärne litsentsimuudatuste ja CLA-lepingute nõude tõttu, mis puudutab koodi omandiõiguste üleminekut LXD muudatuste aktsepteerimisel. Kood, mille Canonical oma töötajate kaudu LXD-sse lisab, on muudetud litsentsi Apache 2.0 ainulaadseks AGPLv3-ks, samas kui kolmandate osaliste kood, mille osas Canonical ei oma omandiõigusi, jääb lisatud Apache 2.0 alla. Kuna Canonical ei saa muuta kogu LXD koodi litsentsi, tarnitakse projekt nüüd segatud tingimustes – osa koodist on AGPLv3 ja osa Apache 2.0 all. Üleminek uuele litsentsile on tingitud soovist ühtsustada litsents teistel Canonicali serveri toodetel, kus kasutatakse AGPLv3.
Vanade väljaannete kood jääb, nagu varem, kergesti kätte saadavaks litsentsi Apache 2.0 all, kuid kõik muudatused, mis tehakse litsentsitud komponentides, avaldatakse ainult litsentsi AGPLv3 alla, mis ei võimalda Incus-il muudatusi LXD-st üle kanda ilma enda koodibaasi AGPLv3 litsentsi alla viimata. Litsentsid Apache 2.0 ja AGPLv3 on ühepoolselt ühilduvad, mis tähendab, et Apache 2.0 all olevat koodi võib integreerida AGPLv3 alla kuuluva koodiga, kuid mitte vastupidi. Muudatus tähistab täielikku koostöö lõpetamist LXD ja Incus projektide vahel, kuna LXD-st Incus-sse üleminekut takistab uus litsents, ning Incus-ist LXD-sse liikudes peate allkirjastama CLA, millest Incus arendajad ei plaani kinni pidada.
AGPLv3 litsentsi eripära on täiendavate piirangute kehtestamine rakenduste jaoks, mis tagavad võrguteenuste toimimise. Kui AGPL-komponente kasutatakse võrguteenuste jaoks, peab arendaja kasutajale esitama kõigi nende komponentide tehtud muudatuste lähtekoodi, isegi kui teenuse aluseks olev tarkvara ei levita ja kasutatakse ainult siseinfrastruktuuris teenuse toimimise korraldamiseks. AGPL litsents seab ka kopyleft tingimused, mis tähendab, et AGPL-koodi LXD-st oma projekti lisamiseks peab teie projekti koodibaas olema litsentseeritud AGPL litsentsi alla.
LXD pakub kesksete vahendite haldamiseks, et hallata konteinerite ja virtuaalsete masinate klastreid, mis on paigaldatud mitmesse serverid. LXD on rakendatud taustaprotsessina, mis võtab võrgu kaudu REST API kaudu vastu päringuid ja toetab erinevaid salvestus tausttehnikaid (failipuud, ZFS, Btrfs, LVM), oleku snapshots, töötavate konteinerite live-migreerimist ühest masinast teise ning vahendeid konteinerite piltide haldamiseks. K2enteinerite käitamiseks kasutatakse LXC tööriistakomplekti, mis sisaldab liblxc raamatukogu, kohandatud utiliite (lxc-create, lxc-start, lxc-stop, lxc-ls jne), konteinerite konstruktsioonimalle ja sidumisseoseid erinevatele programmeerimiskeeltele. Isolatsioon saavutatakse Linuxi tuuma standardmehhanismide abil (nime ruumid, cgroups, Apparmor, SELinux, Seccomp). Lisaks LXC-le kasutatakse LXD-s ka komponente projektidest CRIU ja QEMU.
LXD 5.20 uute võimaluste seas:
- Cephfs-põhiste salvestusruumide loomisel on nüüd võimalik luua OSD (Object Storage Daemon) puul metainfot ja andmeid, kasutades parameetreid cephfs.create_missing, cephfs.meta_pool ja cephfs.data_pool. Näiteks: lxc storage create mypool cephfs source=cephfs \ cephfs.create_missing=true \ cephfs.data_pool=xyz_data \ cephfs.meta_pool=xyz_meta
- LXD snap-pakettidesse on EDK2 püsivara seadistamise võimalus lisatud, et määrata käivitamise prioriteet erinevate ketaste vahel, kasutades security.csm režiimi.
- EDK2 UEFI püsivara on lisatud veaotsingu režiim (boot.debug_edk2=true) käivitamisprobleemide diagnostikaks virtuaalmasinate. Veaotsingu logi salvestatakse faili $LXD_DIR/logs//edk2.log.
- Autentimiskood on viidud moodulite alusele, mis on võimaldanud tagada OpenFGA toe koos TLS sertifikaatide ja Canonical RBAC autentimisega.
- Nüüd on LXD kompileerimiseks vaja vähemalt Go keele versioon 1.20.
- Shiftfsi tugi on eemaldatud. Kasutajate identiteetide kaardistamiseks tuleks kasutada idmapiga mountimist, mida toetavad Ext4, XFS, Btrfs, ZFS ja Cephfs.
- UEFI püsivara tugi, mille suurus on 2MB, on eemaldatud (palun kasutage 4MB suuruseid püsivara).
- Incus forki koodibaasist on viidatud NVME tehnoloogial põhinevate salvestusruumide loomise tugi. Uue konfiguratsiooniparameetri „io.bus” abil, mis on vaikimisi seadistatud väärtusele „virtio-scsi”, saab määrata ketastüübi. Kui väärtus muudetakse „nvme” peale, kuvatakse salvestusseade virtuaalmasinas kui NVME SSD.
- Incus forki koodibaasist on viidatud failiteede või eraldi jaotiste kuumühenduse (hot-plug/hot-remove) toe toetusele, mis on edasiviidud host-ümbruse kaudu. A varem nõudis sarnane edasiviimine virtio-fs draiveri või 9p failisüsteemi kasutamisel virtuaalmasina peatamist. Selle piirangu ületamiseks on kasutusele võetud QEMU kuumühenduse võimalus PCI-seadmete jaoks ja tee mountimine külalisoperatsioonisüsteemis läbi incus-agenti.
- Seadmestiku identifikaator org.linuxcontainers.lxd on ümber nimetatud com.canonical.lxd (tagasitoetuse säilitamiseks on vanade identifikaatorite tugi säilinud).
Allikas: opennet.ru
