URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 55372
[ Назад ]

Исходное сообщение
"Обзор файловой системы NILFS2, которая будет включена в сост..."

Отправлено opennews , 03-Июн-09 23:31 
"NILFS: A File System to Make SSDs Scream (http://www.linux-mag.com/id/7345/)" - обзор особо устойчивая к сбоям файловой системы NILFS2 (http://www.nilfs.org/en/), которая будет включена в состав Linux ядра 2.6.30. Для хранения всех данных в NILFS2 используются подобные логам структуры, в которых только добавляются новые записи и никогда не переписываются активные. Таким образом оборванная крахом операция записи, никак не отразится на целостности хранимых данных. В NILFS используются B-tree деревья и 64-битные структуры данных, поддерживается возможность фиксации снапшотов (контрольных точек в логе) для просмотра состояния данных на определенный момент времени. Более того с данными в снапшотах можно продолжать работать как с альтернативной веткой ФС, существующей параллельно.

URL: http://www.linux-mag.com/id/7345/
Новость: http://www.opennet.me/opennews/art.shtml?num=22015


Содержание

Сообщения в этом обсуждении
"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено User294 , 03-Июн-09 23:31 
Кому-то явно завидно что в юбилейном 30-м ядре будет еще одна не самая плохая ФС :).Поставили понимаешь новости -1 втихарика, подлые трусы :Е.

"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено Аноним , 03-Июн-09 23:34 
так снапшоты можно ведь через LVM реализовать. нужна ли тогда для этих функций новая ФС? не считая независимых деревьев, конечно.

"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено User294 , 03-Июн-09 23:47 
>так снапшоты можно ведь через LVM реализовать. нужна ли тогда для этих
>функций новая ФС? не считая независимых деревьев, конечно.

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

ЗЫ в этой статье ext2 почему-то обозвана ФС с деревьями.Если я не дятел - они гонят.Чистый ext2 без нифига деревьями вроде не пользуется?!

ЗЗЫ видится интересный вариант рекавери системы с такой ФС - просто загрузиться в состояние (снапшот) на энное время раньше.Нечто типа отката состояния у виртуалки :)


"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено Аноним , 04-Июн-09 00:50 
но как я понимаю, версионные ФС создают большую избыточность данных, чтобы хранить одни и те же файлы, но разных версий. скорее всего используется какая-либо инкрементальная разница между снапшотами для уменьшения использования дискового пространства.

правильно понимаю?


"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено User294 , 04-Июн-09 02:01 
>но как я понимаю, версионные ФС создают большую избыточность данных, чтобы хранить
>одни и те же файлы, но разных версий.

Версионники не переносят логи изменений из журнала в основную ФС(в отличие от обычных).Вместо этого вся ФС просто является кучкой логов.В результате достигается вполне логичная экономия: запись изменений делается 1 раз - в лог.А переносить из лога в основную ФС - не требуется.Экономия по операциям записи и рост скорости записи - очевидны.

При этом можно считать что ФС постоянно себя снапшотит(за счет ее структуры "куча логов" можно восстановить не только текущее но и некий набор прошлых состояний).Всегда есть набор "кандидатов в снапшоты" - в терминах NILFS это "чекпойнты".Что-то типа снапшотов, только временных - их живет некая пачка, самые старые постепенно подчищаются garbage collector'ом для как раз очистки места на диске.Т.е. выводок временных снапшотов живет на ФС чисто за счет принципа ее работы - ФС логгит все что делает, всегда можно выхватить состояние на некий предшествующий момент просто забив на более новые логи.Что и позволяет просто и корректно восстанавливаться после краха, откатываться на прошлые версии некоторое время и т.п.. Сказать что это занимает место можно достаточно условно - старые чекпойнты постепенно прибиваются и как максимум про них можно сказать "временно занимают место".

Создание "постоянного" снапшота из временного чекпойнта = запрету стирать некий набор логов, т.е. просто, быстро и нахаляву, ведь все что было надо для снапшота - уже есть, просто garbage collector-у запрещается прибивать нужные логи когда-то там в будущем.Это, разумеется приводит к съеданию места таким снапшотом - чудес не бывает.А вот временные чекпойнты место занимают достаточно условно.Тем не менее, хоть они и временные, они позволяют некоторое время (пока их не убьет GC) откатываться к старому состоянию.

>скорее всего используется какая-либо инкрементальная разница между снапшотами
>для уменьшения использования дискового пространства.

Эта разница называется "логами".Вся ФС состоит из "разниц" в виде логов.Новое состояние = старое + логи.Инкрементальность зашита в принципах работы такой ФС :)

>правильно понимаю?

Да - такая ФС "разницами" и оперирует, потому и log structured.Из логов состоит.

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

Минусов у такого подхода как я понимаю есть - срач логами по всему диску и нужда их постепенно подтирать.Потенциально может быть фрагментация + требуется достаточно непростой garbage collector и достаточно навороченная логика вокруг всего этого.

ЗЫ если я где-то наврал, пусть гуру типа Фрески меня поправят.


"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено Аноним , 04-Июн-09 05:42 
>Новое состояние = старое + логи.

Непонятен этот момент. Т.е. текущее состояние - это лог1 + лог2 + лог3 + ... логХХХХ ? Если так, то считывать тысячи разниц, и, плюс к тому, сравнивать их - довольно затратно.

Или всё же после нескольких десятков изменений создаётся снимок состояний, который достаточно один раз прочитать и сразу использовать, без необходимости сравнивать разницы? Заранее спасибо :)


"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено fresco , 04-Июн-09 13:01 
тут тот же принцип, что в ZFS и btrfs, только реализация немного проще. читайте про эти ФС -- станет понятнее.

"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено User294 , 06-Июн-09 04:59 
>тут тот же принцип, что в ZFS и btrfs, только реализация немного
>проще. читайте про эти ФС -- станет понятнее.

Кстати, из того что мне интересно:
1) Перестройка+дефрагментеж GCом... а насколько это безопасно?В плане сохранности данных?По наблюдениям - сбои в процессе таких объединений-дефрагментаций - наиболее хреновое что может произойти с подобной структурой.Как с этим борятся?Что-то не нашел у NILFS на сайте внятного освещения этого вопроса(плохо искал?).
2) Если нагрузка постоянная и интенсивная - как это с GC будет уживаться?
3) Такие структуры в принципе склонны к фрагментации? (GC как я понимаю с этим должен бороться).
4) Конеретно у NILFS кажется работа с мелочью и большим числом файлов в каталогах сделана как я понимаю не ахти? Явно не выглядит как ФС для хранения миллионов мелких файлов в 1 дире в данный момент.


"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено xxx , 04-Июн-09 11:56 
>Основной плюс как я понимаю возможность честно журналировать запись и данных файлов и >метаданных не теряя от этого в скорости

Что-то я сомневаюсь, что она не теряет в скорости. Почему ты думаешь, что она должна быть быстрее обычной ФС c журналированием?


"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено User294 , 06-Июн-09 05:54 
>Что-то я сомневаюсь, что она не теряет в скорости. Почему ты думаешь,
>что она должна быть быстрее обычной ФС c журналированием?

В обычной ФС если честно журналить и метаданные ФС и данные файлов, придется писать записываемые данные 2 раза. Сперва в журнал, потом в ФС. Двойная запись данных разумеется сажает скорость записи. Зато честно реализуется "все или ничего".Запись аннулируется если обломалась при записи в журнал или доводится до конца по данным из журнала если обломалась уже при записи в основную ФС.

Обычно такая просадка считается неприемлимой (просадка вдвое, плюс-минус лапоть) и для большинства некритичных задач пользуют компромиссные варианты, когда в журнал идут только метаданные.Цена компромисса - честного "все или ничего" уже не получается.Валидное состояние ФС - да, есть.А вот в каком состоянии файлы?Правильно, никто ничего не гарантирует.Грамотный подход (типа ordered в ext3) может помочь данным оставаться более-менее корректными в типовых сценариях.Но честные транзакции через журнал надежнее.И этак вдвое тормознее...

"Версионники" пишут новые данные ОДИН раз.Как этакий "лог".Похожий по смыслу на лог журнала классической ФС.Из-за такого принципа работы "все или ничего" получается само (недописанные логи - в топку, дописанные - юзать, сконструировав из них текущий вид файла).При этом получается честное журналирование не только метаданных но и данных.И даже "машина времени" с разными версиями файла - просто свойство такой ФС(достаточно забить на логи позднее чем X - и вот вам ФС в состоянии на момент X).А запись вообще недеструктивна - исходный вариант файла вообще как правило не трогается (как минимум сразу, на момент записи).Отсюда вытекает и достаточно корректный откат (можно просто вернуться к прошлому состоянию файла на котором сорвалась запись) и богатые возможности по части снапшотов(все что надо для снапшота - уже существует).Минусы ... разгребать старье подтирая старые версии версионнику все-таки когда-то придется а сам этот процесс не то чтобы очень уж тривиальный.


"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено Аноним , 04-Июн-09 00:47 
>так снапшоты можно ведь через LVM реализовать. нужна ли тогда для этих
>функций новая ФС? не считая независимых деревьев, конечно.

на LVM не работают барьеры если используется больше одного физического диска, отсюда как следствие у программ и у ФС пишущих через LVM нет гарантии что после выхода из *sync() данные действительно записались на диск, а это может привести к повреждению данных или журнала ФС при неожиданном отключении питания.

поэтому эта ФС нужна, а LVM не всегда можно использовать.


"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено Аноним , 04-Июн-09 00:52 
>на LVM не работают барьеры если используется больше одного физического диска

что такое барьеры? с LMV я совсем недавно начал знакомиться.


"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено Аноним , 04-Июн-09 01:49 
>>на LVM не работают барьеры если используется больше одного физического диска
>
>что такое барьеры? с LMV я совсем недавно начал знакомиться.

/usr/src/linux/Documentation/block/barrier.txt

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

если этот механизм не работает, информация о том что транзакция успешно выполнена может попасть на диск в файл журнала до того как целиком запишутся сами данные описывающие транзакцию. после неожиданного отключении питания попытка восстановления (файловой системой или например базой данных) такой "пустой" или частично записанной транзакции приведёт к непредсказуемым последствиям.


"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено Аноним , 03-Июн-09 23:50 
Нужна. LVM-snapshot - настолько общая вещь, что она неэффективна. Кроме того, NILFS2 должна будет внущать больше доверия к надёжности в плохих условиях, чем LVM.

"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено Аноним , 04-Июн-09 07:01 
Ура в Linux снова изобрели ZFS, когда же наконец просто возьмут и будут использовать ZFS?

"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено Sonic , 04-Июн-09 08:54 
>Ура в Linux снова изобрели ZFS, когда же наконец просто возьмут и
>будут использовать ZFS?

Никогда. Лицензия же.


"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено аноним , 04-Июн-09 22:17 
Угу, причем лицензия линукса.

"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено MaMoHT , 04-Июн-09 09:11 
>Ура в Linux снова изобрели ZFS, когда же наконец просто возьмут и
>будут использовать ZFS?

Когда BRTFS допишут ZFS уже будет не нужна :-)


"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено osintsev , 04-Июн-09 10:15 
Btrfs уже не нужна - ZFS уже давно в лапах Оракля

"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено СуперАноним , 04-Июн-09 18:52 
А Оракль, что, уже в меинтейнеры линуксового ядра записался и будет решать, что нужно?

"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено аноним , 04-Июн-09 19:01 
>будет решать, что нужно?

будет. у них бабки


"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено User294 , 06-Июн-09 05:56 
>будет. у них бабки

Ну да, анонимам конечно виднее :).А чего тогда Chris Mason из оракла ничего такого не говорит про пиндец и во всех интервью утверждает что btrfs-у - быть?Может и правда у оракла бабки есть и потому на зарплату одному своему програмеру при потенциально интересном для их бизнеса результате они явно могут денег наскрести? :)


"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено User294 , 06-Июн-09 06:16 
>Btrfs уже не нужна - ZFS уже давно в лапах Оракля

Во первых, btrfs по своей задумке будет уметь ряд плюшек которые ZFS не умеет(и неизвестно будет ли уметь).

Во вторых, очень интересно смотрится заява "ZFS уже давно в лапах Оракля" - а что, сделка уже окончательно и бесповоротно завершена?А чего тогда сан до сих пор выступает не под брендом Оракл а под своим?

В третьих - советую подумать о том что линукс столько лет жил вообще без оракла.А вот то что оракл вообще захочет долговременно тягать развитие соляры (и ZFS) в 1 рыло - как-бы не факт.Это куда дороже и геморнее чем совместная разработка с размазыванием затрат на всю ораву.А сил кроме оракла способных работать над такой системой как-то не видно.Тут сан сам себя в пятку своим жлобством по части монопольного контроля развития системы подстрелил, имхо.Они это поняли, но выправить ситуацию не успели.И как известно, Sun хоть и обладал большими доходами, обладал и большими расходами.


"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено User294 , 06-Июн-09 06:06 
>Ура в Linux снова изобрели ZFS

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


"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено Аноним , 04-Июн-09 09:42 
> Никогда. Лицензия же.

Дык нынче Oracle у руля, он может и сменить на GPL2 лицензию, в добавок к CDDL.


"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено szh , 04-Июн-09 10:17 
>> Никогда. Лицензия же.
>
>Дык нынче Oracle у руля, он может и сменить на GPL2 лицензию,
>в добавок к CDDL.

может, но не сменил.


"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено fresco , 04-Июн-09 12:59 
и не сменит. там патенты, не совместимые с GPL. забудьте.

"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено Аноним , 04-Июн-09 20:00 
>>> Никогда. Лицензия же.
>>
>>Дык нынче Oracle у руля, он может и сменить на GPL2 лицензию,
>>в добавок к CDDL.
>
>может, но не сменил.

Дык не является он пока официальным её владельцем, как купит SUN, так и сможет сменить, а пока он только может подруливать, но не рулить, ждём августа.


"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено Аноним , 04-Июн-09 09:44 
> Когда BRTFS допишут ZFS уже будет не нужна :-)

К тому времени мы все поседеем и умрём, а вообще Oracle в случае покупки SUN, может просто отправить сию FS в аналы истории...комунити, как уже не раз делалось в опенсорсе, на вроде ReiserFS.


"Обзор файловой системы NILFS2, которая будет включена в сост"
Отправлено User294 , 06-Июн-09 05:59 
>К тому времени мы все поседеем и умрём,

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


"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено Frank , 04-Июн-09 12:37 
"Для хранения всех данных в NILFS2 используются подобные логам структуры, в которых только добавляются новые записи и никогда не переписываются активные."
- эт как понять? Если я запишу на винт из сети надцать гигабайт фильмов, закатаю их на ДВД и удалю с винта, что - эти надцать гигабайт будут вечно заняты? :)

"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено mma , 04-Июн-09 13:11 
они будут помечены как свободные и со временем будут перезаписываться новыми данными по мере устаревания. А пока не перезаписались сохраняется версионость ФС в рамках данных файлов.

"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено Myc , 04-Июн-09 17:31 
Это что 64-х битная реинкорнация BSD LFS?

"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено eve , 06-Июн-09 00:18 
Да.

"Обзор файловой системы NILFS2, которая будет включена в сост..."
Отправлено User294 , 06-Июн-09 06:17 
>Да.

Точно, давайте все "версионники" будем валить в кучу :).Ведь идея в основе их работы одинаковая :)