Släpp av OpenZFS 2.2, implementeringen av ZFS för Linux och FreeBSD

После более двух лет разработки опубликован релиз проекта OpenZFS 2.2, развивающего реализацию файловой системы ZFS для Linux и FreeBSD. Проект получил известность как «ZFS on Linux» и ранее ограничивался разработкой модуля для ядра Linux, но после переноса поддержки FreeBSD был признан основной реализацией OpenZFS и переименован.

Работа OpenZFS проверена с ядрами Linux c 3.10 по 6.5 и всеми ветками FreeBSD, начиная с 12.2-RELEASE. Код распространяется под свободной лицензией CDDL. OpenZFS уже используется во FreeBSD и входит в состав дистрибутивов Debian, Ubuntu, Gentoo, Sabayon Linux и ALT Linux. Пакеты с новой версией в ближайшее время будут подготовлены для основных дистрибутивов Linux, включая Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS tillhandahåller en implementering av ZFS-komponenter relaterade både till filsystemets funktionalitet och till funktionen för volymhanteraren. I synnerhet implementeras komponenter som: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) och ZPL (ZFS POSIX Layer). Dessutom möjliggör projektet användning av ZFS som backend för det klusterbaserade filsystemet Lustre. Projektets arbete baseras på den ursprungliga ZFS-koden som importerades från projektet OpenSolaris och har utökats med förbättringar och korrigeringar från Illumos-communityn. Projektet utvecklas med deltagande av personal från Lawrence Livermore National Laboratory under avtal med USA:s energidepartement.

Koden distribueras under den fria licensen CDDL, som är oförenlig med GPLv2, vilket förhindrar integration av OpenZFS i huvudgrenen av Linux-kärnan, eftersom blandning av kod under licenserna GPLv2 och CDDL är oacceptabelt. För att kringgå denna licenskonflikt har det beslutats att distribuera produkten helt under CDDL-licensen som en separat nedladdningsmodul, som levereras separat från kärnan. Stabiliteten i OpenZFS-kodbasen bedöms som jämförbar med andra filsystem för Linux.

Huvudsakliga förändringar:

  • Добавлен механизм клонирования блоков, позволяющий создать копию файла или его части без дублирования данных, используя во второй копии ссылки на уже существующие блоки данных исходного файла без их фактического копирования. В случае внесения изменений в исходный файл или его копии, выполняется копирование блоков и внесение изменений в созданные копии (режим copy-on-write на уровне файлов). На базе механизма клонирования реализована операция reflink, которая может использоваться для автоматического создания клонов в различных утилитах копирования, например, в новых версиях /bin/cp в Linux.
  • Добавлена поддержка технологий, применяемых для контейнерной изоляции в Linux, таких как системный вызов renameat, ФС overlayfs, маппинг идентификаторов пользователей при монтировании и делегирование пространств имён для контейнеров.
  • Реализован лог ошибок, выявленных при выполнении операций проверки контрольных сумм (scrub). При выполнении команды «zpool status» выводятся сведения о всех ФС, снапшотах и клонах, которые затрагивает повреждённый блок. Для попытки быстрого восстановления известных повреждённых блоков можно использовать команду «zpool scrub -e».
  • Добавлена возможность использования для контрольных сумм криптографической хеш-функции BLAKE3, примечательной очень высокой производительностью вычисления хеша (в три раза быстрее Edon-R и значительно быстрее sha256 и sha512) при обеспечении надёжности на уровне SHA-3.
  • Реализована операция «zfs receive -c», которую можно использовать для восстановления повреждённых данных (не метаданных) в ФС, снапшотах и клонах, в случаях, когда имеется реплицированная резервная копия, ранее сохранённая командой «zfs send».
  • Добавлена поддержка программного выставления и чтения свойств для отдельных виртуальных дисков vdev.
  • Добавлена возможность привязки к vdev и zpool произвольных пользовательских свойств, по аналогии с пользовательскими свойствами для zfs dataset.
  • Улучшена реализация адаптивного кэша ARC (Adaptive Replacement Cache), повышающего производительность операций чтения. ARC теперь лучше адаптируется к высоким нагрузкам и минимизирует необходимость ручной оптимизации настроек.
  • Добавлена поддержка механизмов аппаратного ускорения вычисления контрольных сумм SHA2.
  • Переписана и оптимизирована реализация контрольных сумм Edon-R.
  • При использовании для сжатия данных алгоритма zstd ускорено определение ситуаций, в которых сжатие бессмысленно (данные не поддаются сжатию).
  • Внесены улучшения в механизм упреждающей загрузки (Prefetch), ускоряющие работу при интенсивном вводе/выводе.
  • Внесена порция общих оптимизаций, повышающих производительность.

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster