Udgivelse af Bcachefs 1.38.0. NASty-distributionen til implementering af NAS baseret på Bcachefs

Kent Overstreet har udgivet version 1.38.0 af filsystemet Bcachefs. Udgivelsen omfatter to pakker: bcachefs-kernel-dkms med en kernelmodul, der bygges ved hjælp af DKMS (Dynamic Kernel Module Support), og bcachefs-tools med det brugerdefinerede værktøj bcachefs, der implementerer kommandoer til at oprette (mkfs), montere, genskabe og kontrollere filsystemet. Pakkerne er bygget til Debian, Ubuntu, og forventes til Arch Linux, Fedora, openSUSE og NixOS. DKMS-modulet understøtter Linux-kerneller fra version 6.16.

Bcachefs-projektet udvikler et filsystem, der sigter mod at kombinere den udvidede funktionalitet, der er karakteristisk for Btrfs og ZFS, med det niveau af ydeevne, pålidelighed og skalerbarhed, som er typisk for XFS. Bcachefs understøtter funktioner som mulighed for at tilslutte flere enheder til et partition, lagdelte lagringstypologier (det nederste lag med ofte brugte data på hurtige SSD'er og det øverste lag med mindre efterspurgte data fra harddiske), replikation (RAID 1/10), caching, gennemsigtig datakomprimering (tilstande LZ4, gzip og ZSTD), snapshots, integritetsverifikation ved hjælp af kontrolsummer, fejlkorrektion og opbevaring af information i krypteret form (der anvendes ChaCha20 og Poly1305).

I den nye version:

  • Btree-strukturen need_discard, der anvendes til at spore frigivne blok-sæt, er ændret til indeksbaseret efter sekvensnummer fra loggen i stedet for en enhed/block-sæt (device/bucket). Ændringen har forbedret ydeevnen for need_discard-strukturen og elimineret muligheden for deadlock under genskabelse fra loggen under montering af filsystemet med utilstrækkeligt antal frie blokke til metadata.
  • Journal-skrivninger er flyttet til en separat fifo-kø, og det maksimale antal samtidige journal-skrivninger er steget fra 16 til 256, hvilket har forbedret ydeevnen i store lagerløsninger med intensiv skrivebelastning.
  • Montering af filsystemer med et stort antal snapshots er betydeligt hurtigere.

Derudover kan det nævnes, at projektet NASty 0.0.3 blev udgivet, som udvikler en distribution til oprettelse af netværkslagre (NAS) baseret på standardhardware. Distributionen er bygget på NixOS-pakkegrundlaget, bruger Bcachefs-filsystemet og understøtter adgang til filer via NFS og SMB samt eksport af blokenheder via iSCSI og NVMe-oF. Administration sker via webgrænseflade. Størrelsen på den installable iso-billede er 1,9 GB. Projektets fremskridt distribueres under GPLv3-licensen. Webgrænsefladen er skrevet i TypeScript ved hjælp af SvelteKit-rammen. Lager- og systemadministrationsmotoren er skrevet i Rust.

Opdateringer downloades og installeres automatisk. Systemet opdateres atomart med mulighed for at rulle tilbage til en tidligere tilstand, hvis der opstår problemer i den nye version. I webgrænsefladen er der muligheder for at administrere filsystemer, snapshots, underafsnit, diske, virtuelle maskiner og deling. Der er en indbygget filhåndtering og terminal emulator til rådighed i browseren. Det er muligt at oprette regler for at udføre handlinger og underrette administratoren ved overdreven forbrug af diskplads, fejl i lagring og overophedning.

Der støttes kørsel af isolerede miljøer og applikationer ved hjælp af virtualisering baseret på QEMU/KVM og containerisolering ved hjælp af k3s-runtime (direkte fra WebUI kan Helm charts installeres til at køre applikationer i containere og konfigurere adgangsgennemgang via nginx ingress). Der er support for integration med Kubernetes-platformen, for hvilken der gives en CSI-driver til dynamisk tildeling af plads i lagerløsningen. Standarddistributionspakken sender telemetri med anonymiserede data om antallet af lagringsenheder og størrelsen på lageret (telemetri kan deaktiveres i sektionen "Indstillinger → Telemetri").

Som årsager til valget af Bcachefs frem for ZFS nævnes aktiv udvikling, levering under GPL-licensen, simpel arbejdsmåde med FS, underafsnit og snapshots (uden komplicerede koncepter som datasets, zvols og indlejrede pools) samt tilstedeværelsen af avancerede funktioner som automatisk flytning af sjældent brugte data til langsomme lagringsenheder, fejlkorrigeringskoder og genopretning af skader uden at stoppe arbejdet med FS.

I ændringerne i version NASty 0.0.3 bemærkes:

  • overgangen til brug af nix flake-mekanismen til pakning og styring af afhængigheder;
  • understøttelse af VPN Tailscale til NVMe-oF gennem VPN;
  • integration af k3s-runtime; tilføjelse af NUT (Network UPS Tools) til overvågning af UPS-enheder;
  • webpanel til finjustering af NFS, SMB og iSCSI (herunder muligheder for valg af I/O-planlægger, logning og metadata-sikkerhedskopiering);
  • yderligere indstillinger for Bcachefs (styring af fejlkorrigeringskoder, valg af kontrolsum-algoritme, online-omfordeling osv.);
  • support for Cachix-cache for at fremskynde levering af opdateringer;
  • mulighed for generation TLS-certifikater gennem Let’s Encrypt;
  • indgår i værktøjer som iotop-c, btop, fwupd, rsync og croc.

Udgivelse af Bcachefs 1.38.0. NASty-distributionen til implementering af NAS baseret på Bcachefs

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