OpenZFS 2.1-ის გამოშვება dRAID მხარდაჭერით

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

OpenZFS ტესტირებულია Linux-ის ბირთვებით 3.10-დან 5.13-მდე და ყველა FreeBSD ფილიალებით დაწყებული 12.2-RELEASE-დან. კოდი ნაწილდება უფასო CDDL ლიცენზიით. OpenZFS უკვე გამოიყენება FreeBSD-ში და შედის Debian, Ubuntu, Gentoo, Sabayon Linux და ALT Linux დისტრიბუციებში. პაკეტები ახალი ვერსიით მალე მომზადდება Linux-ის ძირითადი დისტრიბუციებისთვის, მათ შორის Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS უზრუნველყოფს ZFS კომპონენტების განხორციელებას, რომლებიც დაკავშირებულია როგორც ფაილურ სისტემასთან, ასევე მოცულობის მენეჯერთან. კერძოდ, დანერგილია შემდეგი კომპონენტები: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) და ZPL (ZFS POSIX Layer). გარდა ამისა, პროექტი უზრუნველყოფს ZFS-ის გამოყენებას Luster კლასტერული ფაილური სისტემისთვის. პროექტის ნამუშევარი ეფუძნება ორიგინალ ZFS კოდს, რომელიც იმპორტირებულია OpenSolaris პროექტიდან და გაფართოვდა Illumos საზოგადოების გაუმჯობესებითა და შესწორებებით. პროექტი მუშავდება ლივერმორის ეროვნული ლაბორატორიის თანამშრომლების მონაწილეობით აშშ-ის ენერგეტიკის დეპარტამენტთან დადებული ხელშეკრულებით.

კოდი ნაწილდება უფასო CDDL ლიცენზიით, რომელიც შეუთავსებელია GPLv2-თან, რაც არ იძლევა OpenZFS-ის ინტეგრაციას Linux-ის ბირთვის მთავარ ფილიალში, ვინაიდან კოდის შერევა GPLv2 და CDDL ლიცენზიებით მიუღებელია. ამ ლიცენზირების შეუთავსებლობის თავიდან ასაცილებლად, გადაწყდა მთელი პროდუქტის გავრცელება CDDL ლიცენზიით, როგორც ცალკე ჩამოსატვირთი მოდული, რომელიც მოწოდებულია ბირთვისგან განცალკევებით. OpenZFS კოდების ბაზის სტაბილურობა შეფასებულია, როგორც შედარებადი სხვა FS-ებთან Linux-ისთვის.

ძირითადი ცვლილებები:

  • Добавлена поддержка технологии dRAID (Distributed Spare RAID), которая представляет собой вариант RAIDZ с интегрированной распределённой обработкой блоков для горячего восстановления (hot spare). dRAID унаследовал все преимущества RAIDZ, но позволил добиться значительного увеличения скорости перестроения хранилища (resilvering) и восстановления избыточности в массиве. Виртуальное хранилище dRAID формируется из нескольких внутренних групп RAIDZ, в каждой из которой присутствуют устройства для хранения данных и устройства для хранения блоков чётности. Указанные группы распределены по всем накопителям для оптимального использования доступной пропускной способности дисков. Вместо отдельного диска для горячего восстановления в dRAID применяется концепция логического распределения блоков для горячего восстановления по всем дискам в массиве.
    OpenZFS 2.1-ის გამოშვება dRAID მხარდაჭერით
  • Реализовано свойство «compatibility» («zpool create -o compatibility=off|legacy|file[,file…] pool vdev»), позволяющее администратору выбрать набор возможностей, которые следует активировать в пуле, с целью создания переносимых пулов и поддержания совместимости пулов между разными версиями OpenZFS и разными платформами.
  • Предоставлена возможность сохранения статистики о работе пула в формате СУБД InfluxDB, оптимизированной для хранения, анализа и манипулирования данными в форме временного ряда (срезы значений параметров через заданные промежутки времени). Для экспорта в формат InfluxDB предложена команда «zpool influxdb».
  • Добавлена поддержка горячего добавления памяти и CPU.
  • Новые команды и опции:
    • «zpool create -u» — запрет автоматического монтирования.
    • «zpool history -i» — отражение в истории операций длительности выполнения каждой команды.
    • «zpool status» — добавлен вывод предупреждения о дисках с неоптимальным размером блока.
    • «zfs send —skip-missing|-s» — игнорирование отсутствующих снапшотов в процессе отправки потока для репликации.
    • «zfs rename -u» — переименование ФС без перемонтирования.
    • В arcstat добавлена поддержка статистики L2ARC и добавлены опции «-a» (all) и «-p» (parsable).
  • ოპტიმიზაცია:
    • Повышена производительность интерактивного ввода/вывода.
    • Ускорена работа prefetch для нагрузок, связанных с параллельным доступом к данным.
    • Улучшена масштабируемость за счёт снижения конфликта блокировок.
    • Сокращено время импорта пула.
    • Сокращена фрагментация ZIL-блоков.
    • Повышена производительность рекурсивных операций.
    • Улучшено управление памятью.
    • Ускорена загрузка модуля ядра.

წყარო: opennet.ru

ახალი კომენტარის დამატება