LINUX.ORG.RU

Btrfs: файловая система с контрольными суммами файлов и метаданных


0

0

Chris Mason анонсировал альфа версию его новой файловой системы Btrfs.

"После саммита посвящённого файловым системам я начал работать над новой ФС, которая поддерживает контрольные суммы всех данных и метаданных."

Он перечислил следующие "почти реализованные" возможности:

  • хранение файлов на основе extent (до 2^64 байт);
  • экономичное размещение маленьких файлов;
  • индексируемые каталоги, эффективно использующие пространство;
  • динамическое выделение inode;
  • записываемые снапшоты;
  • контрольные суммы для данных и метаданых (доступны разные алгоритмы);
  • очень быстрая офлайновая проверка ФС.
Также он перечислил функции, которые будут реализованы в будущем:
  • mirror и stripe на уровне объектов;
  • хорошая интеграция с device mapper для поддержки нескольких устройств;
  • проверка ФС на лету;
  • эффективный инкрементальный бекап и зеркалирование;
На данный момент проект представляет собой раннюю альфу. Chris Mason надеется на то, что сможет привлечь людей для отладки, тестирования, написания документации и кода. На данный момент он планирует выпускать новую версию каждые несколько недель.

Btrfs: http://oss.oracle.com/~mason/btrfs/

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

Ответ на: комментарий от Lockywolf

>Он перечислил следующие "почти реализованные" возможности: я оже могу сказать что лет через 20 напишу свою ФС в ней будет поддержка капслока для блондинок,флешек вставенных в флоппик,полная интеграция с Offtop, супер-менга криптование 1024 бита

Когда реализует , тогда и поговорим

fury3
()

Фигасе.
Смущает только время, оставшееся до релиза aka вхождения в ядро

Window_Snyder
()

И кому интересно нужен этот велосипед? Разве ext3 + журналирование данных и метаданных не спасает? В любом случае - лучший друг админа - своевременный бекап. AFAIK, ФС расчитана на ОЧЕНЬ ненадёжные носители, на которых хранить вообще что-либо ИМХО глупо.

anonymous
()

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

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

>Оно будет на каждый чих контрольную сумму вычислять?

Ничего, к релизу в продаже 16-ядерные процы появятся. Будет куда мощность утилизировать.

DNA_Seq ★★☆☆☆
()

По всем заявлениям эта ФС явно стремится в сторону ZFS..

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

Ну вот, достойный конкурент ZFS, по функцаналу, ещё правда не полному и пока отсутствующему в ядре, но всё же,поздравляю Линуксоидов...:)))

zanswer
()

>контрольные суммы для данных и метаданых (доступны разные алгоритмы);

в спецификации вижу тока crc32

OXIj
()

ну что тут сказать... ждем релиза. идея интересная.

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

>но будет на каждый чих контрольную сумму вычислять? Мне что, больше некуда процессорное время потратить?

Если тебя не волнует целостность и сохранность данных то это не значит что других это не волнует. Давно мечтаю об ФС которая бы высчитывала контрольные суммы. Чтоб потом не гадать откуда проблемы, например, в mysql-это глюки винта или самой базы. Да, винт сам считает контрольные суммы и проверяет целостность данных(если не ошибаюсь, обычно через код рида-соломона). Тока вот на практике это не всегда помогает. Контрольные суммы не помогут вернуть/восстановить данные, но помогут понять где проблема и своевременно ее устранить пока винт совсем не сдох.

>И кому интересно нужен этот велосипед? Разве ext3 + журналирование данных и метаданных не спасает?

Нет.

PS Видел как новый винт из герметичной упаковки на 10-й минуте использования начал dma error итп. Не верю я ни винтам ни рейдам.

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

>Давно мечтаю об ФС которая бы высчитывала контрольные суммы

Знаю что такие решения есть, хочется мейнстримовое решение и под линух.

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

PS почему-то вспомнился adinf. Похоже, он даже еще жив :).

anonymous
()

Называется - порвём zfs на грелки. :)

P.S. Скажите, только мне кажется, что не смотря на широкий ассортимент файловых систем, фактически признана стабильной только ext2/3? Когда речь заходит об остальных, то всё немедленно превращается в свалку "я поставил и оно как сглючило", "сам ты сглючило, у меня во сколько работает - не глючит", "подожди ещё чуть-чуть и всё тебе рухнет".

Или мне не кажется? ;-)

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

> Кажется... У меня и райзер, и хфс ни разу не сглючили и не потеряли данные в отличии от ект3

"сам ты сглючило, у меня во сколько работает - не глючит"

"подожди ещё чуть-чуть и всё тебе рухнет"

))))))))))))))

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

> У тя дефицит процессоронго времяни?

Дык цеж Зюзероутер, он Зюзит и роутит, на остальное расход ЦПУ не предусмотрен.

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

> P.S. Скажите, только мне кажется, что не смотря на широкий ассортимент файловых систем, фактически признана стабильной только ext2/3? Когда речь заходит об остальных, то всё немедленно превращается в свалку "я поставил и оно как сглючило", "сам ты сглючило, у меня во сколько работает - не глючит", "подожди ещё чуть-чуть и всё тебе рухнет".

XFS юай дефолт рулит (на толстых рейдах токмо оно), AIX вообще на JFS живёт, райзер - сасёт бай дизайн.

Gharik
()

альфа-версия
"почти реализованные возможности"
реализованы в будущем
и в чем новость?

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

а это ты к разработчикам машины времени обращайся :)

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

>У тя дефицит процессоронго времяни?

Он фанат SuSE и там на любой машине дефицит процессорного времени.

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

>Или мне не кажется? ;-)

Кажется, кажется. Полгода назад решил прогнать проц. Взял отметку 2300 с копейками мгц (рейтинг - 3400). Запустил супер-пи на пару часиков. И бац, через 20 минут - kernel panic. Перезагружаюсь. Снижаю частоту. kernel panic через 45 минут. Пререзагружаюсь... корневой раздел не найден (ext3). Хомяк на рейзире живой

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

> Кажется, кажется. Полгода назад решил прогнать проц. Взял отметку 2300 с копейками мгц (рейтинг - 3400). Запустил супер-пи на пару часиков. И бац, через 20 минут - kernel panic. Перезагружаюсь. Снижаю частоту. kernel panic через 45 минут. Пререзагружаюсь... корневой раздел не найден (ext3). Хомяк на рейзире живой

http://www.memtest.org/

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

И ничего тут нет странного - ничего в /home не писалось во время работы супер-пи. А вот с / действия какието выполняться могли.

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

>Не ново, были такие велосипеды и до зфс

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

anonymous
()

Chris Mason -- автор журналирования в ReiserFS, довольно много посвятил её доделыванию, в вопросе о FS-ах он разбирается очень хорошо. Так что когда он выкатил свою FS на суд общественности, ни у кого из разработчиков ядра не возникло вопроса "нафига это нужно?", как это часто бывало с последними анонсами некоторых FS (на память LogFS приходит). Направление развития его FS похоже перекрывает то, что народ хочет от ZFS, при этом, оно будет правильно интегрироваться в Linux. Проблема ZFS в том, что оно берёт внутрь себя часть функциональности, которая в Linux находится на другом уровне, тем самым нарушая распределение обязанностей по уровням (layer violation), поэтому ни у кого не возникает энтузиазма пытаться перенести ZFS в Linux, пусть бы даже не было лицензионных проблем, основные разработчики ядра будут явно против.

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

> Проблема ZFS в том, что оно берёт внутрь себя часть функциональности, которая в Linux находится на другом уровне

Вот-вот, я о том же всегда твердил. Идея линуксового ядра - "пусть каждый занимается своим делам". Есть устройства и есть ФС, и смешивать это разделение даже ради самой фичастой-префичастой, но одной файловой системы... "Да ну его нафиг!"

no-dashi ★★★★★
()
Ответ на: комментарий от Casus

Никто не спорит что Крис серьезный перец. Лично я увидел в фичах его ФС много того что есть в Reiser4. Почему было не взять ее и не доделать? Как бы не вышло такого как с софтом под линукс, то есть, на любую тему существует куча прог и утилит и все недоведены до конца :)

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

обратите внимание на:

struct btrfs_key {
u64 objectid;
u32 flags;
u64 offset;
}

objectid это наверняка номер инода, офсет - смещение внутри файла. Тот же принцип что в рейзерах.

Дальше айтем:

struct btrfs_item {
struct btrfs_disk_key key;
__le32 offset;
__le16 size;
}

То есть похоже имеем дерево. Ох как бы этот велосипед не имел более квадратные колеса у того чт оуже существует.

Я еще не смортрел архитектуру и код, посмотрю может прокоментирую.

Вот еще:

Upper nodes of the trees contain only [ key, block pointer ] pairs. Tree leaves are broken up into two sections that grow toward each other.

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

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

Не, было бы странно, если бы Крис не использовал тот опыт и знания, что у него есть. Крис говорил, что на каждом подтоме своё Btree, так что да, дерево у него есть. Reiser4 в текущем состоянии поддерживается в свободное время Шишкиным и Савельевым только (может мои данные устарели?), когда оно будет доведено до состояния "пора включать в ядро" неизвестно. Ну и основная идея у Криса, я так понимаю, это сделать, чтобы ZFS в Linux не была нужна.

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

>FS юай дефолт рулит (на толстых рейдах токмо оно), AIX вообще на JFS живёт, райзер - сасёт бай дизайн.

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

Остальное я уверен ты уже понял.

:-)

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

>когда оно будет доведено до состояния "пора включать в ядро" неизвестно.

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

Даже в имени ext4 при желании можно увидеть подтекст

:-)

argin ★★★★★
()

Да, что и говорить, мои дети может и увядят это чудо оттестированным и надежным, но при существующем подходе в Линуксе - каждый год по одной чудо ФС, Линукс сообщество превратиться ярмарку тщеславия разработчиков

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

Дык да, опыт оно конечно верно, но зачем делать велосипед колеса у которго будут явно квадратнее чем у того что существует :)

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

Вот еще один аргумент про опыт и знания. Он не занимался Р4 и деталей ее не судя по всему. Иначе как объяснить что он начала имплементировать многие фичи что есть в Р4? Работал на Р3, пришли идеи, реил их воплотить, но они уже воплощены и могу поспорить лучше чем это может сделать один Крис.

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

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

1. Очень сложный локинг, балансировка тоже вещь не тривиальная. Все это усложняет поддержку и доработку;

2. Любит CPU. Ну тут уж ничего не поделать, за счет CPU она типа уменьшает время и количество IO;

3. Нет альтернативных стримов, в них можно было хранить например экстендед атрибуты. Чтобы это реализовать надо долго говорить с парнями из LKML, потому как альт. стримы подразумевают существование файлов которые выглядят как директории, говоришь cd ./.bash_profile; ls и получаешь список альт. стримов. Все это создает проблемы в VFS с алиасами, хардлинками и все такое. Нужно перетирать с Виро. а он не оч. настроен на сотрудничество с Хансом был как я помню;

4. Стабилизировать криптокомпресию, сделать ее продакшн-реди;

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

6. Сделать онлайн ресайзер, дефрагментатор, добавить ресайз (со всех сторон) для юзер-сейс утилит;

Нет, надо было начать свой долгострой который не будет обладать и 5той частью того что уже есть. Ясно, каждый хочет быть хозяином своей ФС :)

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

> Тут кроме нелюбви к Гансу уже давно ничего не пгоглядывается.

Проблема Рейзера не в плохом коде, а в том, что когда он вынес свою файловую систему на суд общественности, общественность захотела осудить его самого... :)

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

Рассмотрение дела перенесли до осени, видно открывшийся внезапно маньяк испортил прокурору всю малину.

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

да нет... Ханс просто хам, пересрался со всеми с кем только можно, вел себя так как будто он всемирный благодетель и линус и другие не понммают его великих идей и придалбываются вместо того чтобы в ногах ползать и просить включить Р4 в ядро и типа таким образом оч. сильно доабвить линуксу популарности :) Немного преувеличиваю но канва правильная

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

>да нет... Ханс просто хам, пересрался со всеми с кем только можно, вел себя так как будто он всемирный благодетель и линус и другие не понммают его великих идей и придалбываются вместо того чтобы в ногах ползать и просить включить Р4 в ядро и типа таким образом оч. сильно доабвить линуксу популарности :) Немного преувеличиваю но канва правильная

Спорить с этим не буду. Но может Ганс просто трезво оценивает уровень своей работы ? Когда глядишь на способ разработки ext*, ничего кроме презрения к её разработчикам в голову не приходит. Отсутствие видения перспективы, самодовольство, зависть ...

Часто проблемы талантливых людей именно в этом. Никто не знает цену, которую человек платит за способность творить НОВОЕ. Часто она бывает большой, вплоть до полной потери способности к нормальному общению.

Но технарь, такой как Линус, который позиционирует себя как прагматика, по идее обязан быть выше таких дел, он ведь не РМС, который оценивает правильность принципам. Он должен уметь находить язык, если человек сделал что то стоящее. Бывают конечно совершенно невыносимые люди...

Никто не знает, что лучше - вежливый, но интеллектуально бесплодный Ганс, или такой какой есть :-)

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

> 3. Нет альтернативных стримов, в них можно было хранить например экстендед атрибуты. Чтобы это реализовать надо долго говорить с парнями из LKML, потому как альт. стримы подразумевают существование файлов которые выглядят как директории, говоришь cd ./.bash_profile; ls и получаешь список альт. стримов. Все это создает проблемы в VFS с алиасами, хардлинками и все такое. Нужно перетирать с Виро. а он не оч. настроен на сотрудничество с Хансом был как я помню;

IMHO, потоки -- зло.

P.S. Не видел, пока, ни одного внятного объяснения их существования, кроме как чего-то спрятать. Зачем?

:-)

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

Ну я так понимаю что до линуса дело не дошло, пришли патчи от неймсис, линус попросил добровольцев посмотреть. Ханс залез добровольцам в за..пу. На этом все и закончилось. Самый дружелюбный наверно всетаки Мортон.

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