The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В Reiser5 анонсирована поддержка Burst Buffers (Data Tiering), opennews (??), 26-Май-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


108. "В Reiser5 анонсирована поддержка Burst Buffers (Data Tiering..."  –1 +/
Сообщение от Аноним (-), 27-Май-20, 09:19 
> я знаю, у всех подобных систем есть проблемы с балансировкой, распуханием,
> и саморазрушением.

А у ext4 есть просто пофигизм в отношении к данным. Ему плевать что с ними случится. Если винч отгрузит какую-то труху или RAM дурит, или что еще - вы это узнаете только когда файлы почему-то превратятся в тыкву, если не вся ФС. А то вон у юзерей с ntfs все выглядело ЗБС. До момента когда он перестал монтироваться и scandisk не смог его починить, так что те ощутили себя почти клиентами namesys'а. Ну правда бабки за приседания срубил я а не namesys. А как вам идея если бы MS за бабки предложил сделать это самое? :)

Ответить | Правка | Наверх | Cообщить модератору

124. "В Reiser5 анонсирована поддержка Burst Buffers (Data Tiering..."  +/
Сообщение от Аноним (7), 27-Май-20, 10:52 
> А у ext4 есть просто пофигизм в отношении к данным. Ему плевать
> что с ними случится. Если винч отгрузит какую-то труху или RAM
> дурит, или что еще - вы это узнаете только когда файлы
> почему-то превратятся в тыкву, если не вся ФС.

Это в любой фс так (ну во всяком случае в btrfs не лучше, хотя там всё подписано, а не только метаданные).

Ответить | Правка | Наверх | Cообщить модератору

144. "В Reiser5 анонсирована поддержка Burst Buffers (Data Tiering..."  +/
Сообщение от Аноним (-), 27-Май-20, 14:45 
> Это в любой фс так

Это сильно не соответствует действительности. Я проверял. Ext4 вообще для начала большинство народа без полного журнала юзает - и при этом консистентность данных вообще не гарантируется. Потому что писать все данные сперва в журнал, потом в ФС дабы иметь возможность завершить или откатить транзакцию - убивает скорость записи минимум вдвое. А вот CoW этим не страдает - в первом приближении можно рассматривать CoW как "один сплощной журнал" для понимания в чем прикол. Правда этот наглый алгоритмический чит воздается странными свойствами и специфичным набором технических "особенностей", скажем так.

> (ну во всяком случае в btrfs не лучше,

Таки лучше. С схемой DUP выживает на карте где ext4 быстро превращается в тыкву. Ну да, емкости половина и чинит CSUM ERROR иногда. Но теорвер забавная штука - если его в свою сторону развернуть. Шанс что бэды попадут под обе копии блоков, одинаково - весьма маргинальный.

> хотя там всё подписано, а не только метаданные).

И таки если есть откуда чинить - он таки при ошибке чексум и чинит. А ext4 в этом плане пофигистичен, он даже с RAID не поймет какая из копий блока верная, например. Поэтому и исправить не сможет при всем желании. А таки self heal у файлухи это довольно прикольно и в результате ФС может выдержать немало странных мытарств.

Ответить | Правка | Наверх | Cообщить модератору

150. "В Reiser5 анонсирована поддержка Burst Buffers (Data Tiering..."  +/
Сообщение от Аноним (7), 27-Май-20, 15:27 
А если неоткуда, btrfs рассыпается и теряет все данные, даже если там один бит флипнут. Никакого доверия ей быть не может, она делает что хочет сама. Ext4 не в пример более устойчивая, при повреждениях теряется только часть повреждённого файла. У тебя кстати тоже не совсем правда, в ext4 есть инлайнинг, и данные могут хранится прямо в журнале (бонусом повышение производительности). Вроде тот парниша проверял тогда, что с случится при повреждении журнала в такой ситуации, и btrfs рассыпалась самой первой (без возможности восстановления вовсе). Reiserfs (3) второй, и ext4 оказалась самой устойчивой к повреждениям. Ей вообще пофиг, что там записано что-то другое. Судя по этому, видимо чексумминг не был включен. Неконсистентность в ext4 подразумевает что вместо новой копии файла, fsck найдёт только старую. Без fsck будет просто куча мусора и "потерянных" блоков (с диска они никуда не денутся, и в случае рекавери они будут на месте). Если fsck после повреждения не прогнать, на выбор или нарастание урона, либо блоки будут помечены "грязными" и с ними ничего не случится. Но зависимые блоки изменятся со временем.

Пс. рейд никакого отношения к ext4 не имеет, это разные уровни. В zfs и btrfs просто впихнули всё в кучу.

Ответить | Правка | Наверх | Cообщить модератору

155. "В Reiser5 анонсирована поддержка Burst Buffers (Data Tiering..."  +/
Сообщение от Аноним (-), 27-Май-20, 16:15 
> А если неоткуда,

...то чего вы ожидали? Однако даже на единичном механическом диске оно кладет metadata с схемой хранения DUP по дефолту. Разок спасло меня от случайного бэда на лаптопном винче, попавшего по счастью в метаданные. А в случае EXT4 если бэд под метаданные попадет...

> btrfs рассыпается и теряет все данные, даже если там один бит флипнут.

Скорее EXT4 так делает. Не имеет механизмов обнаружения таких проблем, не говоря о парировании. Так что если btrfs в такой ситуации имеет шансы, особенно если к этому заранее подготовиться (=DUP для данных и метаданных), то ext4 становится тыквой. И я имел очень так себе прецедент на ремотной железке в автопилоте. Не понравилось. Выводы были сделаны.

И нет, если что - даже fsck не поможет если стораж реально подвел и libc6 не читается. При этом система тупо не взлетит. А с btrfs оно таки вытаскивает там и тут из второй копии, show goes on. И в целом это куда как более diehard может быть. Таки заменить EXT4 на btrfs с схемой DUP сильно подняло надежность забавного выводка железок (ARMовские одноплатники). И early warning о сыпучем носителе (или проблемном железе) задолго до того как это вообще создаст видимые проблемы - таки тоже хорошо.

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

Она буркнет "CSUM ERROR" в лог ядра и вытащит блок из второй копии. Не забыв перезаписать проблемный - "self heal". Клево, кстати, работает, очень помогая беспилотным системам которым никто не может уделить внимание здесь и сейчас. Удачи так с EXT4. А фанатизм это круто, но только не когда ты подрываешься чинить железку, в свое время и за свой счет.

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

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

> У тебя кстати тоже не совсем правда,

В смысле?

> в ext4 есть инлайнинг, и данные могут хранится прямо в
> журнале (бонусом повышение производительности).

Вообще-то inline это не про журнал, а про хранение прямо в метаданных ФС, если файл мелкий. Позволяет не делать лишнее обращение из региона метаданных в регион с данными, ускоряя работу с мелкими файлами и до некоторой степени уменьшая slack. Так умеет и btrfs и ext4 по состоянию на сейчас.

> Вроде тот парниша проверял тогда, что с случится при повреждении журнала в такой ситуации,

У btrfs понятие журналирования ... нечто специфичное. Это CoW и в целом там все здорово иначе.

> и btrfs рассыпалась самой первой (без возможности восстановления вовсе).

У нее есть на самый крайний случай offline вычитывалка без монтирования, парсер прямо в тулсе "btrfs". Так что там можно довольно круто потрепыхаться даже в совсем тухлых случаях. На манер коммерческих тулсов для вычитывания ntfs, только сразу частью тулкита ФС. И нет, для ext4 такой штуки нет. Во всяком случае в штатных тулсах. Правда там fsck неплохо справляется. Но только до известных пределов.

> Reiserfs (3) второй, и ext4 оказалась самой устойчивой к повреждениям.
> Ей вообще пофиг, что там записано что-то другое.

Угу, только когда libc6 не прочелся с системного стоража - системе малость не пофигу, она работать не может при этом :)

> Судя по этому, видимо чексумминг не был включен. Неконсистентность
> в ext4 подразумевает что вместо новой копии файла, fsck найдёт только старую.

Поскольку обычно EXT4 юзают с журналом только метаданных, ничему не противоречит получить полуперезаписанный файл состоящий из нового начала и старого хвоста. По метаданным это консистентно, однако то что программы смогут работать с таким файлом - ниоткуда не следует. В классическом дизайне для журналирования данных надо писать данные дважды, что тормозно. Весь пойнт CoW в том что он это обходит нахальным жульничеством - у него по сути только журнал и есть, а область с данными в которую коммитят - ее нет. Взамен возникает нужда в GC который будет подбирать старые блоки, иначе место таки закончится.

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

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

> Пс. рейд никакого отношения к ext4 не имеет, это разные уровни. В
> zfs и btrfs просто впихнули всё в кучу.

Btrfs вполне можно засунуть даже на единичную SD карточку с схемой DUP. Не то чтобы с EXT4 совсем нельзя сколхозить эквивалент, но RAID придется мануально создавать на паре разделов самому и чексум все равно не будет так что толку мало.

Ответить | Правка | Наверх | Cообщить модератору

159. "В Reiser5 анонсирована поддержка Burst Buffers (Data Tiering..."  +/
Сообщение от Аноним (7), 27-Май-20, 16:37 
Обычно цель всё же не живучесть и способность загрузиться на убитой флешке, достигаемая многократным дублированием, а возможность выцепить данные при повреждении. Чтобы часть файла оказалось старой и всё было перемешено, я с таким не сталкивался если честно, хотя использую data=writeback всегда. Такая вероятность имеется при повреждении метаданных из-за отключённых барьеров. Я думаю, каждый может убедится, создав файл с btrfs и записав в него данные, после чего внеся изменения в hex редакторе в один из файлов попытаться выцепить остальные. Ничего не получится, всё дерево рассыпается и ошмётки никак не собрать. Выглядит опасно и непредсказуемо.
Ответить | Правка | Наверх | Cообщить модератору

165. "В Reiser5 анонсирована поддержка Burst Buffers (Data Tiering..."  +/
Сообщение от Аноним (-), 27-Май-20, 18:24 
> Обычно цель всё же не живучесть и способность загрузиться на убитой флешке,

Как по мне - это вполне хорошая и правильная цель, экономящая немало нервных клеток. И вообще Early Warning задолго до факапа - это хорошо и правильно.

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

В этом плане EXT4 довольно неплох. Однако btrfs с его тулкитом офлайн вычитывания на мой вкус выглядит нормально.

> Чтобы часть файла оказалось старой и всё было перемешено, я с таким не сталкивался
> если честно, хотя использую data=writeback всегда.

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

> Такая вероятность имеется при повреждении метаданных из-за отключённых барьеров.

Метаданные могут повредиться и просто потому что стораж так решил. Чексумы как минимум сообщат нам об этом. Независимо от того решило ли фирмваре сообщить наверх IO ERROR или просто выдало наружу какую-то труху (бывает и так и сяк). И это довольно полезно. Потому что потуги парсить откровенную труху ни к чему хорошему не приводят.

> Я думаю, каждый может убедится, создав файл с btrfs и записав в него данные, после
> чего внеся изменения в hex редакторе в один из файлов попытаться выцепить остальные.

Я нечто такое пробовал, для inline файла. Ничего ужасного. Для активного файла вопит про CSUM ERROR, для стертого варианта вообще до балды (GC при подгребании видимо уже не парится такими мелочами).

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

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

Кстати самый крутой "real world" дестрой btrfs который я встречал - флеха тупо повисла при записи. Видимо на уровне контроллера. При передергивании она ... профакала 2 из 3 суперблоков btrfs. Однако сие довольно просто чинится и таки 3-я копия выжила. Я думаю что контроллер потерял запись eraseblock-а, встряв в середине операции. Это типично несколько мегов профаканых данных. Хотя может и хуже оказаться - если оно таблицы трансляции апдейтило, карта/флеха рассыпется в адский паззл.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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