Издаване на Bcachefs 1.38.0. Дистрибуция NASty за внедряване на NAS на база Bcachefs.

Кент Оверстрит (Kent Overstreet) публикува версия 1.38.0 на файловата система Bcachefs. Версията включва два пакета: bcachefs-kernel-dkms с модул за ядро, компилиран с помощта на системата DKMS (Dynamic Kernel Module Support), и bcachefs-tools с потребителска утилита bcachefs, реализираща команди за създаване (mkfs), монтиране, възстановяване и проверка на файловата система. Пакетите са събрани за Debian, Ubuntu, а се очакват и за Arch Linux, Fedora, openSUSE и NixOS. DKMS модулът поддържа работа с Linux ядра, започвайки от 6.16.

Проектът Bcachefs развива файлова система, целяща да съчетае разширената функционалност, характерна за Btrfs и ZFS, с нивото на производителност, надеждност и мащабируемост, присъща за XFS. Bcachefs поддържа възможности като включване на няколко устройства в един дял, многослойни разположения на носители (долният слой с често използвани данни на базата на бързи SSD, а горният слой с по-малко търсени данни от твърди дискове), репликация (RAID 1/10), кеширане, прозрачно компресиране на данни (режими LZ4, gzip и ZSTD), моментни снимки (снапшоти), проверка на целостта с контролни суми, кодове за корекция на грешки, съхранение на информация в криптиран вид (използват се ChaCha20 и Poly1305).

В новата версия:

  • Структурата Btree need_discard, използвана за проследяване на освободените набори блокове, е преминала на индексиране по последователен номер от журнал вместо двойка устройство/набор блокове (device/bucket). Промяната е позволила ускоряване на работата със структурата need_discard и избягване на взаимна блокировка при възстановяване от журнала по време на монтиране на файловата система с недостатъчен брой свободни блокове за метаданни.
  • Операциите по запис в журнала са преместени в отделна fifo-опашка, а максималният брой едновремени операции по запис в журнала е увеличен от 16 на 256, което е позволило ускоряване на работата на големи хранилища с интензивно натоварване на запис.
  • Монтирането на файловата система с голям брой снимки е значително ускорено.

Допълнително, може да се отбележи издаването на проекта NASty 0.0.3, който развива дистрибуция за създаване на мрежови хранилища (NAS) на базата на стандартно оборудване. Дистрибуцията е изградена на пакетна база NixOS, използва файловата система Bcachefs и поддържа предоставяне на достъп до файлове чрез NFS и SMB, а също така експортира блокови устройства чрез iSCSI и NVMe-oF. Управлението се осъществява чрез уеб-интерфейс. Размерът на инсталационния iso-образ е 1.9 GB. Разработките на проекта се разпространяват под лиценз GPLv3. Уеб-интерфейсът е написан на TypeScript с използване на фреймуърка SvelteKit. Двигателят за управление на хранилището и системата е написан на Rust.

Актуализациите се изтеглят и инсталират автоматично. Системата се актуализира атомарно с възможност за възстановяване на предишно състояние в случай на проблеми с новата версия. В уеб интерфейса са налични опции за управление на файлови системи, моментни снимки, дялове, дискове, виртуални машини и споделен достъп. Има вграден файлов мениджър и емулятор на терминал, които работят в браузъра. Могат да се създават правила за извършване на действия и известяване на администратора в случай на прекомерно потребление на дисково пространство, неизправности в работата на носителите и прегряване.

Поддържа се стартиране на изолирани среди и приложения, като се използва виртуализация на базата на QEMU/KVM и контейнерна изолация с помощта на k3s runtime (в WebUI могат директно да се инсталират Helm chart-ове за стартиране на приложения в контейнери и настройка на достъп чрез nginx ingress). Поддържа се интеграция с платформата Kubernetes, за която е предоставен CSI драйвер за динамично предоставяне на място в хранилището. Дистрибуцията по подразбиране изпраща телеметрия с анонимизирани данни за броя на носителите и размера на хранилището (телеметрията може да се деактивира в секция "Settings → Telemetry").

Като причини за избора на Bcachefs вместо ZFS се посочват активното развитие, предоставянето под лиценз GPL, простата работна модел с файловата система, дяловете и моментните снимки (без сложни концепции, като dataset-и, zvol и вложени pool-ове) и наличието на напреднали възможности, като автоматично преместване на рядко използвани данни на бавни носители, кодове за корекция на грешки и възстановяване на повреди без спиране на работа с файловата система.

Сред промените в версия NASty 0.0.3 се отличават:

  • преминаване на използване на механизма nix flake за опаковане и управление на зависимости;
  • подкрепа VPN Tailscale за пренос на NVMe-oF през VPN;
  • интеграция на k3s runtime; добавяне на NUT (Network UPS Tools) за мониторинг на устройства с непрекъсваемо захранване;
  • уеб панел за прецизно настройване на NFS, SMB и iSCSI (включително опции за избор на планировчик на вход/изход, логиране и резервиране на метаданни);
  • допълнителни настройки за Bcachefs (управление на кодове за корекция на грешки, избор на алгоритъм за контролни суми, онлайн ребалансировки и др.);
  • поддръжка на кеш Cachix за ускоряване на доставката на актуализации;
  • възможност за генериране TLS-сертификати чрез Let’s Encrypt;
  • включването в пакет от утилити iotop-c, btop, fwupd, rsync и croc.

Издаване на Bcachefs 1.38.0. Дистрибуция NASty за внедряване на NAS на база Bcachefs.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster