March 9th, 2010

В человеческом обличье

pohmelfs

Вначале я хотел похвалить автора за чувство юмора...

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

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

Повбывав бы ! ;-))

Ну, хоть сделал себе новый образ под старым добрым User Mode Linux, порассматривал под gdb core dump-ы (поскольку, первым, что делает pohmelfs из ядра 2.6.33 является segfault), снова почувствовал себя kernel хацкером. ;-) Так что если кому нужно срочно захачить kernel -- обращайтесь пока снова не забыл. ;-))

А тема распределенных сбоеустойчивых файловых систем вообще-то горячая и очень нетривиальная. Пока что все об нее сломали зубы. Насколько я знаю, дальше всех продвинулся M. Satyanarayanan c системой coda (которая таки работала без дураков, а не как pohmel, типа выложу в интернет tmpfs, насобираю полный буфер файлов, пропихну в ядро, раструблю на весь мир, а потом буду думать -- что с этим буфером делать)... Только coda сегодня, к сожалению, остается системой прошлого века с файлами <2GB, директориями не более 256KB (пара тысяч файлов всего, если имена средней длины), и не тянет реально более десятка миллионов файлов на сервер (что не так уж и много). Запатчить ее до современного уровня, хоть Jan Harkes и пытается, я думаю, не удастся. Нужно писать с нуля...

Самая многообещающая, на сегодня, распределенная (хоть это ее свойство является унаследованным, а не собственным) сбоеустойчивая файловая система, как мне кажется -- tsumufs, но там в коде сплошные TODO: и около года его никто не касался.

update (4.04.2010): Файловая система ceph, упоминавшаяся здесь в комментариях, официально включена в ядро Linux, начиная с версии 2.6.34, которая вот вот выходит.