The OpenNET Project / Index page

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

02.01.2013 19:01  Возобновлена работа над версионной файловой системой Tux3

После трёхлетнего затишья Дэниель Филлипс (Daniel Phillips) сообщил в списке рассылки разработчиков ядра Linux о возобновлении работы над файловой системой Tux3 и опубликовал первое сравнение производительности новой ФС, в котором показатели Tux3 оказались близки к Ext4 и даже немного опережают данную ФС. Для желающих поэкспериментировать с Tux3 предлагается использовать новый репозиторий проекта на GitHub.

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

Другими интересными особенностями Tux3 являются встроенные средства для репликации между системами отдельных файлов, директорий или целиком ФС, режим атомарного обновления данных, возможность изменения размера ФС на лету, динамическое распределение i-node (i-node хранятся в виде дерева btree и не имеют фиксированного размера или жестко заданного набора атрибутов), высокая скорость работы fsck за счёт ведения лога изменений в виде Btree-дерева, быстрый доступ к большим директориям, содержимое которых индексируется с использованием структур PHTree (в планах). Максимальные размеры файлов, разделов, числа i-node и версионных изменений практически не ограничены (2^60 и 2^48).

В отличие от файловых систем Btrfs и ZFS, Tux3 базируется на модели использования одного указателя на екстент (single-pointer-per-extent) и привязке информации о версиях к конечным узлам дерева (в классических "copy on write" системах учитывается состояние всего дерева ФС). Подобный подход позволил добиться сокращения объема мета-данных и значительного упрощения "физического" дизайна за счет переноса функциональности на "логический" уровень, что упрощает проведение таких операций как проверка целостности и восстановление после сбоя. Тем не менее, так как изменение дочерних элементов не приводит к изменению родительских, в процессе монтирования приходится отталкиваться от исходного состояния элементов, проигрывая все последующие изменения для создания кэша (в процессе работы данная особенность не сказывается, так как все изменения отражаются в прокэшированном дереве). С другой стороны, подобный подход позволяет избавиться от рекурсивных операций с деревьями, свойственными copy-on-write системам.

Сравнение производительности с файловой системой Ext4 показало, что Tux3 немного опережает Ext4 (46.338/46.684, 49.101/44.011, 49.838/43.773) и при этом создаёт вдвое меньшую нагрузку на CPU. Тестирование проведено с использованием утилиты fsstress, оценивающей скорость выполнения нескольких сценариев работы с ФС, свойственных для высоконагруженных систем. В качестве одной из причин низкой нагрузки на CPU называется разделение реализации Tux3 на две раздельные подсистемы - фронтэнд и бэкенд. Фронтэнд осуществляет выполнение операций, свойственных для POSIX ФС, и работает только с данными имеющимися в кэше. Бэкенд в фоновом режиме следит за синхронизацией кэша, осуществляя операции с диском в атомарном виде (в показателях теста учитывается только нагрузка от фронтэнда, но разработчики утверждают, что если учесть и бэкенд, общая нагрузка на CPU всё равно будет ниже). Все изменения передаются фронтэндом в виде транзакций, которые группируются в delta-наборы с тем расчётом, что каждый набор может быть записан на носитель в виде атомарного изменения.

Несмотря на то, что ФС Tux3 уже пригодна для экспериментов, ещё не все запланированные функции реализованы. Наиболее существенной функцией, которую планируется реализовать в первую очередь, является поддержка снапшотов. Также пока не реализован в коде новый метод индексирования директорий (PHtree). Требуется доработка систем для управления свободным дисковым пространством и распределения блоков для уменьшения фрагментации. Необходимо создать эффективную утилиту для восстановления повреждённых ФС (fsck). В планах также реализация возможностей, связанных с миграцией блоков, увеличением/уменьшением размера разделов, дефрагментацией, дедупликацией и репликацией.

  1. Главная ссылка к новости (https://lkml.org/lkml/2013/1/1...)
  2. OpenNews: Новый вариант распределённой файловой системы POHMELFS готов для включения в ядро Linux
  3. OpenNews: Представлен полностью переработанный вариант распределённой файловой системы POHMELFS
  4. OpenNews: Доступна новая версия распределённой файловой системы XtreemFS 1.4
  5. OpenNews: В состав ядра Linux 3.8 войдёт файловая система F2FS
  6. OpenNews: Решение проблемы с потерей данных в ext4. NILFS2 и CEPH претендуют на включение в ядро 2.6.30
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: tux3, fs
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 20:08, 02/01/2013 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    > в процессе монтирования приходится отталкиваться от исходного состояния элементов

    Т.е. на большом томе с кучей снапшотов монтирования просто не дождешься?

     
     
  • 2.2, deadless (ok), 20:41, 02/01/2013 [^] [ответить]    [к модератору]
  • –1 +/
    зато потом на прямой обойдешь даже ext4 !! Интересно и почему такую перспективную разработку забросили на 3 года и никто не подхватил? опенсорц же?..
     
     
  • 3.8, Аноним (-), 22:34, 02/01/2013 [^] [ответить]     [к модератору]
  • +/
    Если дождешься Даже опенсорс ничего не может поделать с неуловимостью того... весь текст скрыт [показать]
     
  • 3.16, Anonim (??), 22:51, 02/01/2013 [^] [ответить]    [к модератору]  
  • +/
    Тут определиться во мнении сколько же займет места несколько килобакт не могут, а вы говорите прогрессивную фс пилить.
     
     
  • 4.31, Аноним (-), 05:36, 03/01/2013 [^] [ответить]    [к модератору]  
  • +/
    > займет места несколько килобакт

    Логично. Кто-то знает что за килобакты такие? Это единица чего? :)

     
     
  • 5.32, asd (??), 10:54, 03/01/2013 [^] [ответить]    [к модератору]  
  • +/
    Звёздные войны?
    Мегабакта, килобакта, БАКТА...
    Неизвестная мера бакты.
     
  • 3.19, BratSinot (ok), 00:12, 03/01/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    По той-же причине, что и Reiser4 Сил и времени нужно много, а так-же нехилые зн... весь текст скрыт [показать]
     
     
  • 4.44, Аноним (-), 22:44, 18/05/2014 [^] [ответить]     [к модератору]  
  • +/
    дык для этого и нужно было похищать точнее изначально - подговаривать и убивать ... весь текст скрыт [показать]
     
  • 3.38, pavlinux (ok), 23:50, 03/01/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    Почему не подхватил, подхватили, только никому не показываем.  
     
  • 1.4, eve (ok), 21:06, 02/01/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Сильно похоже на http://www.nilfs.org/en/
     
  • 1.5, Аноним (-), 21:48, 02/01/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    >данные при внесении изменений не переписываются, а копируются на новое место

    т.е. можно 100500 раз отредактировать килобайтный файлик и забить терабайтный раздел?

     
     
  • 2.6, ананим (?), 21:56, 02/01/2013 [^] [ответить]    [к модератору]  
  • +6 +/
    100500*1кб=100500кб=100,5мб
    Математика, 2 класс.
     
     
  • 3.7, нононим (?), 22:24, 02/01/2013 [^] [ответить]    [к модератору]  
  • +2 +/
    100500 килобайт = 100500/1024 мегабайт = 98.14453125 мегабайт. Информатика, первый год изучения.
     
     
  • 4.10, Аноним (-), 22:36, 02/01/2013 [^] [ответить]    [к модератору]  
  • +4 +/
    > 100500 килобайт = 100500/1024 мегабайт = 98.14453125 мегабайт.

    Mebibytes. В мегабайте 1000 байт, ибо мега - десятичная приставка, увы.

     
     
  • 5.11, res2500 (ok), 22:40, 02/01/2013 [^] [ответить]    [к модератору]  
  • +7 +/
    чем отличается обычный человек от программиста ?
    обычный человек думает что в 1 МБ - 1000 кб
    программист думает, что в одном килограмме - 1024 грамма
     
     
  • 6.13, Аноним (-), 22:49, 02/01/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    Это хреновые программисты, которые на стандарты обозначений кладут.
     
     
  • 7.18, Аноним (-), 23:16, 02/01/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    Это хреновые стандарты, которые кладут на выражение, которое уже устоялось.
     
     
  • 8.20, Аноним (-), 00:47, 03/01/2013 [^] [ответить]     [к модератору]  
  • –1 +/
    Я читал стандарт ГОСТ Там не сказано как правильно употреблять 1024-приставки... весь текст скрыт [показать]
     
     
  • 9.22, all (??), 01:17, 03/01/2013 [^] [ответить]    [к модератору]  
  • +2 +/
    ***, чуть чаем не подавился. Вы ГОСТ на что читали?
     
     
  • 10.37, Mr. Gentoo (?), 20:41, 03/01/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    такой вопрос могут задать только пхп-программисты
     
  • 10.41, Аноним (-), 22:17, 07/01/2013 [^] [ответить]     [к модератору]  
  • +/
    А вы читали Или чай замещает чтение документации Вот с кем не поговоришь, всё ... весь текст скрыт [показать]
     
  • 8.27, Аноним (-), 05:31, 03/01/2013 [^] [ответить]     [к модератору]  
  • +/
    Десятичные приставки появились намного раньше чем вообще компьютеры А 1024 пост... весь текст скрыт [показать]
     
  • 8.34, Анончик (?), 15:42, 03/01/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    Мне Вас жаль, если Вы не можете следовать стандартам и считаете, что все должны подстраиваться под Ваш закостенелый ум.
     
     
  • 9.35, all (??), 16:29, 03/01/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    Для особо одаренных в СИ основание системы счисления 10 10 n, так как весь мир... весь текст скрыт [показать]
     
  • 5.12, filosofem (ok), 22:40, 02/01/2013 [^] [ответить]    [к модератору]  
  • +7 +/
    > В мегабайте 1000 байт

    Предыдущие спортсмены очень старались, но ты победил.

     
     
  • 6.23, ананим (?), 01:40, 03/01/2013 [^] [ответить]    [к модератору]  
  • +/
    с детьми нужно общаться на им понятном языке. :D
    сам факт — где ~100мб и гдё ~терабайт.
     
  • 5.17, нононим (?), 22:58, 02/01/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    >> 100500 килобайт = 100500/1024 мегабайт = 98.14453125 мегабайт.
    > Mebibytes. В мегабайте 1000 байт, ибо мега - десятичная приставка, увы.

    http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B3 первые 3 столбца в таблице, что сверху справа

     
  • 3.9, Аноним (-), 22:35, 02/01/2013 [^] [ответить]    [к модератору]  
  • +/
    > 100500*1кб=100500кб=100,5мб

    Не учтен размер блоков ФС (if any) и оверхед от метаданных. Да, это вам не школа :)


     
     
  • 4.24, ананим (?), 01:43, 03/01/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    >> 100500*1кб=100500кб=100,5мб
    >Не учтен размер блоков ФС (if any) и оверхед от метаданных. Да, это вам не школа :)

    учитывать оверхед от размера блока и метаданных при соотношениях ~100мб на ~1Тб будет только параноик.
    да и то при обострении.

     
     
  • 5.26, Anonim (??), 03:46, 03/01/2013 [^] [ответить]    [к модератору]  
  • +/
    С современными файловыми системами вполне может дойти до того что метаданные будут больше самих данных.
     
  • 5.29, Аноним (-), 05:32, 03/01/2013 [^] [ответить]     [к модератору]  
  • +/
    А если взять файлы нулевого размера то можно ну вы в курсе насчет соотношени... весь текст скрыт [показать]
     
     
  • 6.33, ананим (?), 11:29, 03/01/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    >А если взять файлы нулевого размера то можно ...

    то можно выглядеть дураком.
    я понял.

     
     
  • 7.36, Аноним (-), 17:52, 03/01/2013 [^] [ответить]    [к модератору]  
  • +/
    > то можно выглядеть дураком.

    Да, можно. Особенно если попутно вопить о том что оверхед от метаданных обуительный.


     
  • 6.42, Евгений (??), 19:08, 09/01/2013 [^] [ответить]    [к модератору]  
  • +/
    Если менять нулевой файл на нулевой, то и изменений никаких писать не нужно. Метку доступа помнить и вроде бы все.
     
  • 1.21, CSRedRat (ok), 01:11, 03/01/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Btrfs больше не нужна? Или у них разное назначение? Кто в теме?
     
     
  • 2.30, Аноним (-), 05:33, 03/01/2013 [^] [ответить]    [к модератору]  
  • +/
    > Btrfs больше не нyжна? Или у них разное назначение? Кто в теме?

    Белаз больше не нyжен? Ведь есть же пикапы!

     
  • 1.25, Главные Редакторы (?), 02:15, 03/01/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    "ещё не все запланированные функции реализованы."
    Мы предсказываем, что после того как оставшиеся функции будут реализованы, утилита fsstress покажет для Tux3 снижение производительности и повышение нагрузки на ЦПУ, хуже значений которые будут к тому времени достигнуты на ext4.
     
  • 1.40, Аноним (-), 00:41, 06/01/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > предлагается использовать новый репозиторий проекта на GitHub

    Кто там вякал что нужны другие хостинги?

     
  • 1.45, Аноним (-), 22:46, 18/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    дальний родич 3-го рейзера, ФС Диджитал и Новелл.
    но в отличие от такса, там приоритет был не на минимизации оверхэда, а на НАДЕЖНОСТИ.
    хотите малый оверхэд ? вам на UFS или exFAT ;)
     

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


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