The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Архитектура файловой системы FreeBSD

26.01.2007 12:48

Опубликована статья (pdf, 359 Кб), рассматривающая архитектуру файловой системы FreeBSD - UFS2.

Дисковая структура и алгоритмы описаны коротко, основной упор автор сделал на описание процесса разработки UFS2, мотивов принятия тех или иных решений.

  1. Главная ссылка к новости (https://www.opennet.ru/soft/fre...)
  2. Копия PDF на opennet.ru
  3. Оригинал на www.filesystems.nm.ru (документ оказался недоступен)
Автор новости: fresco
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/9631-freebsd
Ключевые слова: freebsd, ufs, fs
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (27) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, zedis (?), 13:37, 26/01/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Незнаю конечно про UFS от BSD но в Солярисе в inode-table есть ещё один тип указателей Triple который может указывать на 64 Терабайта, который почему то не используется.И по чему не пойти по пути ZFS, я больше чем уверен что за ZFS будущее она к тому же 128 Битная а не 64.
    UFS - сторичок который верно делает своё дело, но его время заканчивается, за чем же на базе этого сторичка делать что-то новое.....
     
     
  • 2.4, fresco (??), 13:51, 26/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Я тоже задавался этим вопросом. Вся разница в подходах. Торвальдс делает современную, часто обновляемую ОС с богатым набором возможностей. Команда FreeBSD не гонится за новинками, она страрается выпускать стабильные, проверенные годами продукты. Именно поэтому МакКусик в свое время отказался от портирования во FreeBSD сторонней ФС или написания с нуля своей.

    И еще. На базе ext2 (алгоритмически она даже по-проще UFS будет) сделана ext4dev. И как ни странно это видеть, по производительности она уже (в бета-состоянии) опрережает XFS, reiserfs и reiser4 в большинстве тестов. А основа-то между тем не менялась. Просто прикрутили B+деревья экстентов и элементов каталогов.

     
     
  • 3.5, zedis (?), 14:06, 26/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Консерватизм 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/
     
     
  • 4.6, fresco (??), 14:37, 26/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Код UFS2 не выкинут из FreeBSD еще очень долго -- не зависимо от того, кто ее поддержит. И это политика,за которую любят FreeBSD.

    Что же до ZFS... Не знаю, так ли энергично пользователи кинутся ее использовать. Мало того, насколько я знаю, никаких масштабных работ по ее портированию не ведется, этим занимается 1 человек (поправьте, если ситуация изменилась). Точно также портируется XFS.

    Архитектура ZFS, несомненно, очень стройна и красива, однако быстродействие ее пока здорово хромает. А использовать что-либо просто "за красивые глаза", не обращая внимания на очевидные недостатки, думаю не многие станут. (Аналогичная ситуация с reiser4 в Linux. Как бы она не была хороша, но по производительности уступает даже такой игрушке, как ext4, и это недостаток именно архитектуры, а не реализации).

    Так что прикрутят к USF2 журнал, индексацию каталогов, учет фаловых блоков на экстентах -- и, глядишь, лет 15 она еще послужит.

     
     
  • 5.7, Jay (??), 15:25, 26/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    > Аналогичная ситуация с reiser4 в Linux. Как бы она не была хороша, но по производительности уступает даже такой игрушке, как ext4, и это недостаток именно архитектуры, а не реализации.

    Несмотря на то, что я пользователь FreeBSD со стажем, за reiser4 все-таки вступлюсь. Насколько я помню, не включают ее в ядро потому, что код в реализации довольно-таки запутанный и никто не берется саппортить этот код в ядре. И ситуация с арестом Ганса - тому подтверждение. Кто сейчас реально готов сопровождать этот код и решать проблемы с пользователями, которые перешли на reiser4? А пока за разработчиками не будет маячить довольно крупная организация, готовая взять на себя поддержку разработки - ни один вменяемый админ не доверит такой реализации любые более-менее ценные данные. Я бы, по крайней мере, не доверил.

    А насчет того, что ext4 - игрушка.. Дай Бог, чтобы все игрушки были такими и играючи уделывали все имеющиеся реализации ФС в Linux.

    На ZFS в ближайшем будущем ни одна из моих боевых машин не перейдет.. Почему? Потому что они и на UFS/UFS2 неплохо работают, а UFS/UFS2 все-таки проверены годами. Единственное изменение, на которое я переведу некоторые сервера - это gjournal, дабы сократить время загрузки серверов после сбоя и начала эффективного обслуживания пользователей. Текущая ситуация с fsck - это все-таки ужасно, хотя использование бесперебойников несколько сглаживает ситуацию.

    --
    Jay

     
  • 5.23, Николас (?), 08:27, 28/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    > Аналогичная ситуация с reiser4 в Linux. Как бы она не была хороша, но по производительности уступает даже такой игрушке, как ext4, и это недостаток именно архитектуры, а не реализации.

    Вы тестировали? По моим тестам фс reiser4 умопомрачительно быстра и очень стабильна. Использую больше полугода на домашней системе (ubuntu 6.6, 6.10 с перекомпиленным ядром).
    Были и выключения электричества и случайные сбросы по питанию.. Ни одного потерянного байта.

     
     
  • 6.30, fresco (??), 14:20, 29/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Я тестировал :) Исходники и результаты тестов скоро выложу.
     
  • 4.16, don_oles (??), 23:28, 26/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Друзья, UFS отличная файловая система. Об этом говорит лишь тот факт что только не так давно Sun сподобился разработать ZFS. Cаням захотелось отбить рынок у решений Veritas VM/FS. У UFS проблема при терабайтных файловых системах - сколько fsck будет проверять такую партицию и сколько нужно RAM для такой проверки? Да и расти может только в одну сторону - в большую ;) Но для локальных дисков больше и не нужно, потому UFS будет ещё очень долго жить.
     
     
  • 5.18, zedis (?), 02:03, 27/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще Сан на сколько я понял, давно вела разработки ZFS. Да UFS долго прожила и наверно ещё долго будет жить, то что она внесла свою лепту в файловые системы тут уж спорить не нужно.
    А для системных нужд UFS пока подходит, а тем более есть UFS2 которая в принципе не координально отличается от UFS1, что подчеркивает её надёжность и стабильность. Вот только бы по скорее закончили бы переписывать все системные утилиты для совместимости с UFS2.
    Вообще время покажет в какую сторону будет дуть ветер. Может получится так что Сам Солярис будет только работать на UFS2 а в качестве расширения для хранилищ данных будет иметь ZFS.
    Видно будет с выходом новых версий Соляриса и BSD....
     
     
  • 6.24, cadmi (?), 15:05, 28/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    > Может получится так
    >что Сам Солярис будет только работать на UFS2 а в качестве
    >расширения для хранилищ данных будет иметь ZFS.
    >Видно будет с выходом новых версий Соляриса и BSD....

    / в Solaris 10 пока действительно не может лежать на ZFS, но это обещают исправит самом ближайшем будущем очередным квартальным апдейтом. Так что врядли.

     
     
  • 7.25, ZANSWER (??), 16:26, 28/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >/ в Solaris 10 пока действительно не может лежать на ZFS, но это обещают исправит самом >ближайшем будущем очередным квартальным апдейтом. Так что врядли.

    МяФ!:) нет почему же может, только вот способ для этого, сами разработчики называют большим хаком...:)))

     

  • 1.2, Аноним (-), 13:39, 26/01/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что там с портированием ZFS
     
  • 1.3, zedis (?), 13:46, 26/01/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    К стати автор забыл упаменуть о такой важной вещи как Number of Bytes per Inodes, то есть количество байтов на инод. На Солярке для 3GB-1Tb слайса средний размер файла должен быть => 8Kb  то есть NBPI=8Kb, а если слайс более 1Терабайта то на один Инод должен приходится в среднем файл не меньше размером в 1 мегабайта.
    Лучше иметь больше инодов чем когда они закончатся....
     
  • 1.8, Аноним (-), 15:36, 26/01/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Непонятно, почему автором указан некто  Пешеходов А. П., а не Kirk McKusick,
    прямым переводом книжки которого на русский язык является статья.
     
     
  • 2.9, fresco (??), 15:49, 26/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Книжку нужно было читать! Я не спорю -- 2/3 статьи перевод. Но не книги, а доклада МакКусика на BSDCon 2003.
     
  • 2.10, fresco (??), 15:53, 26/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, все мои статьи в той или иной степени основаны на переводах. Документации от разработчиков, комментариев в исходных текстах, сторонних обзоров. А где еще данные прикажате брать?
     
     
  • 3.12, uldus (ok), 16:16, 26/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Кстати, все мои статьи в той или иной степени основаны на переводах.
    >Документации от разработчиков, комментариев в исходных текстах, сторонних обзоров. А где
    >еще данные прикажате брать?

    Не обращай внимание, если в источниках те работы перечислены, то твоя совесть чиста.

     

  • 1.11, Fuzzy (ok), 16:15, 26/01/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >http://www.filesystems.nm.ru/my/freebsd_fs.pdf

    Запрашиваемая Вами страница не найдена...

     
     
  • 2.13, fresco (??), 16:18, 26/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Виноват, глюканул nm.ru. Прошу подождать!
     

  • 1.14, zuborg (?), 16:38, 26/01/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    приколисты, утверждают что производительность UFS1 достигает 85% производительности дисковой системы
     
     
  • 2.19, zedis (?), 02:09, 27/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    На сколько мне известно(поправьте если я ошибаюсь) то не одна файловая система не превышает порог производительности в 96% от дисковой подсистемы...
     

  • 1.27, Dmitry U. Karpov (?), 23:57, 28/01/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хочу ФС с компрессией, и чтобы можно было управлять механизмом компрессии - например, неизменные файлы (а также файлы, заменяемые только целиком) компрессировать компактно (без запаса на возможное расширение), а меняющиеся файлы - с "зазорами" на возможное расширение - при изменении данных может изменяться степень компрессии. Мелкие файлы можно жать пачками в один solid-архив.

    Хочу ФС с переменным числом inodes. Вообще не понимаю, зачем inode располагается в начале диска, а не рядом с телом файла.

    Хочу дефрагментатор с возможностью указать принцип дефрагментации (например, "все директории вместе").

     
     
  • 2.28, CrazyF (?), 09:03, 29/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Хочу ФС с компрессией, и чтобы можно было управлять механизмом компрессии -
    >например, неизменные файлы (а также файлы, заменяемые только целиком) компрессировать компактно
    >(без запаса на возможное расширение), а меняющиеся файлы - с "зазорами"
    >на возможное расширение - при изменении данных может изменяться степень компрессии.
    >Мелкие файлы можно жать пачками в один solid-архив.
    >
    >Хочу ФС с переменным числом inodes. Вообще не понимаю, зачем inode располагается
    >в начале диска, а не рядом с телом файла.
    >
    >Хочу дефрагментатор с возможностью указать принцип дефрагментации (например, "все директории вместе").
    Это Вам в Windows. А на *NIX системах вам дефрагментер зачем? Я ни разу больше 7% фрагментации на nix FS не видАл. Да и компрессия это отдельная нагрузка на систему. Вобщем специально для Вас есть NTFS.

     
     
  • 3.29, Dmitry U. Karpov (?), 11:49, 29/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    > Это Вам в Windows.
    Я хочу это на Unix. Точнее, хочу и то, чего в Windows нет - например, дефрагментацию "директории вместе".

    > А на *NIX системах вам дефрагментер зачем? Я ни разу больше 7% фрагментации на nix FS не видАл.
    Для начала неплохо было бы узнать методику подсчёта фрагментации - без методики любая цифра бессмысленна.
    Дефрагментатор мне нужен потому, что в ряде случаев я лучше знаю, как оптимизировать работу. Например, я знаю, на каких разделах запускают 'find', и хочу именно на них расположить все директории вместе, чтобы они считывались единым запросом; я знаю, какие файлы у меня неизменны, и хочу, чтобы они лежали компактно, без зазоров на дальнейшее расширение.

    > Да и компрессия это отдельная нагрузка на систему.
    Зато в ряде случаев компрессия снижает нагрузку на диск, а диск обычно намного медленнее процессора.

    > Вобщем специально для Вас есть NTFS.
    Идеологически неприемлимо.

     

  • 1.31, fresco (??), 15:16, 29/01/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Статья доступна здесь: http://www.osrc.info/request.php?64
     
     
  • 2.32, fresco (??), 12:26, 31/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Хостинг одумался, статью можно по ссылке www.filesystems.nm.ru/my/freebsd_fs.pdf
     
  • 2.33, Андрей (??), 09:09, 05/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    В Windows есть дефрагментаторы, располагающие директории группой в одном месте. Например, это 7-й или 8-й Diskeeper.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру