LINUX.ORG.RU

Spad - новая экспериментальная файловая система для Linux


0

0

Цель SpadFS - создание современной файловой системы без лишних усложнений и роста кодовой базы.

Из возможностей можно отметить:

  • Для быстрого восстановления целостности после краха, вместо журналирования, используется технология "crash counts";
  • Максимальный размер раздела до 144 PB.
  • Плавающий размер блоков, начиная с 512 байт.
  • Хэширование содержимого директорий (нет проблем с производительностью для директорий с огромным числом файлов).

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

ещё одна... я из тех что уже есть и то не могу выбрать...

Недавно xfs умерла на рейде. После сбоя питания и восстановления периодически всё рушилось с ошибкой 22. Файлы в lost'n'found не удалялись... Что-то расхотелось мне экспериментировать, вернулся к ext3.

зы фича под названием crash counts звучит многообещающе =)

WerNA ★★★★★
()

И как она показывает себя в боевых условиях?

З.Ы. Раньше юзал рейзер, потом ext3, теперь jfs. Последний - ИМХО самый быстрый.

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

>И как она показывает себя в боевых условиях?

Там же написано что это Ph.D. Каких нафиг боевых условиях?

r ★★★★★
()

мне кажется, что crash counts должен по определению равнятся нулю.. либо стремится к нему. а так как-то смешно получается..

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

> мне кажется, что crash counts должен по определению равнятся нулю.. либо стремится к нему. а так как-то смешно получается..

Он и будет стремиться, если поставишь нормальный бесперебойник. ФС тут не при чём. :)

ero-sennin ★★
()
Ответ на: комментарий от Davidov

> А я правильно понял, что по местной традиции никто не прочитал, что же такое этот самый crash counts?

Счётчик такой, увеличивается при монтировании, уменьшается при размонтировании.

ero-sennin ★★
()
Ответ на: комментарий от home_user

хех а я почти на оборот ext3->reiserFS пока всё ок, не жалуюсь.

ОФФТОП: а что там на счёт рейзера то слышно ? опровдали или как?

По теме: ктонить юзал сие чудо? И что даёт этот ... count???

djung ★★
()
Ответ на: комментарий от ero-sennin

>Счётчик такой, увеличивается при монтировании, уменьшается при размонтировании.

И при чём здесь бесперебойник и стремление к нулю, в таком случае? :)

Всё-так crash counts, как вы сами верно подметили, - это не количество сбоев.

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

Да ладно вам цепляться к терминологии. :) Здесь crash - некорректное завершение работы системы. А вы что подумали? :)

ero-sennin ★★
()

>New method to maintain consistency across crashes --- crash counts.

Как храниться -- понятно. А вот как это используется при восстановлении -- ни слова.

>Files are embedded directly in directory structure (unless hardlink is created). Thus, ls -la command doesn't have to seek to inodes.

Сползаю пацтул... Или он имел в виду inode, засунутый в каталог? Это мы, впрочем, тоже проходили... А если потребуется создать хардлинк? А потом удалить его? Сколько времени займёт такая операция?

>Free space is described in lists of extents rather than bitmaps like in most common filesystem. If a filesystem becomes too fragmented, list of free extents is converted to bitmap.

Он, наверное думает, что так будет сильно быстрее? Разве что компактнее... А вот, сколько времени займёт перегонка этого списка в битмап и обратно?

Чудо в перьях... Велосипедист фигов...

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

> ещё одна... я из тех что уже есть и то не могу выбрать...
> Недавно xfs умерла на рейде. После сбоя питания и восстановления периодически всё рушилось с ошибкой 22. Файлы в lost'n'found не удалялись... Что-то расхотелось мне экспериментировать, вернулся к ext3.
> зы фича под названием crash counts звучит многообещающе =)

Раньше мерялись пиписьками и аптаймом - теперь будут crash-count'ами ;)

Gharik
()

И самый прикольный вопрос: p4-3GHz - это здорово и классно, сказевый мегарейд унутре - вообще шоколадно, но как оно будет на p1-120 с памятью типа "edo-ram" при прочих равных бегать?

А то знаем мы такого велосипедостругателя, Хансом Райзером зовущегося и номером "4" грозящегося всех зарулить...

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

>как оно будет на p1-120 с памятью типа "edo-ram" при прочих равных бегать?

Никак. Нормальные люди такое старье подарили бомжам давно. А ненормальные могут и с 2.2.26 и ext2 сидеть - самое оно для такого железа.

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

> Как храниться -- понятно. А вот как это используется при восстановлении -- ни слова.

> Сползаю пацтул... Или он имел в виду inode, засунутый в каталог? Это мы, впрочем, тоже проходили... А если потребуется создать хардлинк? А потом удалить его? Сколько времени займёт такая операция?

> Он, наверное думает, что так будет сильно быстрее?

http://artax.karlin.mff.cuni.cz/~mikulas/spadfs/download/INTERNALS читали?

http://artax.karlin.mff.cuni.cz/~mikulas/spadfs/benchmarks/ смотрели?

И вообще, не понимаю я людей, которые любую новую разработку норовят закидать какашками. Там ясно написано: эта ФС написана простым аспирантом в рамках исследовательской работы и для промышленного производства не предназначена ни разу. Но если какие-то фичи окажутся удачными, их можно будет использовать в других ФС. Таким образом, пока другие флеймят на лоре, этот чувак приносит пользу народному хозяйству. А вы что сделали в свои годы? :)

ero-sennin ★★
()
Ответ на: комментарий от e-max

Скоростные тормоза.

> attempt to bring ... good performance

> uses hash instead of btrees for directory organization

Не совсем понимаю как соотносятся эти два пункта. Каким образом ассоциативные массивы позволят нам искать быстрее деревьев? Дайте ссылку для более подробного изучения матчасти.

Про Ганса: что у него с личной жизнью доподлинно неизвестно, жена пропала без вести 3 сентября. Сейчас Ганс ожидает заседания суда, которое состоится 28 ноября.

Camel ★★★★★
()

И насколько мощьный этот спад? Золото скупать?

mutronix ★★★★
()
Ответ на: Скоростные тормоза. от Camel

>Сейчас Ганс ожидает заседания суда, которое состоится 28 ноября. Вот это, собственно, инетересовало. Спасибо.

e-max
()
Ответ на: Скоростные тормоза. от Camel

> Каким образом ассоциативные массивы позволят нам искать быстрее деревьев? Дайте ссылку для более подробного изучения матчасти.

Среднее время поиска для хэша - O(1), для балансированного дерева - O(log(n)), поэтому на больших массивах хэш заведомо выигрывает.

http://en.wikipedia.org/wiki/Associative_array#Efficient_representations

ero-sennin ★★
()
Ответ на: Скоростные тормоза. от Camel

офф

> Про Ганса: что у него с личной жизнью доподлинно неизвестно, жена > пропала без вести 3 сентября. Сейчас Ганс ожидает заседания суда, > которое состоится 28 ноября.

а кого судят-то?

Spherix
()
Ответ на: офф от Spherix

Жену, как утверждают, свою грохнул...

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

>Никак. Нормальные люди такое старье подарили бомжам давно. А ненормальные могут и с 2.2.26 и ext2 сидеть - самое оно для такого железа.

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

ЗЫ И чем ядра 2.4-2.6 плохи для старых машин?

KS ★★
()

Может, "кеширование", а не "хеширование"?

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

> А что там с Хансом, кстати ? Каковы последние новости с фронтов? Я личную жизнь имею в виду.

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

anonymous
()

Валяюсь. Мало того что никто не прочитал как обычно инфу по линку, так еще и анонс блин: "Для быстрого восстановления целостности после краха, вместо журналирования, используется технология "crash counts";"

Directory entry is valid if cct[entry->cc] >= entry->txc --- if not valid, it skipped just as if it didn't exist when scanning directory.

Это теперь так называется быстрое восстановление "целосности" после краха? Если число транзакций над директорией > числа успешно завершенных транзакций (т.е. крах был на момент записи в эту директорию), то при следующем монтировании директория просто пропускается, т.е. пропадает. Охеренное восстановление целосности.

anonymous
()

Название заставляет задуматься стоит ли ставить её вообще куда нибудь.. назвал бы уж Pod`em что ли вместо Spad-а )

anonymous
()

Почитал про ейные internals. Не фонтан.

В новости сказано "Плавающий размер блоков, начиная с 512 байт" - тут не ясно, речь то ли об экстентах, то ли "Variable block size from 512 bytes to machine page size" - то, что уже есть... кстати, размер страницы (4К на x86) для некоторых случаев маловат будет.

Filesystem has current crash count [disk_cc], that is incremented with each mount and decremented with each unmount (thus, it counts crashes) ... New entries are written with values (entry->cc = memory_cc, entry->txc = memory_cct). So they are seen as valid in current directory scans, but in case of crash, disk will contain one-less value: disk_cc[entry_cct] == entry->txc - 1, so they will be invalid.

Попросту говоря, всё, что было создано, переименовано etc. между монтированиями - будет просто потеряно нафиг. Что при больших аптаймах довольно неприятно. Конечно, это наверняка будет переделано от монтирований до sync'ов - но временные промежутки между sync'ами опять-таки могут быть очень велики, причем появляется значительный оверхед на скан/апдейт ВСЕХ структур на диске при sync'е. А значит, раздел с большим количеством файлов нехило так подвиснет при этом.

Что мешало придумать что-нибудь вроде фрёвых софтапдейтов, непонятно.

Дальше, инодов нет, а fnode_block has 512 bytes - такой здоровый, а занят непонятно чем. Из отсутствия инодов следует необходимость эмуляции хардлинков несколькими fnode'ами -> усложнение кода. Используется хэширование, а не B-tree, в результате при коллизиях оно становится весьма неэффективным, плюс дополнительные сложности кодеру при реализации указателей на текущую позицию для стандартных функций (telldir(), seekdir(), etc.). Что мешало свистнуть идею из NTFS, непонятно, если уж разделение каталогов и инодов так не нравилось.

Sparse files are not supported. - вот это ОЧЕНЬ серьезный минус.

Из отсутствия инодов следует невозможность открытия файлов по номеру инода для NFS. И fnode тут не помогут, потому что их номера могут меняться из-за использующейся эмуляции хардлинков.

Each fnode can have up to 176 bytes of extended attributes.

Ну как украли, чесслово. Что туда впихнешь серьезное?..

The attributes are identified by a name (3 bytes), length (1 byte) and content. Unlike in other filesystems, extended attributes are not meant to be changeable by the user, they are meant to be set by the filesystem driver to deal with specifics of a given operating systems.

Точно, украли. Нафиг они такие нужны, если пользователю недоступны? Куда ACLи пихать будем? Ладно, может драйвер их еще возьмет, но длина маловата для серьезного списка.

Symlink length is limited to 172 characters - мда.

When the apage fills up, it is split. If it is too fragmented (such that bitmap would be more efficient than this list), it is converted to a bitmap.

За что боролись, за то и напоролись.

The groups and zones have no disk structures associated with them --- they are kept only in memory and their purpose is to prevent fragmentation.

И как бы нет, и как бы есть, но не для того, для чего у всех (минимизация передвижения головок при seek'е), а для фиктивного уменьшения фрагментации, ну да...

Резюме: фтопку.

//nuclight

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

> xfs для SGI железа ;)

На ноуте пользовать можно. Нужно конечно быть осторожнее, чем в случае с ext3, но отключение педалью POWER без при отсутствии нагрузки на диск XFS переживает без проблем.

mutronix ★★★★
()

Spad - отличное название!

ansi ★★★★
()
Ответ на: комментарий от ero-sennin

Но худшее - O(N) ЕМНИП, деревья гарантируют логарифмическое время поиска. Вообщем см. 3 том Кнута.

Begemoth ★★★★★
()

Тут недавно пробегала новость, что сановскую zfs на какую-то из BSD портируют. Возникает закономерный вопрос: А КАК ЖЕ ЛИНУКС ??? Наш маленький зоопарк файловых систем без zfs будет неполон !

anonymous
()

Сыроватая какая-то наработка.. Пока ещё..

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

Ну в общем довольно ыбстро. Но преимуществ пока особых перед допустим xfs/reiser/etc не вижу. Щас буду тестить скорость извлечения архивчега с сорцами ядра.

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

spad:

real 0m35.743s user 0m30.900s sys 0m3.660s

reiserfs 3.6 :

real 0m39.905s user 0m31.030s sys 0m3.990s

xfs: real 1m22.194s user 0m30.040s sys 0m3.400s

Винтики по скорости примерно одинаковые. xfs на мелких файлах сливает полностью. Щас будем тестить time cp file1 file2

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

Удаление:

xfs:
arceny@arceny /drive2 $ time rm -rf linux-2.6.18/

real    0m41.116s
user    0m0.010s
sys     0m1.480s


reiserfs 3.6:
arceny@arceny ~/tmp $ time rm -rf linux-2.6.18/

real    0m1.862s
user    0m0.020s
sys     0m1.780s


spadfs:
arceny@arceny /mnt/gentoo $ time rm -rf linux-2.6.18/

real    0m0.831s
user    0m0.000s
sys     0m0.410s

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

размер файла 695,6 мб

reiserfs 3.6
arceny@arceny ~/tmp $ time cp compact-3.0.4.iso compact-3.0.4.iso.2

real    0m29.399s
user    0m0.010s
sys     0m2.610s
arceny@arceny ~/tmp $ time cp compact-3.0.4.iso compact-3.0.4.iso.2

real    0m26.570s
user    0m0.000s
sys     0m2.580s
arceny@arceny ~/tmp $ time cp compact-3.0.4.iso compact-3.0.4.iso.2

real    0m27.647s
user    0m0.020s
sys     0m2.530s


xfs:
arceny@arceny /drive2/ISO/ALT $ time cp compact-3.0.4.iso compact-3.0.4.iso.2

real    0m28.685s
user    0m0.100s
sys     0m2.330s
arceny@arceny /drive2/ISO/ALT $ time cp compact-3.0.4.iso compact-3.0.4.iso.2

real    0m28.839s
user    0m0.020s
sys     0m1.790s
arceny@arceny /drive2/ISO/ALT $ time cp compact-3.0.4.iso compact-3.0.4.iso.2

real    0m33.118s
user    0m0.030s
sys     0m1.840s

spadfs:
arceny@arceny /mnt/gentoo $ time cp compact-3.0.4.iso compact-3.0.4.iso.2

real    0m22.342s
user    0m0.050s
sys     0m1.580s
arceny@arceny /mnt/gentoo $ time cp compact-3.0.4.iso compact-3.0.4.iso.2

real    0m22.077s
user    0m0.030s
sys     0m1.590s
arceny@arceny /mnt/gentoo $ time cp compact-3.0.4.iso compact-3.0.4.iso.2

real    0m22.865s
user    0m0.000s
sys     0m1.570s

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

> А что там с Хансом, кстати ? Каковы последние новости с фронтов? Я личную жизнь имею в виду.

Не могу знать, вашбродь - свечку не держал, лопату не прятал.

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