Frigivelse af LXD 5.0-beholderstyringssystem

Canonical har offentliggjort udgivelsen af ​​container manager LXD 5.0 ​​og det virtuelle filsystem LXCFS 5.0. LXD-koden er skrevet i Go og distribueret under Apache 2.0-licensen. 5.0-grenen er klassificeret som en langsigtet supportudgivelse - opdateringer vil blive genereret indtil juni 2027.

Som en runtime til at starte containere bruges LXC-værktøjssættet, som inkluderer liblxc-biblioteket, et sæt hjælpeprogrammer (lxc-create, lxc-start, lxc-stop, lxc-ls osv.), skabeloner til at bygge containere og en sæt bindinger til forskellige programmeringssprog. Isolering udføres ved hjælp af standard Linux-kernemekanismer. For at isolere processer, ipc-netværksstakken, uts, bruger-id'er og monteringspunkter, bruges navnerumsmekanismen. cgroups bruges til at begrænse ressourcer. For at sænke privilegier og begrænse adgang, bruges kernefunktioner såsom Apparmor- og SELinux-profiler, Seccomp-politikker, Chroots (pivot_root) og muligheder.

Udover LXC bruger LXD også komponenter fra CRIU- og QEMU-projekterne. Hvis LXC er et værktøjssæt på lavt niveau til manipulation på niveau med individuelle containere, så leverer LXD værktøjer til centraliseret styring af containere, der er installeret i en klynge af flere servere. LXD er implementeret som en baggrundsproces, der accepterer anmodninger over netværket via REST API og understøtter forskellige storage-backends (katalogtræ, ZFS, Btrfs, LVM), snapshots med et tilstandsudsnit, live-migrering af kørende containere fra én maskine til en anden, og værktøjer til opbevaring af billedbeholdere. LXCFS bruges til at simulere pseudo-FS /proc og /sys i containere, og den virtualiserede repræsentation cgroupfs for at give containerne udseendet af et almindeligt uafhængigt system.

Vigtigste forbedringer:

  • Mulighed for hot-plug og frakobling af drev og USB-enheder. I en virtuel maskine detekteres en ny disk ved udseendet af en ny enhed på SCSI-bussen, og en USB-enhed detekteres ved genereringen af ​​en USB-hotplug-hændelse.
  • Det er muligt at starte LXD, selv når det er umuligt at etablere en netværksforbindelse, for eksempel på grund af fraværet af den nødvendige netværksenhed. I stedet for at vise en fejl ved opstart, starter LXD nu det maksimale antal mulige miljøer under de nuværende forhold, og de resterende miljøer startes efter netværksforbindelsen er etableret.
  • En ny klyngemedlemsrolle er blevet tilføjet - ovn-chassis, beregnet til klynger, der bruger OVN (Open Virtual Network) til netværkskommunikation (ved at tildele rollen ovn-chassis, kan du vælge servere til at udføre funktionerne i OVN-routere).
  • En optimeret tilstand til opdatering af indholdet af lagerpartitioner er blevet foreslået. I tidligere udgivelser bestod opdateringen i først at kopiere en containerinstans eller partition, for eksempel ved at bruge send/receive-funktionen i zfs eller btrfs, hvorefter den oprettede kopi blev synkroniseret ved at køre programmet rsync. For at forbedre effektiviteten af ​​opdatering af virtuelle maskiner bruger den nye udgivelse avanceret migrationslogik, hvor, hvis kilde- og destinationsserverne bruger den samme lagerpulje, bruges snapshots og send/modtag-handlinger automatisk i stedet for rsync.
  • Logikken til at identificere miljøer i cloud-init er blevet omarbejdet: I stedet for miljønavne bruges UUID nu som instance-id.
  • Tilføjet understøttelse til at tilslutte sched_setscheduler-systemkaldet, hvilket tillader uprivilegerede containere at ændre procesprioriteter.
  • Indstillingen lvm.thinpool_metadata_size er blevet implementeret for at kontrollere størrelsen af ​​metadata i thinpool.
  • Filformatet med netværksoplysninger til lxc er blevet redesignet. Tilføjet understøttelse af data om grænsefladebinding, netværksbroer, VLAN og OVN-netværk.
  • Kravene til minimumskomponentversioner er blevet øget: Linux-kerne 5.4, Go 1.18, LXC 4.0.x og QEMU 6.0.
  • LXCFS 5 tilføjede understøttelse af det forenede cgroup-hierarki (cgroup2), implementerede /proc/slabinfo og /sys/devices/system/cpu og brugte meson-værktøjssættet til montering.

Kilde: opennet.ru

Tilføj en kommentar