Опубликована статья (http://www.filesystems.nm.ru/my/freebsd_fs.pdf) (pdf, 359 Кб), рассматривающая архитектуру файловой системы FreeBSD - UFS2.
Дисковая структура и алгоритмы описаны коротко, основной упор автор сделал на описание процесса разработки UFS2, мотивов принятия тех или иных решений.URL: http://www.filesystems.nm.ru/my/freebsd_fs.pdf
Новость: http://www.opennet.me/opennews/art.shtml?num=9631
Незнаю конечно про UFS от BSD но в Солярисе в inode-table есть ещё один тип указателей Triple который может указывать на 64 Терабайта, который почему то не используется.И по чему не пойти по пути ZFS, я больше чем уверен что за ZFS будущее она к тому же 128 Битная а не 64.
UFS - сторичок который верно делает своё дело, но его время заканчивается, за чем же на базе этого сторичка делать что-то новое.....
Я тоже задавался этим вопросом. Вся разница в подходах. Торвальдс делает современную, часто обновляемую ОС с богатым набором возможностей. Команда FreeBSD не гонится за новинками, она страрается выпускать стабильные, проверенные годами продукты. Именно поэтому МакКусик в свое время отказался от портирования во FreeBSD сторонней ФС или написания с нуля своей.И еще. На базе ext2 (алгоритмически она даже по-проще UFS будет) сделана ext4dev. И как ни странно это видеть, по производительности она уже (в бета-состоянии) опрережает XFS, reiserfs и reiser4 в большинстве тестов. А основа-то между тем не менялась. Просто прикрутили B+деревья экстентов и элементов каталогов.
Консерватизм FreeBSD заслуживает уважения это точно. Линуса Тровольдоса с постояно усовершенствованой системой я вообще в серьёз не беру. Мне кажется что всёд кишь UFS-2 пока что будет жить какое то время может лет 7 пока полностью не будет доработана ZFS а в частности работа ZFS под нагрузкой, Ведь UFS не выдерживает нагрузки при 11000 IO а ZFS пока что сыпится на 3000 IO. Но всед кишь если в FreeBSD начали портировать ZFS то это о многом говорит, ведь SUN Microsystem на это много ставит и я уверен что это получится так же как и с NFS или PAM которые созданы были в SUN OS а уже давно перекачивали в FreeBSD а уже и в Форточках появились такие как NFS ;))). Мне кажется что у UFS2 два пути
1) Не долгое существование может даже на FreeBSD-8 уже её не будет так как будет более мощная и простая в использование ZFS до ведённая до совершенства
2) Или она выжевет если её подержат и другие монстры UNIX-мира, она будет существовать совместно с ZFS/
Код UFS2 не выкинут из FreeBSD еще очень долго -- не зависимо от того, кто ее поддержит. И это политика,за которую любят FreeBSD.Что же до ZFS... Не знаю, так ли энергично пользователи кинутся ее использовать. Мало того, насколько я знаю, никаких масштабных работ по ее портированию не ведется, этим занимается 1 человек (поправьте, если ситуация изменилась). Точно также портируется XFS.
Архитектура ZFS, несомненно, очень стройна и красива, однако быстродействие ее пока здорово хромает. А использовать что-либо просто "за красивые глаза", не обращая внимания на очевидные недостатки, думаю не многие станут. (Аналогичная ситуация с reiser4 в Linux. Как бы она не была хороша, но по производительности уступает даже такой игрушке, как ext4, и это недостаток именно архитектуры, а не реализации).
Так что прикрутят к USF2 журнал, индексацию каталогов, учет фаловых блоков на экстентах -- и, глядишь, лет 15 она еще послужит.
> Аналогичная ситуация с reiser4 в Linux. Как бы она не была хороша, но по производительности уступает даже такой игрушке, как ext4, и это недостаток именно архитектуры, а не реализации.Несмотря на то, что я пользователь FreeBSD со стажем, за reiser4 все-таки вступлюсь. Насколько я помню, не включают ее в ядро потому, что код в реализации довольно-таки запутанный и никто не берется саппортить этот код в ядре. И ситуация с арестом Ганса - тому подтверждение. Кто сейчас реально готов сопровождать этот код и решать проблемы с пользователями, которые перешли на reiser4? А пока за разработчиками не будет маячить довольно крупная организация, готовая взять на себя поддержку разработки - ни один вменяемый админ не доверит такой реализации любые более-менее ценные данные. Я бы, по крайней мере, не доверил.
А насчет того, что ext4 - игрушка.. Дай Бог, чтобы все игрушки были такими и играючи уделывали все имеющиеся реализации ФС в Linux.
На ZFS в ближайшем будущем ни одна из моих боевых машин не перейдет.. Почему? Потому что они и на UFS/UFS2 неплохо работают, а UFS/UFS2 все-таки проверены годами. Единственное изменение, на которое я переведу некоторые сервера - это gjournal, дабы сократить время загрузки серверов после сбоя и начала эффективного обслуживания пользователей. Текущая ситуация с fsck - это все-таки ужасно, хотя использование бесперебойников несколько сглаживает ситуацию.
--
Jay
> Аналогичная ситуация с reiser4 в Linux. Как бы она не была хороша, но по производительности уступает даже такой игрушке, как ext4, и это недостаток именно архитектуры, а не реализации.Вы тестировали? По моим тестам фс reiser4 умопомрачительно быстра и очень стабильна. Использую больше полугода на домашней системе (ubuntu 6.6, 6.10 с перекомпиленным ядром).
Были и выключения электричества и случайные сбросы по питанию.. Ни одного потерянного байта.
Я тестировал :) Исходники и результаты тестов скоро выложу.
Друзья, UFS отличная файловая система. Об этом говорит лишь тот факт что только не так давно Sun сподобился разработать ZFS. Cаням захотелось отбить рынок у решений Veritas VM/FS. У UFS проблема при терабайтных файловых системах - сколько fsck будет проверять такую партицию и сколько нужно RAM для такой проверки? Да и расти может только в одну сторону - в большую ;) Но для локальных дисков больше и не нужно, потому UFS будет ещё очень долго жить.
Вообще Сан на сколько я понял, давно вела разработки ZFS. Да UFS долго прожила и наверно ещё долго будет жить, то что она внесла свою лепту в файловые системы тут уж спорить не нужно.
А для системных нужд UFS пока подходит, а тем более есть UFS2 которая в принципе не координально отличается от UFS1, что подчеркивает её надёжность и стабильность. Вот только бы по скорее закончили бы переписывать все системные утилиты для совместимости с UFS2.
Вообще время покажет в какую сторону будет дуть ветер. Может получится так что Сам Солярис будет только работать на UFS2 а в качестве расширения для хранилищ данных будет иметь ZFS.
Видно будет с выходом новых версий Соляриса и BSD....
> Может получится так
>что Сам Солярис будет только работать на UFS2 а в качестве
>расширения для хранилищ данных будет иметь ZFS.
>Видно будет с выходом новых версий Соляриса и BSD..../ в Solaris 10 пока действительно не может лежать на ZFS, но это обещают исправит самом ближайшем будущем очередным квартальным апдейтом. Так что врядли.
>/ в Solaris 10 пока действительно не может лежать на ZFS, но это обещают исправит самом >ближайшем будущем очередным квартальным апдейтом. Так что врядли.МяФ!:) нет почему же может, только вот способ для этого, сами разработчики называют большим хаком...:)))
Что там с портированием ZFS
К стати автор забыл упаменуть о такой важной вещи как Number of Bytes per Inodes, то есть количество байтов на инод. На Солярке для 3GB-1Tb слайса средний размер файла должен быть => 8Kb то есть NBPI=8Kb, а если слайс более 1Терабайта то на один Инод должен приходится в среднем файл не меньше размером в 1 мегабайта.
Лучше иметь больше инодов чем когда они закончатся....
Непонятно, почему автором указан некто Пешеходов А. П., а не Kirk McKusick,
прямым переводом книжки которого на русский язык является статья.
Книжку нужно было читать! Я не спорю -- 2/3 статьи перевод. Но не книги, а доклада МакКусика на BSDCon 2003.
Кстати, все мои статьи в той или иной степени основаны на переводах. Документации от разработчиков, комментариев в исходных текстах, сторонних обзоров. А где еще данные прикажате брать?
>Кстати, все мои статьи в той или иной степени основаны на переводах.
>Документации от разработчиков, комментариев в исходных текстах, сторонних обзоров. А где
>еще данные прикажате брать?Не обращай внимание, если в источниках те работы перечислены, то твоя совесть чиста.
>http://www.filesystems.nm.ru/my/freebsd_fs.pdfЗапрашиваемая Вами страница не найдена...
Виноват, глюканул nm.ru. Прошу подождать!
приколисты, утверждают что производительность UFS1 достигает 85% производительности дисковой системы
На сколько мне известно(поправьте если я ошибаюсь) то не одна файловая система не превышает порог производительности в 96% от дисковой подсистемы...
Хочу ФС с компрессией, и чтобы можно было управлять механизмом компрессии - например, неизменные файлы (а также файлы, заменяемые только целиком) компрессировать компактно (без запаса на возможное расширение), а меняющиеся файлы - с "зазорами" на возможное расширение - при изменении данных может изменяться степень компрессии. Мелкие файлы можно жать пачками в один solid-архив.Хочу ФС с переменным числом inodes. Вообще не понимаю, зачем inode располагается в начале диска, а не рядом с телом файла.
Хочу дефрагментатор с возможностью указать принцип дефрагментации (например, "все директории вместе").
>Хочу ФС с компрессией, и чтобы можно было управлять механизмом компрессии -
>например, неизменные файлы (а также файлы, заменяемые только целиком) компрессировать компактно
>(без запаса на возможное расширение), а меняющиеся файлы - с "зазорами"
>на возможное расширение - при изменении данных может изменяться степень компрессии.
>Мелкие файлы можно жать пачками в один solid-архив.
>
>Хочу ФС с переменным числом inodes. Вообще не понимаю, зачем inode располагается
>в начале диска, а не рядом с телом файла.
>
>Хочу дефрагментатор с возможностью указать принцип дефрагментации (например, "все директории вместе").
Это Вам в Windows. А на *NIX системах вам дефрагментер зачем? Я ни разу больше 7% фрагментации на nix FS не видАл. Да и компрессия это отдельная нагрузка на систему. Вобщем специально для Вас есть NTFS.
> Это Вам в Windows.
Я хочу это на Unix. Точнее, хочу и то, чего в Windows нет - например, дефрагментацию "директории вместе".> А на *NIX системах вам дефрагментер зачем? Я ни разу больше 7% фрагментации на nix FS не видАл.
Для начала неплохо было бы узнать методику подсчёта фрагментации - без методики любая цифра бессмысленна.
Дефрагментатор мне нужен потому, что в ряде случаев я лучше знаю, как оптимизировать работу. Например, я знаю, на каких разделах запускают 'find', и хочу именно на них расположить все директории вместе, чтобы они считывались единым запросом; я знаю, какие файлы у меня неизменны, и хочу, чтобы они лежали компактно, без зазоров на дальнейшее расширение.> Да и компрессия это отдельная нагрузка на систему.
Зато в ряде случаев компрессия снижает нагрузку на диск, а диск обычно намного медленнее процессора.> Вобщем специально для Вас есть NTFS.
Идеологически неприемлимо.
Статья доступна здесь: http://www.osrc.info/request.php?64
Хостинг одумался, статью можно по ссылке www.filesystems.nm.ru/my/freebsd_fs.pdf
В Windows есть дефрагментаторы, располагающие директории группой в одном месте. Например, это 7-й или 8-й Diskeeper.