Release Bcachefs 1.38.0. NASty-distributie voor het implementeren van NAS op basis van Bcachefs

Kent Overstreet heeft de release van het bestandssysteem Bcachefs 1.38.0 gepubliceerd. De release omvat twee pakketten: bcachefs-kernel-dkms met een kernelmodule die is opgebouwd met het DKMS (Dynamic Kernel Module Support)-systeem, en bcachefs-tools met de gebruikersruimtemodus bcachefs-hulpmiddel, die commando's implementeert voor het maken (mkfs), monteren, herstellen en controleren van het bestandssysteem. De pakketten zijn samengesteld voor Debian, Ubuntu en worden verwacht voor Arch Linux, Fedora, openSUSE en NixOS. De DKMS-module ondersteunt kernels van Linux, beginnend bij 6.16.

Het Bcachefs-project ontwikkelt een bestandssysteem dat gericht is op het combineren van de uitgebreide functionaliteit van Btrfs en ZFS met de prestaties, betrouwbaarheid en schaalbaarheid die kenmerkend zijn voor XFS. Bcachefs ondersteunt functies zoals het opnemen van meerdere apparaten in een partitie, gelaagde opslaglay-outs (de onderste laag met veelgebruikte gegevens op snelle SSD's en de bovenste laag met minder gevraagde gegevens van harde schijven), replicatie (RAID 1/10), caching, transparante gegevenscompressie (modi LZ4, gzip en ZSTD), statusinstanties (snapshots), integriteitsverificatie via controle-sommen, foutcorrectiecodes, en het opslaan van informatie in versleutelde vorm (met ChaCha20 en Poly1305).

In de nieuwe versie:

  • De Btree-structuur need_discard, gebruikt voor het volgen van vrijgegeven bloksets, is overgeschakeld naar indexering op basis van het volgnummer uit het logboek in plaats van de combinatie van apparaat/set blokken (device/bucket). Deze wijziging heeft de werking van de need_discard-structuur versneld en het ontstaan van deadlocks bij herstel vanuit het logboek tijdens het monteren van het bestandssysteem met onvoldoende vrije blokken voor metadata geëlimineerd.
  • Journal schrijfoperaties zijn verplaatst naar een aparte fifo-queue, en het maximale aantal gelijktijdig uitgevoerde journal schrijfoperaties is verhoogd van 16 naar 256, wat heeft geleid tot een snellere werking van grote opslagsystemen met een intensieve schrijflast.
  • Het monteren van het bestandssysteem met een groot aantal snapshots is aanzienlijk versneld.

Daarnaast kan de release van het NASty-project 0.0.3 worden opgemerkt, dat een distributie ontwikkelt voor het creëren van netwerkopslag (NAS) op basis van standaardhardware. De distributie is gebouwd op de pakketstructuur van NixOS, maakt gebruik van het bestandssysteem Bcachefs en ondersteunt toegang tot bestanden via NFS en SMB, evenals de export van blokapparaten via iSCSI en NVMe-oF. Beheer geschiedt via een webinterface. De grootte van het installabele iso-beeld is 1,9 GB. De voortbrengselen van het project worden verspreid onder de GPLv3-licentie. De webinterface is geschreven in TypeScript met gebruik van het SvelteKit-framework. De motor voor opslagbeheer en het systeem is geschreven in Rust.

Updates worden automatisch gedownload en geïnstalleerd. Het systeem wordt atomair bijgewerkt met de mogelijkheid om terug te schakelen naar een vorige staat bij het ontdekken van problemen in de nieuwe versie. In de webinterface zijn mogelijkheden beschikbaar voor het beheren van bestandssystemen, snapshots, partities, schijven, virtuele machines en gedeeld gebruik. Er is een ingebouwde bestandsbeheerder en terminalemulator in de webinterface, die in de browser werken. Het is mogelijk om regels te maken voor het uitvoeren van acties en het waarschuwen van de beheerder in geval van excessief schijfruimteverbruik, storingen in de opslagapparaten en oververhitting.

Het is mogelijk om geïsoleerde omgevingen en toepassingen uit te voeren, gebruikmakend van virtualisatie op basis van QEMU/KVM en containerisolatie met behulp van de k3s-runtime (vanuit de WebUI kunnen Helm-charts direct worden geïnstalleerd voor het uitvoeren van toepassingen in containers en het instellen van toegang via nginx ingress). Integratie met het Kubernetes-platform wordt ondersteund, waarvoor een CSI-driver wordt geleverd voor dynamische toewijzing van opslagruimte. De distributie verzendt standaard telemetry met geanonimiseerde gegevens over het aantal opslagapparaten en de grootte van de opslag (telemetrie kan worden uitgeschakeld in de sectie 'Instellingen → Telemetrie').

Redenen om Bcachefs boven ZFS te kiezen zijn: actieve ontwikkeling, levering onder GPL-licentie, eenvoudige werking met bestandsystemen, submodules en snapshots (zonder complicerende concepten zoals datasets, zvols en geneste pools) en de aanwezigheid van geavanceerde mogelijkheden, zoals automatisch verplaatsen van zelden gebruikte gegevens naar langzamere opslag, foutcorrectiecodes en het herstellen van schade zonder de werking van het besturingssysteem te stoppen.

De veranderingen in versie NASty 0.0.3 zijn:

  • overgestapt naar het gebruik van het nix flake-mechanisme voor verpakking en afhankelijkheidsbeheer;
  • ondersteuning voor VPN Tailscale voor het doorgeven van NVMe-oF over VPN;
  • integratie van k3s-runtime; toevoeging van NUT (Network UPS Tools) voor het monitoren van ononderbroken stroomvoorzieningen;
  • webpaneel voor het fijnregelen van NFS, SMB en iSCSI (inclusief opties voor het kiezen van een I/O-scheduler, logging en metadata-backup);
  • extra instellingen voor Bcachefs (beheer van foutcorrectiecodes, keuze van checksum-algoritme, online herbalancering, enz.);
  • ondersteuning voor Cachix-cache om de levering van updates te versnellen;
  • mogelijkheid om TLS-certificaten te genereren via Let’s Encrypt;
  • inclusief de utilities iotop-c, btop, fwupd, rsync en croc.

Release Bcachefs 1.38.0. NASty-distributie voor het implementeren van NAS op basis van Bcachefs

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster