Udgivelse af filsystemet Bcachefs 1.33.0

Kent Overstreet har offentliggjort version 1.33.0 af filsystemet Bcachefs. Udgaven dækker to pakker: bcachefs-kernel-dkms med en kernelmodul, der kompileres ved hjælp af DKMS (Dynamic Kernel Module Support), og bcachefs-tools med et brugerrum værktøj bcachefs, der implementerer kommandoer til oprettelse (mkfs), montering, restauration og kontrol af filsystemet. Pakkerne er bygget til Debian, Ubuntu, Fedora, openSUSE, NixOS og Arch Linux. DKMS-modulet understøtter arbejde med Linux-kerneler fra version 6.16.

Den nye version introducerer funktionen "reconcile" (rebalance_v2), beskrevet som det største ændring i filsystemet i de sidste to år. I modsætning til det tidligere tilgængelige "rebalance"-tilstand, giver "reconcile" mekanismen mulighed for at rebalancere ikke kun data (for eksempel replikering af flere kopier til forskellige lagringsenheder), men også metadata i filsystemet (for eksempel til overførsel af metadata efter tilføjelse af en ekstra lagringsenhed til puljen). Desuden kan reconcile nu anvendes på alle I/O-muligheder, ikke kun til baggrundskopierings- og komprimeringsoperationer. I reconcile tages der også automatisk højde for ændringer i indstillinger eller konfigurationer af enheder, og de degraderede data og metadata replikeres straks.

I reconcile er der separate indekser til: højprioriterede operationer; optimering af databehandling på diskdrev; data, der er planlagt til behandling, som ikke kan udføres endnu (for eksempel på grund af pladsmangel). Der er tilføjet støtte til at oprette filsystem på en enkelt enhed i dual-replikationstilstand (replicas=2) – i denne konfiguration medfører tilføjelse af en anden enhed automatisk replikation af data til den tilføjede disk, uden at brugeren skal foretage sig noget.

Blandt andre ændringer:

  • Der er tilføjet kommandoerne "reconcile status" og "reconcile wait". Der er tilføjet monteringsmuligheder "mount_trusts_udev" og "writeback_timeout". Kommandoerne "data rereplicate" og "data job drop_extra_replicas" er blevet markeret som forældede.
  • Der er tilføjet en gendannelsestilstand "merge_btree_nodes", der udfører kontrol af alle noder i btree-strukturer, der er underlagt sammensmeltning.
  • Koden er blevet forberedt til overgangen til sproget Rust. Antallet af goto-operationer i koden er blevet reduceret fra 2500 til 600. I stedet for hårdt kodede vektorer bruges makroen DARRAY(), som tilbyder funktionalitet svarende til dynamiske arrays i C++ og Rust. Fejlhåndtering håndteres med makroen try(), lånt fra Rust.
  • I teamet 'bcachefs fs usage' er korrekt information om degraderede data sikret.
  • Behandlingen af tællere, der vises med kommandoen 'bcachefs fs top', er blevet redesignet. Tilføjelsen af nye tællere er blevet forenklet, og det er implementeret mulighed for at konvertere tracepoints til printbufs.
  • Kvaliteten af fejlmeddelelser er forbedret, så de nu omfatter information om fejlkategorier (software- eller hardwarefejl), handlinger til at afhjælpe fejlen (f.eks. genstart af genvinding), samt fejlkoder modtaget fra blokenheder og manglende enheder. Ved scanning af btree-strukturer er der sikret udskrift af oplysninger om muligheden for at genoprette problematiske noder.
  • Ved logning er muligheden for separat at angive grænser for intensiteten af output af forskellige typer fejl tilføjet. Sådanne grænser kan forhindre tab af meddelelser om enkeltstående hardwareproblemer baggrund af et højt antal meddelelser om softwarefejl.
  • Der er tilføjet fremdriftsindikatorer til alle faser af genopretning.

Bcachefs-projektet udvikler et filsystem, der sigter mod at kombinere den avancerede funktionalitet, der kendetegner Btrfs og ZFS, med det niveau af ydeevne, pålidelighed og skalerbarhed, der er typisk for XFS. Bcachefs understøtter funktioner som inkludering af flere enheder i partitioner, lagdelte drevopsætninger (det nederste lag med ofte brugte data på hurtige SSD'er, og det øverste lag med mindre anerkendte data fra harddiske), replikering (RAID 1/10), caching, gennemsigtig datakomprimering (LZ4, gzip og ZSTD), tilstandsudsnit (snapshots), integritetsverifikation ved hjælp af kontrolsummer, mulighed for opbevaring af Reed-Solomon fejlkorrektionskoder (RAID 5/6), opbevaring af information i krypteret form (med ChaCha20 og Poly1305). Med hensyn til ydeevne overgår Bcachefs Btrfs og andre COW-baserede filsystemer og viser hastigheder, der ligger tæt på Ext4 og XFS.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster