The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

17.03.2017 11:43  Значительное обновление файловой системы Bcachefs

Кент Оверстрит (Kent Overstreet) представил в списке рассылки ядра Linux значительное обновление файловой системы Bcachefs, развиваемой с использованием технологий, уже опробованных при разработке Bcache (блочное устройство для кэширования доступа к медленным жестким дискам на быстрых SSD-накопителях). В файловой системе используется механизм Copy-on-Write (COW), при котором изменения не приводят к перезаписи данных - новое состояние записывается в новое место, после чего меняется указатель актуального состояния.

Особенностью Bcachefs является поддержка многослойного подключения накопителей, при котором хранилище компонуется из нескольких слоёв - к нижнему слою подключаются наиболее быстрые накопители (SSD), которые используются для кэширования часто используемых данных, а верхний слой образуют более ёмкие и дешёвые диски, обеспечивающие хранение менее востребованных данных. Между слоями может применяться кэширование в режиме отложенной записи (writeback).

Кроме типовых возможностей POSIX ФС, например xattrs и ACL, Bcachefs предоставляет доступ к таким расширенным функциям, как возможность подключения к разделу нескольких устройств, репликация (RAID), кэширование, прозрачное сжатие данных и верификация целостности данных и метаданных по контрольным суммам. Из пока не реализованных возможностей отмечается поддержка квот и снапшотов, возможность экспорта через NFS. Среди нерешённых проблем отмечается большое время монтирования, вызванное тем, что во время монтирования осуществляется обход всех inode, dirent-ов и extent-ов.

На данном этапе развития Bcachefs находится на стадии бета-версии, при этом стабильности и надёжности уделяется первичное внимание, но дисковый формат ещё окончательно не зафиксирован и может меняться в будущем. Большим плюсом Bcachefs является задействование в проекте уже отлаженных и проверенных временем технологий Bcache, что позволяет добиться изначально высокого уровня стабильности. Отмечается, что Bcachefs уже вполне пригоден для использования на ноутбуках и серверах, но так как ФС относительно новая рекомендовано регулярное создание резервных копий. По производительности Bcachefs опережает Btrfs и другие ФС на базе механизма Copy-on-Write, демонстрируя производительность, близкую к Ext4 и Xfs. Bcachefs также хорошо масштабируется и уже протестирована в работе хранилища, размером 50 Тб.

Ключевые улучшения в новой версии Bcachefs:

  • Полноценная поддержка шифрования всей ФС. Для шифрования применяется потоковый шифр ChaCha20 и алгоритм аутентификации сообщений (MAC) Poly1305, разработанные Дэниелом Бернштейном (Daniel J. Bernstein), Таней Ланге (Tanja Lange) и Питером Швабе (Peter Schwabe). ChaCha20 и Poly1305 можно рассматривать, как более быстрые и безопасные аналоги AES-256-CTR и HMAC. В отличие от реализации шифрования в Ext4, в Bcachefs не поддерживается шифрование отдельных частей ФС - зашифровано может быть только всё содержимое ФС. По производительности реализация шифрования в Bcachefs близка к dm-crypt, но, при этом, dm-crypt не поддерживает аутентифицированное шифрование;
  • Резервное копирование суперблоков, позволяющее всегда иметь резервную копию на случае повреждения основного суперблока;
  • Новый более компактный и расширяемый формат inode. В среднем в Bcachefs размер inode составляет 50-60 байт, что позволяет кэшировать все метаданные в ОЗУ;
  • Возможность подключения нескольких накопителей к одному разделу доведена до состояния, пригодного для использования. Улучшен инструментарий для управления накопителями из пространства пользователя. Обеспечена базовая поддержка репликации (RAID1/10), в том числе с возможностью перевода одного из дисков в offline без остановки работы ФС;
  • Реализация утилиты fsck для проверки и восстановления целостности ФС в пространстве пользователя. Ранее функциональность fsck была реализована на уровне ядра и могла вызываться только в момент монтирования. По сути, утилита fsck стала результатом работы по переносу частей Bcache в пространство пользователя, т.е. в утилите fsck представлен тот же код проверки, что ранее применялся на уровне ядра. Более того, почти весь код Bcachefs теперь может быть оформлен в виде библиотеки, работающей в пространстве пользователя. Данный код уже задействован в реализации команд "bcache dump" и "bcache migrate";
  • Новая команда "bcache dump", позволяющая в отладочных целях сохранить дамп всех метаданных в форме образа в формате qcow2. Например, данную возможность можно использовать для создания копии метаданных для последующей отправки разработчикам ФС, в случае если fsck не может решить возникшую проблему;
  • Добавлена команда "bcache migrate", позволяющая на лету перенести содержимое существующей ФС в Bcachefs без потери старых данных. Метод основан на создании в старой ФС одного большого непрерывного файла, после чего на блочном устройстве создаётся раздел Bcachefs, использующий только блоки, выделенные для этого файла. После этого на новый раздел переносятся все данные из старой ФС. Далее можно примонтировать новый раздел вместо старого (используя опцию offset в команде mount) и убедиться, что все данные перенесены корректно, или одновременно примонтировать старую и новую ФС и сверить идентичность данных ("rsync --itemize-changes").


  1. Главная ссылка к новости (https://lkml.org/lkml/2017/3/1...)
  2. OpenNews: Новая ФС Bcachefs, сочетающая функциональность btrfs/zfs с производительностью ext4/xfs
  3. OpenNews: Система кэширования на SSD-накопителях BCache претендует на включение в ядро Linux
  4. OpenNews: В состав ядра Linux 4.6 принят код файловой системы OrangeFS
  5. OpenNews: Файловая система Tux3 предложена для включения в состав ядра Linux
  6. OpenNews: Для файловой системы Ext4 представлена поддержка шифрования
Лицензия: CC-BY
Тип: Программы
Ключевые слова: bcache, bcachefs
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, rm1 (?), 12:05, 17/03/2017 [ответить] [показать ветку] [···]    [к модератору]
  • –1 +/
    Bcache до сих пор толком не доделал, но уже надо пилить на нём ФС с перделками и свистелками.
     
     
  • 2.2, Аноним (-), 12:08, 17/03/2017 [^] [ответить]    [к модератору]
  • +1 +/
    Почему не доделал? Bcache закоммичен в ядро, проблем вроде не наблюдается, менять там вроде уже нечего.
     
     
  • 3.7, PnDx (ok), 13:21, 17/03/2017 [^] [ответить]     [к модератору]
  • +4 +/
    Только bcache 8212 это не совсем кэш Дайте мне устройство, я там всё по... весь текст скрыт [показать]
     
     
  • 4.34, sabakka (?), 23:02, 17/03/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    знаток.
     
  • 4.42, Андрей (??), 08:04, 18/03/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Напомнило о том, что extfs не фрагментируется, поэтому и дефрагментатора нет ... весь текст скрыт [показать]
     
  • 4.48, Lol (??), 21:23, 18/03/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    ЛЛЛЛОООООЛ, это ганище из 20ти с фигом дисков я разобрал, человек и не подумал б... весь текст скрыт [показать]
     
     
  • 5.49, efimius (ok), 21:36, 18/03/2017 [^] [ответить]     [к модератору]  
  • +/
    Меня удивляет такие коментарии хорошо у вас 20 дисков и hw райд мы за вас рады, ... весь текст скрыт [показать]
     
  • 2.3, Админ (?), 12:14, 17/03/2017 [^] [ответить]    [к модератору]  
  • +5 +/
    Надо же, два года юзаем в продакшене, а мужики-то и не знают.
     
  • 1.4, h31 (ok), 12:23, 17/03/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Непонятно, почему в новости упор делают именно на многослойное подключение устройств. Если кто не в курсе, Bcachefs - ФС общего назначения, конкурент всяким там Btrfs.
    Желаю автору Bcachefs успехов. Btrfs, похоже, физически невозможно допилить до стабильного состояния, столько лет её пилят. А у автора вполне может получиться что-то юзабельное.
     
     
  • 2.12, Crazy Alex (ok), 15:31, 17/03/2017 [^] [ответить]    [к модератору]  
  • +3 +/
    а что сейчас не так с btrfs? Я как-то давно жалоб не слышал
     
     
  • 3.15, юзир (?), 17:10, 17/03/2017 [^] [ответить]    [к модератору]  
  • +5 +/
    > Я как-то давно жалоб не слышал

    значит никто ее не использует

     
     
  • 4.46, Димас (??), 11:58, 18/03/2017 [^] [ответить]     [к модератору]  
  • +4 +/
    Исользую btrfs уже три года как, может даже больше, за время использования еще н... весь текст скрыт [показать]
     
  • 3.19, gapsf2 (??), 18:56, 17/03/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    В btrfs недавно выскочил баг в реализации RAID 5/6.
    ФС разарбатывается с 2007 г., а до сих пор ей нельзя доверять.
    Про кодовую базу пишут, что там мало кто может в ней разобраться.
     
     
  • 4.20, Crazy Alex (ok), 19:20, 17/03/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    угу, ясно. Хотя как по мне - если баги выстреливают только в таком относитлеьно молодом коде, как raid5/6 - то более чем приемлемо пользоваться более старыми/стабильными фичами.
     
  • 3.21, Elhana (ok), 19:28, 17/03/2017 [^] [ответить]    [к модератору]  
  • +/
    Тем, что половина фич "Mostly ok", даже raid1/10, а raid5/6 вообще не пригодный к использованию: https://btrfs.wiki.kernel.org/index.php/Status
     
     
  • 4.41, Crazy Alex (ok), 03:02, 18/03/2017 [^] [ответить]     [к модератору]  
  • +/
    Посмотрел - вроде вывод как раз обратный mostly ok - это mostly ok, годится для... весь текст скрыт [показать]
     
  • 3.47, кельвин (?), 15:00, 18/03/2017 [^] [ответить]    [к модератору]  
  • +/
    оказалось что убивать zfs уже не надо..
     
  • 1.5, Аноним (-), 12:32, 17/03/2017 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Btrfs с образами виртуалок вообще не дружит без танцев, как и с базами Интересн... весь текст скрыт [показать]
     
     
  • 2.53, scorry (ok), 14:16, 24/03/2017 [^] [ответить]     [к модератору]  
  • +/
    А что с виртуалками не так С какими-то конкретными, и какие проблемы С базами ... весь текст скрыт [показать]
     
  • 1.6, Necrogrinder (ok), 12:40, 17/03/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    О, вроде эту ФС я ждал из-за LZ4...  
     
  • 1.8, vantoo (ok), 13:49, 17/03/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Пока допилят до стабильного уровня, станет ненужным. SSD уже перешагнули терабайтный барьер, осталось только подешеветь.
     
     
  • 2.9, Аноним (-), 14:06, 17/03/2017 [^] [ответить]    [к модератору]  
  • –3 +/
    При чём здесь SSD? Новость не читал?
     
  • 2.38, freehck (ok), 23:27, 17/03/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    Дешеветь они ещё долго будут Сейчас терабайтник HDD можно взять за 2-3 тысячи ... весь текст скрыт [показать]
     
     
  • 3.39, efimius (ok), 23:42, 17/03/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    gt оверквотинг удален Пофлудить Так у меня лаптоп И запись на диск мне нужна ... весь текст скрыт [показать]
     
  • 3.50, . (?), 03:50, 20/03/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    А я вот не простой смертный, у меня HDD - FC HDD и оно было 800 00 1TB К... весь текст скрыт [показать]
     
  • 3.54, scorry (ok), 14:19, 24/03/2017 [^] [ответить]     [к модератору]  
  • +/
    Не соглашусь, как имеющий имевший, вернее оба варианта и чувствовавший разницу... весь текст скрыт [показать]
     
  • 2.51, xavc (?), 12:54, 20/03/2017 [^] [ответить]    [к модератору]  
  • +/
    SSD тоже можно кэшировать: дешёвые SATA TLC — на быстрых NVMe 3D MLC, а те — на 3D Xpoint, MRAM или NVRAM-накопителях.
     
  • 1.10, amonymous (?), 14:37, 17/03/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    >>> ChaCha20 и Poly1305

    Вот завязка на конкретные алгоритмы напрягает очень сильно. Pluggable был бы лучше, конечно.

     
     
  • 2.17, Александрик (?), 17:58, 17/03/2017 [^] [ответить]    [к модератору]  
  • +/
    А OpenSSL вас, значит, совсем не напрягает?
     
  • 1.11, Аноним (-), 15:24, 17/03/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    А можно сделать файловую систему, которая будет хранить информацию как нейросеть? Не перезаписывать или писать рядом (дежавю к магнитной ленте), а послойно, поверх, не затирая старое?
     
     
  • 2.13, Crazy Alex (ok), 15:32, 17/03/2017 [^] [ответить]    [к модератору]  
  • +/
    Так вон CoW - как раз оно, нет?
     
     
  • 3.16, Аноним (-), 17:18, 17/03/2017 [^] [ответить]    [к модератору]  
  • +3 +/
    сейчас так принято: любую непонятную вещь называть "нейросеть" ;)
    вы просто не в тренде
     
  • 2.14, Alexey (??), 17:03, 17/03/2017 [^] [ответить]    [к модератору]  
  • +2 +/
    Можно, только будет FS с потерями.
     
  • 1.18, efimius (ok), 18:17, 17/03/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Интересная штуковина, ребят а как bcache на лаптопе ?есть смысл скрещивать 120 gb ssd и 1 tb hdd? А то у меня этот диск просто валяеться. Убунту 16
     
     
  • 2.22, Andrew Tridgell (?), 19:35, 17/03/2017 [^] [ответить]    [к модератору]  
  • +/
    Да так же работает, как и на десктопе — просто работает.

    Если валяется hdd, то с bcache станет медленнее (но объём подрастёт).
    Если ssd, то скорость вырастет заметно при том же объёме.

    Скрестил 256ГБ ssd с двумя 1ТБ hdd в зеркале, доволен (уже несколько лет).

     
     
  • 3.28, ano (??), 20:45, 17/03/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    А толковое руководство по настройке есть?
    А то все что попадались - показались какими-то слишком хитрыми, поэтому я остановился на lvm-cache, что, пока что, более чем устраивает - а главное налету отрубается и забывается.
     
     
  • 4.29, Andrew Tridgell (?), 21:23, 17/03/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > А толковое руководство по настройке есть?

    Оно «из коробки» работает без проблем, настраивать не нужно.
    Мне вот только не понравилось, что оно относительно недавно начало постоянно дёргать харды (дурацкие, на мой взгляд, умолчания для writeback). Но всё настраивается через /sys/block/bcacheX/bcache/ и, наверное (надеюсь!), аргументы ядра (но у меня пока руки не доходят).

    Документировано оно, конечно, очень скудно и местами контринтуитивно.
    Начинать нужно с ядрёной документации (https://www.kernel.org/doc/Documentation/bcache.txt), а когда вопросы появятся — вгугл. Лучше всего, ессно, для начала поиграться в виртуалке, благо оно не напряжётся, если вместо ssd подсунуть fdd, например — любое блочное устройство подойдёт. Если что, можно тут у меня спросить. Помогу, чем смогу.

     
     
  • 5.31, ano (??), 21:59, 17/03/2017 [^] [ответить]    [к модератору]  
  • +/
    Спасибо.
     
  • 5.32, efimius (ok), 22:06, 17/03/2017 [^] [ответить]    [к модератору]  
  • +/
    >[оверквотинг удален]
    > Мне вот только не понравилось, что оно относительно недавно начало постоянно дёргать
    > харды (дурацкие, на мой взгляд, умолчания для writeback). Но всё настраивается
    > через /sys/block/bcacheX/bcache/ и, наверное (надеюсь!), аргументы ядра (но у меня пока
    > руки не доходят).
    > Документировано оно, конечно, очень скудно и местами контринтуитивно.
    > Начинать нужно с ядрёной документации (https://www.kernel.org/doc/Documentation/bcache.txt),
    > а когда вопросы появятся — вгугл. Лучше всего, ессно, для начала
    > поиграться в виртуалке, благо оно не напряжётся, если вместо ssd подсунуть
    > fdd, например — любое блочное устройство подойдёт. Если что, можно тут
    > у меня спросить. Помогу, чем смогу.

    Не понял а файл или портицию ему подсунуть нельзя? Вроде во flashcache можно

     
     
  • 6.33, efimius (ok), 22:09, 17/03/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    >[оверквотинг удален]
    >> через /sys/block/bcacheX/bcache/ и, наверное (надеюсь!), аргументы ядра (но у меня пока
    >> руки не доходят).
    >> Документировано оно, конечно, очень скудно и местами контринтуитивно.
    >> Начинать нужно с ядрёной документации (https://www.kernel.org/doc/Documentation/bcache.txt),
    >> а когда вопросы появятся — вгугл. Лучше всего, ессно, для начала
    >> поиграться в виртуалке, благо оно не напряжётся, если вместо ssd подсунуть
    >> fdd, например — любое блочное устройство подойдёт. Если что, можно тут
    >> у меня спросить. Помогу, чем смогу.
    > Не понял а файл или портицию ему подсунуть нельзя? Вроде во flashcache
    > можно

    Я имею ввиду мне поигратся во основном.меня старый жесткий диск на 320 gb устраивает правда ноут грузиться пару минут

     
     
  • 7.35, efimius (ok), 23:05, 17/03/2017 [^] [ответить]    [к модератору]  
  • +/
    >[оверквотинг удален]
    >>> Документировано оно, конечно, очень скудно и местами контринтуитивно.
    >>> Начинать нужно с ядрёной документации (https://www.kernel.org/doc/Documentation/bcache.txt),
    >>> а когда вопросы появятся — вгугл. Лучше всего, ессно, для начала
    >>> поиграться в виртуалке, благо оно не напряжётся, если вместо ssd подсунуть
    >>> fdd, например — любое блочное устройство подойдёт. Если что, можно тут
    >>> у меня спросить. Помогу, чем смогу.
    >> Не понял а файл или портицию ему подсунуть нельзя? Вроде во flashcache
    >> можно
    > Я имею ввиду мне поигратся во основном.меня старый жесткий диск на 320
    > gb устраивает правда ноут грузиться пару минут

    Сам отвечу можно

     
  • 7.36, Andrew Tridgell (?), 23:07, 17/03/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    >> Не понял а файл или портицию ему подсунуть нельзя? Вроде во flashcache
    >> можно
    > Я имею ввиду мне поигратся во основном.меня старый жесткий диск на 320
    > gb устраивает правда ноут грузиться пару минут

    Партицию можно, т.к. это блочное устройство. Файл — нет, это другой уровень. Bcache — чисто ядрёная штука и о файлах ничего не знает.
    У меня на SSD один раздел для swap (он же для hibernation), второй работает Bcache кэшем для RAID1 на HDD.

     
     
  • 8.43, АнонимХ (ok), 09:02, 18/03/2017 [^] [ответить]    [к модератору]  
  • +/
    > У меня на SSD один раздел для swap

    Размер? (Сколько рам)

     
  • 3.30, efimius (ok), 21:35, 17/03/2017 [^] [ответить]    [к модератору]  
  • +/
    > Да так же работает, как и на десктопе — просто работает.
    > Если валяется hdd, то с bcache станет медленнее (но объём подрастёт).
    > Если ssd, то скорость вырастет заметно при том же объёме.
    > Скрестил 256ГБ ssd с двумя 1ТБ hdd в зеркале, доволен (уже несколько
    > лет).

    Спасибо надо попробовать

     
  • 1.23, Аноним (-), 19:39, 17/03/2017 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Пора прощаться с БТРФС, осталось дождаться нормального релиза и проводить тесты ... весь текст скрыт [показать]
     
  • 1.24, Аноним (-), 19:52, 17/03/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    У bcache если винт вылетет то весь бутерброд накроется?
     
     
  • 2.25, Andrew Tridgell (?), 19:57, 17/03/2017 [^] [ответить]    [к модератору]  
  • +/
    > У bcache если винт вылетет то весь бутерброд накроется?

    Упадёт на землю маслом вниз, по всем известному закону.

     
     
  • 3.26, Аноним (-), 20:08, 17/03/2017 [^] [ответить]    [к модератору]  
  • +/
    У меня был не совсем бутерброд, а хлеб с маслом. Таки упало маслом вверх. Жаль не смог задокументировать.
     
     
  • 4.27, Andrew Tridgell (?), 20:34, 17/03/2017 [^] [ответить]    [к модератору]  
  • +2 +/
    > У меня был не совсем бутерброд, а хлеб с маслом. Таки упало
    > маслом вверх. Жаль не смог задокументировать.

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

     
  • 2.37, Аноним (-), 23:07, 17/03/2017 [^] [ответить]     [к модератору]  
  • +/
    Ну, смотря какой винт Если у вас вылетит SSD, то резко просядет производительно... весь текст скрыт [показать]
     
  • 1.40, Аноним (-), 02:46, 18/03/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Вместо того чтобы добавить в dm-crypt поддержку ChaCha20 и режим аутентифицированного шифрования с Poly1305 они запилили свой велосипед, ну молодцы, чо.
     
  • 1.52, Нониус (?), 06:46, 21/03/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    репликация (RAID) - это я дурак или автор доктор.бил?
    Каким образом RAID = репликация?

    Ещё одна на поиграться FS.

    bcache использую давно, но вот зачем навертетюживать туда высосаную из пальца FS?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2019 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor