LINUX.ORG.RU

Релиз ZFSonLinux 0.8.0

 , ,


4

2

Около двух лет и 5 RC-релизов потребовалось разработчикам ZFS on Linux (сокращённо ZoL), чтобы выпустить крайне значимый релиз - ZFS-0.8.0.

Новые возможности:

  • «Нативное» шифрование как для файловых систем, так и для разделов. По умолчанию используется алгоритм aes-256-ccm. Ключи для датасета управляются с помощью команды «zfs load-key» и связанных подкоманд.
  • Шифрование при zfs send/receive. Позволяет хранить бэкапы на недоверенных сервисах без возможности компрометации.
  • Удаление устройства из pool через команду «zpool remove». Все данные копируются в фоновом режиме на оставшиеся устройства верхнего уровня, и ёмкость пула соответственно уменьшается.
  • Подкоманда «zpool checkpoint» позволяет сохранить всё состояние пула и при желании вернуться обратно в это точное состояние. Это можно рассматривать как расширенный snapshot пула. Это полезно при выполнении сложных административных действий, которые в противном случае необратимы (например, включение новой функции, уничтожение набора данных и так далее)
  • TRIM для устройств пула. Позволяет более эффективно использовать твёрдотельные накопители и предотвращать снижение их производительности и/или времени их жизни. Можно производить trim как отдельной командой «zpool trim», так и включить аналог опции discard - новое свойство пула «autotrim»
  • Инициализация пула. Подкоманда «zpool initialize» записывает свой патерн во всё нераспределённое пространство. Это устраняет первое снижение производительности доступа, которое может существовать в некоторых виртуализированных хранилищах (например, VMware VMDK).
  • Поддержка аккаунтинга проектов и квот. Эта функция добавляет учёт использования проекта и квоты к существующим функциям учёта пространства и квот. Квоты проекта добавляют дополнительное измерение к традиционным квотам пользователей/групп. Подкоманды «zfs project» и «zfs projectspace» были добавлены для управления проектами, установки лимитов квот и отчётов об использовании.
  • Программы каналов. Подкоманда «zpool program» позволяет использовать скрипты на LUA для выполнения административных действий. Скрипты запускаются в «песочнице» с лимитами времени и памяти.
  • Pyzfs. Новая python-библиотека для обеспечения стабильного интерфейса для программного администрирования ZFS. Эта обёртка обеспечивает взаимно-однозначное (one-to-one) сопоставление для функций API libzfs_core, но сигнатуры и типы более естественны для Python-диалекта.
  • Совместимость с Python3. Утилиты «arcstat», «arcsummary» и «dbufstat» обновлены для совместимости с Python3
  • Direct IO. Добавлена поддержка использования прямого вывода (O_DIRECT).

Также ускорены подкоманды scrub/resilver/list/get, добавлена возможность вывести метаданные на отдельное устройство (например, высокопроизводительный SSD малого объёма), увеличена производительность ZIL за счёт кэширования и оптимизации, добавлена поддержка аппаратного ускорения SHA256-чексумм и AES-шифрования используя Intel QAT (Quick Assist Technology).

Поддерживаемые ядра Linux: 2.6.32 - 5.1 (на ядрах 5.0 и выше пока не поддерживается SIMD-ускорение)

Полный список изменений

Значения параметров модулей по-умолчанию выбраны, чтобы обеспечить оптимальную нагрузку для большинства рабочих нагрузок и конфигураций. Для полного списка опций - man 5 zfs-module-parameters

>>> Подробности

★★★★★

Проверено: shell-script ()

Можно производить trim как отдельной командой «zpool trim», так и включить аналог опции discard - новое свойство пула «autotrim»

Верно ли я понимаю, что fstrim /path/to/mount/point и mount -o discard работать не будут, потому что special unique snowflake?

intelfx ★★★★★ ()
Ответ на: комментарий от anonymous

Но мне очень интересно, по каким критериям можно выбрать Btrfs, которая для продакшена подходит ещё меньше, чем ext4?

Например, на ней работает весь Facebook. Но вообще это личные предпочтения, то есть дома. В продакшене я выбирал только между XFS и ext4, потому что мне надо, чтобы работало, никаких суперфич у нас в конторе не нужно. Ещё один важный критерий — поддержка поставщиком. При этом как оно там проектировалось — честно говоря, пофиг.

anonymous ()
Ответ на: комментарий от anonymous

Элементарный баг в прошивке, например

баги есть везде, если ты не доверяешь ECC диска - как ты RAM с ECC доверяешь и как ZFS спасёт от испорченных данных в RAM ?

anonymous ()
Ответ на: комментарий от anonymous

С XFS всё понятно, действительно хорошая файловая система, спроектированная к тому же инженерами, а не любителями

Надо смотреть шире :) Лень искать ссылку на LWN, но там была хорошая статья о перспективах CoW и прочих интересных фич в XFS. Оказалось, что subvolumes можно запилить только через задницу, и с тех пор тишина. Похоже, что с data checksums тоже большие проблемы и бесперспективняк на ближайшее будущее. А вроде так хорошо спроектировано.

anonymous ()
Ответ на: комментарий от anonymous

Например, на ней работает весь Facebook.

Но ты не Facebook, и если ты не работаешь в Facebook, то и контора твоя тоже не Facebook. На счёт домашних локалхостов соглашусь, можно и нужно пробовать вообще всё, до чего есть интерес и дотягиваются руки.

anonymous ()
Ответ на: комментарий от intelfx

Осталось только дублирование между ARC и page cache починить, и можно будет пользоваться.

судя по тому, что я читал, это настолько большая работа, затрагивающая разные места в ядре, что не будет выполнено никогда ни во FreeBSD (за ней нету компании масштаба IBM или Intel), ни тем более в линуксе (как заменить системный кеш на ARC, если лицензия всеравно не позволяет это объединить с ZFS?).

crypt ★★★★★ ()
Ответ на: комментарий от deadplace

Или это чисто линуксзаморочки, которые никуда не попадут?

эти чистолинуксовые заморочки со временем должны будут перекочевать во FreeBSD и smartos, которые переходят на ZoL. а openzfs то ли еще живой, то ли уже почти нет. что там у них будет или не будет уже сказать сложно.

crypt ★★★★★ ()
Ответ на: комментарий от anonymous

Именно, что надо смотреть шире. Например, как вот эти ребята. Кроме того, никто (надеюсь) не предполагает, что XFS (или любая другая FS) задержатся навечно. Для того, для чего XFS была создана, она значительно опережает аналоги и до сих пор остаётся релевантной. А там уж куда кривая эволюции выведет. Глядишь, может доживём до того радостного дня, когда искусственное разделение на «диск» и «оперативную память» наконец-то исчезнет, как практически полностью исчез атавизм в виде свопа.

anonymous ()
Ответ на: комментарий от Lordwind

Уже готово для продакшена?

хбз. отзывы на уровне слухов и прямо таки противоположные. смотря для какого продакшена, смотря для какой нагрузки. видимо, номер версии достаточно точно отражает ситуацию.:(

crypt ★★★★★ ()
Ответ на: комментарий от Lordwind

Мы лет пять уже используем и в хвост, и в гриву, и для бэкапов, и под БД. А что там у тебя за продакшен это никому кроме тебя неведомо.

anonymous ()

А как они договорились с разработчиками ядра?

Вроде бы ядерники запрещали подгрузку не-gpl и били себя пяткой в грудь и кричали, что засудят за попытку сделать wrapper для ZoL . Или этот релиз чисто для BSD ?

router ★★★★★ ()
Ответ на: комментарий от Dimez

Использую с 0.6, данные живы.

Ну блин. Я и btrfs использую с ~3.10 примерно, данные тоже живы. Но по словам местных, это ведь ничего не означает :)

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от anonymous

Тогда я вообще не понимаю, как люди с этим живут. Поставил ZFS — докинул x2 оперативки, так что ли?

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от anonymous

Обошлись без BP rewrite.

O_O

Я не понимаю, на таблицах подмены, что ли?

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

Именно, которые со временем уменьшаются, и есть zfs remap, чтобы ускорить этот процесс. В PR об этом честно написано :)

xvoid ()
Ответ на: комментарий от xvoid

Именно, которые со временем уменьшаются

Какой треш.

есть zfs remap, чтобы ускорить этот процесс

Это как?

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

в плане архитектуры абсолютно одно и то же судя по всему. ZFS портировали просто взяв большуший кусок кода из солярис (posix совместимый). дальше пошли в дело прокладки и стабы. «вот как-то так это все и работает» (с)

я по спискам рассылки и форумам это все пишу. на форумах вроде кто-то сравнивает ZoL и FreeBSD ZFS и вот мол во фрибзд оно не провисает под нагрузкой... короче, может, чисто магически в openzfs код лучше, но имхо это все слухи.

crypt ★★★★★ ()
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от crypt

Ну-ка поясни, куда данные кроме arc попадают? Я немного не понял

deadplace ()
Ответ на: комментарий от deadplace

забыл сказать «пожалуйста»... ну погугли, если интересно...

crypt ★★★★★ ()
Ответ на: комментарий от xvoid

This process can be accelerated by using the «zfs remap» command to proactively rewrite all indirect blocks that reference indirect (removed) vdevs.

Так, вопрос на миллион, а чем это отличается от BPR?

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от crypt

Не, не хочешь, не говори, мне пофиг, если честно. Как бы всё устраивает в работе zfs.

deadplace ()
Ответ на: комментарий от intelfx

ничего не означает :)

абсолютно ничего:) все это вопрос колличества iops и объемов данных. когда их «много» баги начинают расти в геометрической прогрессии.

crypt ★★★★★ ()
Ответ на: комментарий от post-factum

Поподробнее, пожалуйста. Особенно если есть новости про чексуммы данных, подтома лично мне не сильно нужны.

anonymous ()
Ответ на: комментарий от xvoid

Так там ничего про zfs remap не сказано. У меня начинают возникать смутные подозрения…

Ну то есть блин, это такой оффлайновый BPR с хранением карты экстентов вместо карты блоков, только не произнося слово «экстент», потому что zfs проектировали головожопы и пришлось похачить аллокатор, чтобы до этих экстентов добраться. Где я не прав? :)

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от Dimez

zfs_arc_max в 4Gb эти цифры проскальзывали в старых манах. в текущей реальности при активном использовании меньше 16 не рекомендуется.

anonymous ()

Стоит ли ZFS юзать на домашней машине под / или home? Есть профит?

CryNet ★★★ ()
Ответ на: комментарий от CryNet

Если ты не знаешь зачем тебе это, то профита нет.

anonymous ()
Ответ на: комментарий от CryNet

факт возникновения такого вопроса предполагает отрицательный ответ.

anonymous ()
Ответ на: комментарий от CryNet

Стоит ли ZFS юзать на домашней машине под / или home? Есть профит?

профит в районе нужности скафандра в земных условиях, одевайся по погоде - лучше выглядеть будешь.

anonymous ()
Ответ на: комментарий от intelfx

Совершенно не эксперт, но я бы назвал это deferred (async?) BPR. В той записи из блога действительно нет ничего про remap, видимо, ко времени интеграции в openzfs реализовали то, что описано в «future work».

xvoid ()
Ответ на: комментарий от CryNet

Одна из двух ФС со снапшотами (помимо btrfs). Если есть аллергия на btrfs — стоит.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от Miha

Миха, понимаешь, есть теоретики, а есть люди живущие в реальном мире. Вторые понимают, что бэкапы это хорошо, но иногда нужно промежуточное решение.

anonymous ()
Ответ на: комментарий от anonymous

А, ну ладно, мой предыдущий комментарий не актуален, тут уже более значющие люди обсудили.

anonymous ()
Ответ на: комментарий от anonymous

16 — мало, как минимум 32 нужно. Иначе оно совершенно неюзабельно.

anonymous ()
Ответ на: комментарий от intelfx

Если есть аллергия на btrfs — стоит.

да, потому что именно головожопы её и проектировали.

anonymous ()
Ответ на: комментарий от intelfx

У меня одна ОС на BTRFS, а другая на EXT4. Доминирования одной ФС над другой в быстродействии и прочем я не заметил. Думал попробовать что-то ещё. Снапшотами в BTRFS я так и не пользовался.

CryNet ★★★ ()
Ответ на: комментарий от anonymous

16 — мало, как минимум 32 нужно. Иначе оно совершенно неюзабельно.

экие фантазёры тут собрались.

anonymous ()
Ответ на: комментарий от anonymous

факт возникновения такого вопроса предполагает отрицательный ответ
Если ты не знаешь зачем тебе это, то профита нет.
профит в районе нужности скафандра в земных условиях, одевайся по погоде - лучше выглядеть будешь

Хотелось на SSD попробовать что-то другое (EXT4 и BTRFS пробовал). Ибо как понять, что хуже или лучше для меня?

CryNet ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.