The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Btrfs будет использоваться в платформе MeeGo в качестве ФС п..."
Отправлено User294, 18-Май-10 21:27 
>Хинт - какая-то хрень с подобием ZIL есть и в BTRFS. Называется Log Treе.

ZIL все-таки напомнил мне обычный журнал по смыслу. Хоть и для других сущностей. Хотя тут вы в чем-то правы - цель существовария упомянутых деревьев чем-то похожа. Но...

>классическим журналом типа того, что можно найти в extX, ZIL имеет
>весьма мало общего - в него записываются транзакции (системные вызовы) в
>высокоуровневых терминах объектов и производимых над ними изменений, которые, в случае
>сбоя, просто проигрываются через фреймворк VFS так, как будто бы это
>те же самые системные вызовы.

Доку по кищкам zfs я тоже читал :) к сожалению, механика ZIL там описана крайне лаконично.

>отличие еще и в том, что ZIL нужен исключительно для повышения производительности,

А парни с http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuni... пишут ровно обратное? Что для скорости ZIL можно вырубить, но тогда пеняйте на себя - целостность при крахе, дескать, никто не обещает. Что вроде как выглядит вполне логично. Они великие гонщики или тут где-то нестыковки? И, собственно, а как выглядит рекавери ФС если ZIL-а нету? Или оно при этом в принципе синхронные записи в стиле требуемом POSIX корректно не сможет тогда? oO Вот в бтр - действительно, явно "для скорости" приделано, чтобы разгрузить CoW механику от постоянных дерганий на каждый пук. Можно было и не приделывать но тогда CoW дергался бы намного чаще при некоторых нагрузках. Что ессно не есть хорошо.

>в то время как классический журнал в extX нужен не только для производительности,
>но и для более быстрой починки после отказа.

Ну, вообще-то, я не совсем понял откуда берется мысль про производительность? Нельзя ли пояснить? А то вон чуваки с ссылки выше утверждают что ZIL можно отрубить *подняв* производительность, но делать это ни в коем разе не следует т.к. целостность данных страдает. Что до обычных, типа EXT* - там с журналированием сами знаете как. Обычно журналят вообще только метаданные. ФС то конечно в логически-корректном состоянии после краха, но вот то что данные не окажутся полуперезаписанными такой подход не обещает. А полное журналирование - тормозное на запись однако. Понятно почему.

>И да - есть мнение BTRFS и ZFS таки не версионники,

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

>хотя за счет поддержки большого количества снимков вполне могут их в какой-то
>степени эмулировать.

Ну, можно рассмотреть снапшоты как "версии ФС". Это конечно не совсем то, однако более разумного названия объединяющего похожие по поведению дизайны - лично я придумать не смог. Предложите лучше, чтоли? Хочется называть похожие по общей логике сущности каким-то внятным термином.

>Если вы этого не видели, это еще не означает, что этого не
>существует. Возможно вы просто плохо смотрели.

Это запросто. ФС устроены достаточно сложно и я вполне могу пролошиться. Вы в вашем праве отвесить пинка в нужную сторону. Если можете это сделать грамотно и без ругани. А не как iZEN-ы там всякие.

>До BTRFS так делал много кто. В ZFS все - и данные, и метаданные, - хранится
>в объектах, работа с которыми происходит единообразно. Со второй хренью тоже
>разобрались, идем дальше.

Насчет разобрались - хм... а поясните парочку мест выше?

>Вот именно - суперблок это всего лишь начальная точка, корень всего того
>"леса", который под ним прячется. Соответственно, его потеря равноценна потере доступа
>ко всем данным в этом "лесу",

Да, но суперблоки никто особо и не кантует при крейсерской работе ФС. ИМХО CoW или что-то подобное для суперблока выглядело бы оверкиллом.

>а догадываться, где именно искать акутальную копию Root Tree на куче
>немаленьких дисков - развлечение то еще.  

Стоит только добавить что такая ситуация должна случаться крайне редко.

>то есть ни о каком CoW в применении к суперблокам речи не идет.

Да и фиг бы с ним, а? Вы часто изменяете суперблоки? Если рассматривать вообще все события которые как-то возможны - ну, на хранилище может метеорит упасть, например.

>У ZFS уберблоки (вернее, массивы уберблоков) тоже расположены в фиксированных местах на
>диске (четыре экземпляра - два в начале и два в конце), но новый уберблок пишется в
>следующий элемент массива, не трогая старый. В итоге получается своего рода CoW,
>хотя и в рамках ограниченных областей диска.

Это неплохо придумано. Но честно говоря - а смысл этого действа? Дизайн несколько усложняет, а вот шансы на аварию именно при изменении суперблока - порядка шансов попадания метеорита в хранилище, имхо? Или я тут не прав?

>Так что в результате получается, что ZFS более CoW, чем BTRFS, вопреки
>вашему изначальному утверждению. Идем дальше.

Скорее, получается что они реализовали в чем-то похожую по смыслу логику но по разному? (ZIL vs деревья). Чем оно "более CoW" я не понял. Хотя-бы потому что не смог себе представить как выглядит рекавери и синхронные записи в ZFS без ZIL но могу себе представить это в BTRFS (да, без упомянутых деревьев чисто на CoW без подпорочек было бы медленно и печально).

>Все-таки файловые системы, построенные на технике СoW и журнально-структурированные
>файловые системы - это разные вещи.

Я в курсе. Но их логика работы похожа в одном аспекте. У них не деструктивная запись. В отличие от классических ФС. В итоге я по большому счету разбиваю ФС на два типа - ФС где запись происходит деструктивно и ФС где запись всегда происходит "в сторонку" - недеструктивно. Конкретная реализация недеструктивной записи может ессно меняться.

>Да, безусловно, между ними можно усмотреть некоторое сходство, но не более.

Ну, мою точку зрения видно выше если что. Некоторое сходство - в недеструктивной процедуре записи, которая никогда не происходит в ту же область данных которая уже занята. В идеале то же самое и для метаданных.

>С этим уже разобрались и обнаружили аналогичное "костыльное решение" в BTRFS.

Ну, допустим, на мое имхо мене костыльное и я вижу как бы btrfs мог работать и совсем без него. Как ZFS мог бы работать без ZIL я не допер а чуваки по ссылке выше утверждают что отключка ZIL может вызвать потерю данных.

>Будем дальше продолжать называть костыльным подобием классического журнала или?

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

>> Или например в btrfs было заранее предусмотрено изъятие тома из пула, возможность
>> ребалансинга данных между томами после добавления тома,
>Ну да, в BTRFS пошли немножко дальше и виртуализировали пространство на отдельных
>дисковых устройствах в некое линейное пространство, состоящее из областей
>определенного размера (chunk'ов), что позволило относительно безболезненно
>производить манипуляции с размером и количеством устройств. Но как и у любой медали,
>у этого решения есть и обратная сторона - необходимость дополнительного
>определения конкретного устройства и смещения на нем при доступе.

Да, но я не думаю что это занимает много времени по сравнению с собственно временем IO операций.

>Хорошо это или плохо - как говорится, время покажет.

Я думаю что нормально. А почему нет?

>В ZFS без подобного механизма уменьшение размеров или количества устройств
>реализовать не так то просто - нужно уметь произвольно перемещать
>блоки, сохраняя все ссылки на них. До сих пор так и нету такого механизма.

Угу, в итоге насколько мне известно - изъять диск из ZFSного пула весьма проблематично (я знаю аж 1 метод - раздестроить и пересоздать пул, что как-бы геморройно).

>C этим тоже разобрались - в обоих случаях структуры данных ФС могут
>находиться где угодно, включая блоки ZIL и Log Tree. Исключением являются
>только корневые блоки, находящиеся в определенных местах.

Ну, если формально - да, конечно. А если реально - btrfs по факту гибче, вы даже сами это признали вроде.

>код для его исполнения нужен ровно один раз, однако писать и
>отлаживать его тем не менее нужно,

Да, только по идее код не такой уж и сложный и достаточно полезный.

>так как первое впечатление можно произвести только один раз.

Ну как бы это сказать? Администраторы обычно рулят более чем одним сервером и потому - чем проще переход, тем меньше у них геморроя.

>Является ли отсутствие подобного фокуса "черт знает чем" - думаю нет.

Ну, в общем то - можно конечно и без фичи обойтись, НО жизню админам она упрощает.  И вообще чем проще миграция, тем больше тех кто заморочится ей.

>не в принципе) удалять устройства из пула и конвертировать в UFS
>в ZFS. Ну так это ни для кого не секрет.

Плюс местами странный дизайн. ИМХО, btrfs очень не зря упирает на b-деревья. Хорошие структуры, достаточно быстрые и удачные.

>Безусловно, выбор базовых архитектурных решений оказывает существенное и долговременное
>влияние на развитие любого программного проекта. И естественно, переход, скажем,
>от блочной организации к экстентной вряд ли может быть простым и безболезненным.

Ессно - просто угробится совместимось в ноль и потребуется полная конверсия ФС. Что мягко говоря нетривиально. А методом "разбомбить и заново отстроить" как-бы может и задолбать пользоваться...

>Но четкое разделение механизмов и политик позволяет менять последние
>как будет угодно, меняя и адаптируя поведение системы.

Не более чем позволят дисковые структуры и архитектура.

>Да и с чего бы, скажите пожалуйста, может вдруг потребоваться все бросить
>и заняться переделкой блочной структуры в экстентную? Чем экстенты принципиально лучше
>блоков? Или вы о другом о чем-то?

Лично мне ФС основанные на экстентах симпатичнее чем ФС основанные на блоках. Хотя в задницу по производительности конечно можно загнать любую ФС, есть ощущение что ФС на экстентах как-то лучше сопротивляются этому.

>осталось, у меня даже не получилось найти ее следов в открытых
>исходниках, так что толком даже и не посмотришь, как оно когда-то было.

Хм, а может вы тогда покритиковали бы ее статью, раз уж хорошо разбираетесь? :)

>А чуть менее кардинальных изменений было на сегодня уже 25 - по
>количеству версий дискового формата. Некоторые из них затрагивали формат
>указателей блоков - начиная использовать поля, ранее зарезервирванные, а это хоть и не
>кардинальное, но весьма существенное изменение. Конвертации не требуется - вся процедура
>обновления версии заключается в изменении оной в соответствующем поле уберблока.

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

>Кто бы говорил. Мне интересен обмен мнениями, интересные вопросы,

Вот такая точка зрения мне нравится. Постараюсь быть поконструктивнее.

>которых состоит все, чего нет в линуксе, уже изрядно набили оскомину.

Да, в конечном итоге - постараюсь быть и пообъективнее.

>Так что предлагаю двигаться в сторону улучшения соотношения сигнал/шум.

Мне эта мысль нравится, буду стараться. Интересные обсуждения - лучше чем кидание какашками. Особенно с теми кто в вопросе явно разбирается :)

>Подсказываете... А разбираться с тем, что там натворил пользователь после этого как
>прикажете? Так конечно можно сделать, и есть аудитория, которая это непременно
>оценит :-)

Подсказываю еще раз :). Такая логика как ни странно, УЖЕ реализована в нокиевских n8x0 и n900. Когда юзер цепляет по юсб девайс - data сторажи девайса дисмаунтятся в его родной системе и маунтятся к компу. И все довольны и счастливы. И что характерно, все работает. Потому что реализовано с умом (одновременный доступ двух осей к одной фс - исключен).

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

Ну, нокия таким макаром экспортит сторажи девайса ("карты") на комп юзера. Отключая их от основной системы и отдавая их десктопу. Конечно с btrfs такое упрется в то что для виндов нет дров, но в целом - такий сценарий использования ФС существует, валиден и даже реализован в реальных устройствах которые можно повертеть в руках. Если совместимось с оффтопиком пофиг - можно и FAT заменить на иную фс ведь.

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

Никто и не говорит что обязательно, однако я пример пример реально существующего в жизни подхода "предсказанного" вами.

>Иначе зачем бы люди всякие NAS'ы придумывали.

Ну как бы это уже другой калибр решений. И там тоже есть разные подходы. Бывает и экспорт блочных устройств по сети, хоть это и на любителя.

>А от необходимости выколупывать данные гораздо лучше спасают регулярные бэкапы,

Да, но регулярный бэкап телефона или иной embeded или подобной сущности -

>чем гипотетическая возможность что-то выпаять, припаять где-нибудь еще и
>пробовать замонтировать

Да можно и без выпайки даже. Выпайка это совсем уж worst case - когда девайс полностью угробился (искупали например) а данные с него ну просто трындец как нужны и народ на все готов, лишь бы их оттуда достать. В этом случае ФС которой нет на десктопных осях - как нож в спину будет. Ну достали вы эту ФС, а дальше - что? :)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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