Canonical on vĂ€lja andnud konteinerihalduri LXD 5.0 ja virtuaalse failisĂŒsteemi LXCFS 5.0. LXD kood on kirjutatud keeles Go ja levitatakse Apache 2.0 litsentsi alusel. Versioon 5.0 on pikaajalise toetuse vĂ€ljund â uuendused kĂ€ivitatakse kuni juuni 2027.
Konteinerite kÀitamiseks kasutatakse LXC tööriistade komplekti, mis sisaldab teeki liblxc, komplekti utiliite (lxc-create, lxc-start, lxc-stop, lxc-ls jne), konteinerite loomise ƥablone ja erinevate programmeerimiskeelte jaoks mÔeldud sidumisvahendeid. Isolatsioon saavutatakse Linuxi tuuma sisseehitatud mehhanismide abil. Protsesside, vÔrgu stack'i ipc, uts, kasutajaidentifikaatorite ja mount-punktide isolatsiooniks kasutatakse nimede ruume (namespaces). Ressursside piiramiseks kasutatakse cgroups. Privileegide vÀhendamiseks ja ligipÀÀsu piiramiseks on aktiveeritud sellised tuuma vÔimalused nagu Apparmor ja SELinuxi profiilid, Seccompi poliitikad, Chroots (pivot_root) ja capabilities.
Lisaks LXC-le kasutatakse LXD-s ka komponente projektidest CRIU ja QEMU. Kui LXC on madala taseme tööriistade komplekt, mis vĂ”imaldab manipuleerida ĂŒksikute konteineritega, siis LXD pakub vahendeid konteinerite tsentraliseeritud haldamiseks, mis on juurutatud mitme klastrisse. serveridLXD on realiseeritud taustaprotsessina, mis vahendab vĂ”rgu kaudu pĂ€ringuid REST API abil ja toetab erinevaid salvestusbackende (kaustade puu, ZFS, Btrfs, LVM), olekute snĂ€ppide, töötavate konteinerite elamise migreerimise ĂŒhest masinast teise ja konteinerite piltide salvestamise vahendeid. LXCFS-d kasutatakse konteinerites /proc ja /sys pseudo-failisĂŒsteemide simuleerimiseks ning virtuaalse cgroupfs esitlemiseks, et anda konteineritele tunde tavalisest sĂ”ltumatust sĂŒsteemist.
Peamised tÀiustused:
- Domeenide ja USB-seadmete kuumplugimise ja vĂ€lja lĂŒlitamise vĂ”imalus. Virtuaalses masinas mÀÀratakse uus ketas uue seadme ilmumise kaudu SCSI-bussil ja USB-seade genereerib USB kuumplugimise sĂŒndmuse.
- LXD kĂ€ivitamise vĂ”imaldamine isegi siis, kui vĂ”rguĂŒhenduse loomine ei ole vĂ”imalik, nĂ€iteks vajaliku vĂ”rgu seadme puudumise tĂ”ttu. Vea vĂ€ljastamise asemel kĂ€ivitab LXD nĂŒĂŒd maksimaalse arvu keskkondi, mis on antud tingimustes vĂ”imalikud, ja ĂŒlejÀÀnud keskkonnad kĂ€ivituvad pĂ€rast vĂ”rguĂŒhenduse taastamist.
- Uus rĂŒhm klastri liikmete jaoks â ovn-chassis, mis on mĂ”eldud klastritele, mis kasutavad OVN (Open Virtual Network) vĂ”rguĂŒhenduseks (ovn-chassis rolli mÀÀramine vĂ”imaldab eraldada serverid OVN marsruuterite funktsioonide tĂ€itmiseks).
- Ettepanekud on tehtud salvestusruumide sektsioonide sisu uuendamise optimeeritud reĆŸiimi osas. Eelmistes vĂ€ljaannetes piirdus uuendamine olukorraga, kus konteineri eksemplar vĂ”i sektsioon kopeeriti, nĂ€iteks kasutades send/receive funktsiooni zfs-is vĂ”i btrfs-is, seejĂ€rel sĂŒnkrooniti loodud koopia rsynci programmi kĂ€ivitamise kaudu. Uuendamise efektiivsuse tĂ”stmiseks virtuaalmasinate on uues vĂ€ljaandes rakendatud tĂ€iustatud rĂ€nde loogikat, mille kohaselt, kui algne ja sihtserver kasutavad sama salvestusruumi, rakendatakse rsynci asemel automaatselt snapshot'e ja send/receive operatsioone.
- Cloud-init keskkondade tuvastamise loogika on ĂŒmber kujundatud: instance-id-na kasutatakse nĂŒĂŒd keskkondade nimede asemel UUID-d.
- SĂŒsteemikutsungite sched_setscheduler tabamise tugi lisatud, vĂ”imaldades mitteprivilegeeritud konteineritel protsesside prioriteete muuta.
- Töötati vÀlja lvm.thinpool_metadata_size valik, mis haldab thinpool'i metainformatsiooni suurust.
- LXC jaoks on ĂŒmber töötatud vĂ”rguinformatsiooni faili formaat. Lisatud tugi liideste sidumise, vĂ”rgu sildade, VLAN-ide ja OVN-vĂ”rgustiku andmete jaoks.
- Komponentide minimaalsete versiooninÔuete tÔstmine: Linuxi tuum 5.4, Go 1.18, LXC 4.0.x ja QEMU 6.0.
- LXCFS 5-s on lisatud ĂŒhtne cgroup-i hierarhia (cgroup2), implementatsioonid /proc/slabinfo ja /sys/devices/system/cpu, koostamiseks on kasutatud meson'i tööriistu.
Allikas: opennet.ru
