LINUX.ORG.RU

Анонсировано улучшение производительности Btrfs в ядре 6.9

 , ,

Анонсировано улучшение производительности Btrfs в ядре 6.9

0

3

В преддверии выпуска Linux Kernel 6.9, Давид Стерба из компании SUSE представил обновления для файловой системы Btrfs, которые включают в себя не только улучшение стабильности и исправление ошибок, но и оптимизацию производительности.

Нововведения в производительности Btrfs

Среди ключевых оптимизаций производительности Btrfs в Linux 6.9, Стерба выделяет следующие улучшения:

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

  • Повышение пропускной способности: незначительное увеличение пропускной способности (+6%), уменьшение конфликтов блокировок после очистки битов отложенного выделения, применимо к нескольким распространённым типам рабочих нагрузок.

  • Пропуск полного пересчета квот: Если в той же транзакции добавляется новая связь, то полный пересчет квот может быть пропущен.

Эти оптимизации не только улучшают общую производительность Btrfs, но и делают её использование более эффективным в различных сценариях работы.

Дополнительные улучшения BTRFS

В дополнение к упомянутым оптимизациям, Btrfs в Linux 6.9 получит исправление для сжатия Zstd, улучшения в отладочном коде, повышение качества обработки ошибок, подготовку к более детальному разделению блокировок секторов и рефакторинг кода. Все эти изменения направлены на усиление стабильности, безопасности и производительности файловой системы.

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

★★★

Проверено: hobbit ()
Последнее исправление: Dimez (всего исправлений: 5)

Сижу на ext4, потому что:

  • это одна из наиболее производительных ФС;
  • это достаточно стабильная ФС;
  • это дефолт почти везде;
  • все инструменты для работы с ext4 давно написаны и отлажены;
  • плюшки btrfs лично мне не нужны.

Посмотрим, как допиливание btrfs повлияет на стабильность и производительность по сравнению с ext4. Скорее всего, изменений будет недостаточно, чтобы я свалил с ext4, но может случиться всякое. А пока что могу порадоваться за тех, кто перешел на btrfs ради плюшек.

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

Сижу на ext4, потому что:

это достаточно стабильная ФС;

Как раз сегодня ночью захотелось мне вдруг (я не беременный, не подумайте чего) какого-нибудь CoW со снапшотами, полез по старой памяти гуглить «nilfs sources», посмотрел описание последних коммитов и как-то резко расхотел.

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

Timeshift же на нём в быстрые снапшоты не умеет. А домашнему пользователю это должно быть важно, не ковыряться же в системе, почему что-то отвалилось после обновления.

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

Скорость, сжатие, снапшоты.

У меня она например на sshd внезапно сломалась, чего на моих hdd ни разу не было за годы эксплуатации, благо обошлось без потерь файлов. А утилита для проверки и восстановления btrfs упала во время теста, вот такого я точно не ожидал. Пока поменял её на этом диске на ext4, работает нормально, ошибок у диска так и не нашёл.

Dr64h ★★
()
Последнее исправление: Dr64h (всего исправлений: 1)

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

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

Сжатие дает +30-40% к месту на диске. Рефлинки дополнительно экономят место и время. Снапшоты и восстановление файлов - тривиальная задача без ощутимых побочных эффектов. После потери питания или краша системы не нужен ритуал с fsck и можно просто продолжить работать.

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

2009 год анонса

Круто… Больше 20-ти лет… А они все еще стабилизируют. Судя по всему, лет 20 назад Шишкин таки был прав.

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

Больше 20-ти лет…

Новые правила математики 2024 - 2009 = более 20…

В ядре официально с 2018 года кстати, я бы от этого отсчитывал. А это не так и много времени прошло.

ShrecK
()

Годно, ждем в арче. Перешел с lvm+ext4 на btrfs пару лет назад. Полет нормальный, ничего не сыпется. Регулярно делаю снапшоты и бэкапы всех разделов на внешний жесткий диск через btrbk. Инкрементальные бэкапы через встроенные средства btrfs делаются намного быстрее, чем через rsync.

Кстати контрольные суммы btrfs помогли в свое время обнаружить сбои оперативы. Когда досиживал последние месяцы на ext4, стал замечать рандомные сегфолты в приложениях, чаще всего в хромиуме. Списывал все на баги аппаратного ускорения рендеринга. Перешел на btrfs и буквально через пару недель словил ошибки контрольных сумм при очередном бэкапе. Прогнал проверку дисков - все чисто. Попробовал заново сделать бэкап - снова посыпались ошибки копирования, но уже совершенно в других файлах. Только после этого догадался прогнать memtest86+ и вуаля - нашел сбойный блок. Менять плашку оперативы не стал, а просто заблеклистил нужный диапазон адресов.

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

Новые правила математики 2024 - 2009 = более 20…

Упс))) Кофе еще не выпил)

iron ★★★★★
()

Какой смысл, пихать такие сложные FS в стоковое ядро? Это как если бы ядро постоянно выходило с определенной всё более новой версией PostgreSQL или IBM Db2, если они были бы внутреядерными СУБД. Ну какой админ согласится на апгрейд СУБД до рандомной версии, которая понравилась Линусу?

IMHO для хранилища данных нужен выбор версии ядра и версии FS.

Т.е. это должен быть отдельный хост, со своей выбранной версией ядра и версией FS, который расшаривает данные по SAN и/или NAS протоколам.

А остальные хосты уже со своими версиями ядер обращаются к хранилищу.

А так, если хранить данные прямо на хосте с обновляемым ядром, то в случае, например, ZFS легко сломать либо работоспособность FS хоста, либо каких-то других модулей при замене версии ядра, либо потребуется вообще апгрейдить дистр после обновы ядра, более подходящего для FS. Слишком много нюансов.

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

Вейланд от мира ФС.

IMHO единственное преимущество над ZFS - это вроде как лучшая производительность и наличие онлайн дефрагментации, что теоретически может быть полезно для прода. Но тащить Btrfs на прод, не каждый отважится. Впрочем и OpenZFS тоже, а вот ZFS на Illumos по слухам уже поинтереснее.

sanyo1234
()
Ответ на: комментарий от anonmyous
"И музыка как во дворце Тюильри
Мне слышится ночь на пролёт.
А что до грядущей за этим зари,
Товарищ, не верь, не взойдет!" :)
gns ★★★★★
()

В btrfs уже всё неплохо, кроме одного. Нет возможности, аналогично богомерзкому мастдаю, сжимать отдельные директории или файлы.

Задал на уровне fstab, что ты хочешь сжимать, скажем, с помощью zstd и сжимать тебе нужно «принудительно». А потом с помощью chattr выставил на директорию атрибут или на файл. И выполнил «дефрагментацию».

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

У btrfs есть киллер-фича, которую оценят не только лишь все.

Называется reflink.

А если ещё git-annex обмазаться, то ext4 становится резко не нужен…

А обычные домашние пользователи могут оценить атомарные обновления в стиле OpenSUSE MicroOS. Как и возможность откатиться перезагрузкой.

egzakharovich
()

Снапшоты  — это хорошо, жаль, что шифрование «искаропки» не поддерживается... :(

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

Шишкин много чего набрасывал говорил.

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

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

После потери питания или краша системы не нужен ритуал с fsck и можно просто продолжить работать.

Или не продолжать ибо если уж грохнется - никакие ритуалы c fsck не спасут.

Qui-Gon ★★★★★
()
Ответ на: комментарий от SkyMaverick

Шишкин много чего набрасывал говорил.

Я там 2 ссылки привёл, вторая - не на Шишкина была. Но в целом-то понятно, что кто кодит, тот и рулит. И раз бтрфс кодят, а райзер - нет, то, в целом, уже не важно, кто когда и что говорил…

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

Вот Btrfs в ядре, вот оно работает, вот по нему есть массив внедрений в том числе и крупных (ну, Фейсбук, ну и что - внедрение есть). Соответственно, по сабжу есть массив накопленной информации по результатам использования, граблям, типовым проблемам использования в разных сетапах. По ним работают, развивают исправляют.

Вот есть пафосный ТЕОРЕТИК Эд Шишкин. Вот он наваял PoC своего видения ФС. Ну ОК, я не спорю, может он действительно отлично шарит в теме. С практической стороны посмотреть что-то есть? Мне действительно интересно, кто кроме полутора ЛОР-овцев и личных друзей Эд-а использовал его наработки в чём-то хоть сколько-нибудь ответственном. На хранилках Хуавея (он ведь там работает, да) я Рейзера не вижу в упор.

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

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

Так я и говорю: я не спорю, может он крут как специалист. Я и хочу узнать что ПРАКТИЧЕСКОГО вышло из под клавиатуры специалиста, чтобы его пафос был хоть чем-то подкреплён.

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

MySQL

Sun Microsystems

Java

Sun Microsystems

Open Office (закопан)

Sun Microsystems

VirtualBox

Sun Microsystems

Open Solaris

Sun Microsystems

ZFS

Sun Microsystems

Oracle Linux

Перелицевали RHEL в очередной раз. Всё.

NFS и vi - это тоже, кстати, Sun и лично Билл Джой.

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

Ну и кто её использует? Не для поиграться дома.

Видел из не особо давнего Фороникс как-то проводил сравнение, где был и Reiser 4. Что-то там ничего впечатляющего, даже в сравнений с btrfs особо не заметно.

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

Какая разница чей проект был раньше? Они развивают свои проекты, и делают их еще более вкусными. Sun тоже не с нуля делал.

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

чтобы его пафос был хоть чем-то подкреплён.

Не уверен про пафос (вроде, там и результаты каких-то тестов приводились), и, кроме того, 2я ссылка была не на него.

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

Код есть. Это же реальность или теория? Что мешает собрать да поработать? Фантазии Шишкина?

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

ну zfs много памяти требует в отличие от btrfs, но для базы данных (sqllite и postgresql) zfs не смотря на прожорливость лучше btrfs, а ext4 ещё лучше, правда я для достижения максимальной производительности, журнал отключил, так как база имела зеркала (но думаю и с журналом будет быстрее).

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

Ладно, если СУБД сама умеет в чексуммы данных типа IBM Db2.

А иначе только ZFS/Btrfs, если не хочешь, чтобы база данных неконтролируемо превратилась в базу рандомных байтов.

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

Вот он наваял PoC своего видения ФС.

Вроде как, не совсем. Там, во первых, тёрки были, и райзер не хотели в ядро принимать ещё даже ДО посадки основного её архитектора в тюрьму. Во вторых, контора Райзера вела эту разработку весьма «кулуарно», и внешние контрибуторы как-то не поощрялись. Как я понял, контрибьютить можно было, но в основном только фиксы, так как планами разработчики не охотно делились с комьюнити. В результате, доделать не успели, а после посадки Ганса, Шишкин уже, в одиночку, просто ради фана в неё контрибьютил какое-то время. На доделку «своего видения» уже не было ресурсов.

Я к тому, что, вероятно, в «успехе» райзерФС виноват не он, а его менеджмент. Обстоятельства были явно против него. Комьюнити контрибьюторов вообще трудно собрать, а уж когда контора ведёт разработку полу-прозрачным порядком - и вовсе, невозможно.

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

А хрен его знает. Первая ссылка в гугле была на sourceforge, я подумал «свят-свят» и решил поискать под фонарём.

Хотя и с SF ссылки идут на тот же гитхаб: https://nilfs.sourceforge.io/en/git_repos.html

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

Важный параметр – умение работать с твердотельными накопителями. Если нет, то и ФС для нашего времени устаревшая.

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

По-моему, критерий умения работать с твердотельными накопителями устарел сам по себе. С твердотельным накопителем уже умеет работать твердотельный накопитель. Наверное, связка умной ФС и тупого контроллера была бы уместнее. Но контроллеры уже умные, так что можно не множить сущности и накатывать хоть FAT 32.

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

А btrfs разве сложная FS?

Ну некоторые таки даже рассуждают о ней в контексте конкуренции с ZFS. Сложная ли FS - ZFS? Надеюсь, понятно, что это риторический вопрос.

Та же APFS на неё похожа сильно, яблочники как-то живут.

Пропроетарщики - это вообще другой мир, на который ненужно равняться. Даже NTFS в венде как-то живёт …

sanyo1234
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.