The OpenNET Project / Index page

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



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

Оглавление

В ветку ядра Linux-next добавлена реализация ФС Bcachefs, opennews (??), 20-Сен-23, (0) [смотреть все]

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


2. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  –1 +/
Сообщение от Аноним (2), 20-Сен-23, 08:36 
Уровень XFS недостижим
Ответить | Правка | Наверх | Cообщить модератору

56. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от Аноним (53), 20-Сен-23, 14:01 
Было бы чего достигать. Отрицательного ресайза нет, аккуратного использования дискового пространства для мелких файлов нет.
Ответить | Правка | Наверх | Cообщить модератору

84. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от Менеджер Антона Алексеевича (?), 20-Сен-23, 17:04 
Как только напишешь непротиворечивый алгоритм «отрицательного ресайза» — пиши в lkml, там найдётся кому накодить.
Ответить | Правка | Наверх | Cообщить модератору

92. Скрыто модератором  +/
Сообщение от Аноним (-), 20-Сен-23, 19:06 
Ответить | Правка | Наверх | Cообщить модератору

113. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +1 +/
Сообщение от Аноним (-), 20-Сен-23, 23:46 
> Как только напишешь непротиворечивый алгоритм «отрицательного ресайза» —
> пиши в lkml, там найдётся кому накодить.

В btrfs накодили - сделали backrefs которые указывают кому блок принадлежит.

При нужде убавить размер ФС,
1) идем в хвост фс
2) смотрим по backref чей это блок,
3) двигаем его,
4) апдейтим метаданные,
5) goto 1 если еще больше надо расчистить.

Чего тут вообще противоречивого? Это прекрасно работает, и для 1 девайса, и для эн, в том смысле что можно и конкретный девайс из многодевайсной файлухи так вынуть.

Маленький catch только в том что это структурами файлухи должно быть подперто для эффективной реализации. А в легаси-дизайне из прошлого века о таком никто вообще совсем не парился. А потом прикнутить на проволоку такое - если совсем не думать о такой фиче при кодинге остального - ну, сами понимаете. А без этого всего - изъятие места сделать при сильном желании можно, но инверсный лукап кому блок принадлежит может оказаться медленным и печальным, если такого индекса сразу не было. В принципе такой инжекс можно отстроить и опосля если сильно захотеть, и даже "сбоку" - но дизайн должен допускать такую мысль и предполагать гибкую аллокацию, когда экстент можно малой кровью подвинуть в логическом размещении и НЕМНОГО отапдейтить метаданные. Если много - скорость всего этого пробьет пол. Подземного этажа. Глубокого бункера. И юзер может не дожить до окончания операции на более-менее крупном хранилище.

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

196. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от Менеджер Антона Алексеевича (?), 21-Сен-23, 17:24 
> Маленький catch

И не один! Дьявол в деталях. Как это всё по-твоему должно работать когда на ФС активно пишутся данные? Где и как хранить обратный индекс? Как обрабатывать ситуации аварийного завершения работы ядра? Что делать, если место на носителе кончилось посреди операции? Каково должно быть поведение резервирования свободного места? Про главный вопрос — производительность всего этого — ты сам написал. Действительно, можно и не дождаться окончания работы на забитой и фрагментированной ФС размером в 20Тб. Получается, что отрицательный онлайн-ресайз не такая уж и простая задача. А для оффлайна нет нужды морочиться: перенос данных на другой носитель будет быстрее.

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

203. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +1 +/
Сообщение от Аноним (-), 21-Сен-23, 18:40 
> И не один! Дьявол в деталях. Как это всё по-твоему должно работать
> когда на ФС активно пишутся данные?

Элементарно, Ватсон:
1) Избегаем записей в регион интереса.
2) Расчищаем его в фоне.

Разумеется, возможен сценарий когда на маневр места не хватит. Если фс забита, удвинуть может быть некуда. Ну тут ой, "сотрите некоторые файлы и попробуйте еще раз". Нельзя ресайзнуть меньше чем реально занятое место. И желательно какой-то разумный резерв места после завершения операции + маневровый резерв. А так я это в btrfs проферял, работает.

> Где и как хранить обратный индекс?

Btrfs на это дерево завел, насколько я помню. Но вообще где угодно можно. Даже нигде - и отстроить с ноля в момент когда приперло, но тогда ценой концентрированной ломовой нагрузки в момент когда вон то приспичило - придется все forward indices обойти и отстроить реверс, а вон то в фоне при нормальной работе его отстроило. Это тоже не бесплатно и чуть замедлило операции. Но зато ускорило менеждмент. Как менеджер вы должны понимать "tradeoff".

> Как обрабатывать ситуации аварийного завершения работы ядра?

Это CoW. Записи недеструктивны. Сначала создается КОПИЯ экстента. Если будет крах, окей, этого никогда не было. Машина времени вернется в чуть более старое состояние. Можно попробовать еще раз. Если скопировать вышло, на передвинутый экстент будут переназначенй указатели в метаданных. В этот момент новое состояние зафиксировано, после чего можно деаллоцировать расчищаемый экстент в старом месте.

У этой механики не так уж много мест для развала. Благодать cow в бесплатном по ресурсам эквиваленте полного журнала и простом крашрекавери :). Это кроме всего позволяет и передвинуть что-то относительно легко и безопасно. Расчистка конкретного девайса для ремува ничем принципиально не отличается. И даже конверсия в другую схему - примерно так же, проход по блочным группам с разбираемой схемой, а копии экстентов идут в другие BG с новой схемой.

> Что делать, если место на носителе кончилось посреди операции?

Сообщить -ENOSPC юзеру и вернуть неуспех операции ресайза. Ведь регион интереса расчистить не удалось и нельзя урезать логический размер. Пусть сотрет какое-то файло и попробует еще раз.

> Каково должно быть поведение резервирования свободного места?

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

> Про главный вопрос — производительность всего этого — ты сам написал.

В случае btrfs это может быть довольно легкой, быстрой и ненапряжной операцией, потому что индекс как раз уже сразу есть, и можно просто взять и просто удвинуть что угодно из любого региона интереса. Если это хвост чтобы сократить размер ФС - ну окей. Или конкретный девайс, вот, вынуть. Просто удвинув с него то что реально аллоцировано. И если на 4Тб диске реально юзалось 20 гигз, удвинуто будут 20 гигз. Разумеется на других девайсах должно быть место для того чтобы их туда переопределить в нужной схеме.

> Действительно, можно и не дождаться окончания работы на забитой
> и фрагментированной ФС размером в 20Тб.

Если кто забил cow на 20 тб до отказа - хотя мог просто диск подоткнуть, без заморочек - ну и кто ему доктор? Еще более странно что он это вниз ресайзить хочет при этом. Дурацким желаниям дурацкие свойства при реализации. Если вы хотите варпдрайв в атмосфере, бортовому компу пофиг, просят - сделает. Что будет дальше - не его проблемы.

> Получается, что отрицательный онлайн-ресайз не
> такая уж и простая задача. А для оффлайна нет нужды морочиться:
> перенос данных на другой носитель будет быстрее.

Это уже реализовано как минимум в btrfs. Что ресайз ФС по размеру вниз, что вынуть конкретный девайс из пула. Если на это все место есть - прекрасно работает. Так что сложно. Было. Кому-то. А нам вот тут в звездолете кнопочку нажать - и варпдрайв нас переместит в назначение.

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

228. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от Менеджер Антона Алексеевича (?), 22-Сен-23, 00:57 
Так BTRFS и ZFS уже есть, туда кодить не надо, там всё уже работает. Если ты посмотришь с чего ветка началась, увидишь, что накодить это нужно для XFS.
Ответить | Правка | Наверх | Cообщить модератору

236. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от пох. (?), 22-Сен-23, 08:54 
> Так BTRFS и ZFS уже есть, туда кодить не надо, там всё уже работает.

лолшта? zfs научилась уменьшать размер пула? А пацаны-то и не знают...

Все что она кое-как научилась делать - это выкинуть из пула целиком vdev, но... только не raid. Т.е. феерично бесполезная фича.

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

247. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от Менеджер Антона Алексеевича (?), 22-Сен-23, 17:04 
> выкинуть из пула целиком vdev, но... только не raid

Выкидывание устройства из рейда действительно феерично бесполезная фича. У меня не хватает фантазии представить себе реальный кейс, где это могло бы понадобиться вне локалхоста.

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

250. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от Аноним (-), 22-Сен-23, 17:32 
> Выкидывание устройства из рейда действительно феерично бесполезная фича. У меня не хватает
> фантазии представить себе реальный кейс, где это могло бы понадобиться вне
> локалхоста.

Мне вот это было полезно для примерно такого:

Датарекавери с большого диска. Можно временно у кого-то занять пару дисков или выкроить в общем то нужные диски откуда-то еще с своих мощностей. Собрать хранилку с резервом места чтобы было где развернуться, на нее восстановить все. Починить, вынуть данные (рефлинки позволят скостить требования к хранилке в пару раз, не создавая рисков). А потом - если я не профессиональный датарек, ну и зачем мне потом такая дылда? Вынуть из нее половину дисков, вернуть где было, остальное под какие-то другие цели юзануть.

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

Хорошо когда имеюищмися ассетами можно маневрировать по своему усмотрению, без прибивания на гвозди. А RAID без этого всего и с канителью по выравниванию и проч, извините, таки уже легаси когда делом показано что можно и получше чем вот это вот.

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

252. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от Менеджер Антона Алексеевича (?), 22-Сен-23, 18:17 
> это не энтерпрайзный кейс

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

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

254. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от пох. (?), 22-Сен-23, 19:36 
>> это не энтерпрайзный кейс
> Именно. И поскольку Линукс пишется корпорациями для своих корпоративных нужд

нормальные люди уходят в винду, которую корпорация пишет - для людей. Именно так. (чуток поправил, не благодари)

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

угу, на нас деньги ж из воздуха падают.

А вот купить пяток лицензий чтоб собрать S2D - в принципе, почти любой может себе позволить (если уж у него хватило на железо под это все).
И оно будет работать как надо мне, а не как у этих рабов корпораций на от...сь.

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

259. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от Аноним (-), 23-Сен-23, 00:37 
> нормальные люди уходят в винду, которую корпорация пишет - для людей. Именно
> так. (чуток поправил, не благодари)

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

> угу, на нас деньги ж из воздуха падают.

Надо же, даже пох догдывается :)

> И оно будет работать как надо мне, а не как у этих
> рабов корпораций на от...сь.

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

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

258. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от Аноним (-), 23-Сен-23, 00:33 
> Именно. И поскольку Линукс пишется корпорациями для своих корпоративных нужд, локалхостные
> кейсы всерьёз не рассматриваются.

Ну как бы я с своими кейсами довольно неплохо вписываюсь в это все. Например, пачка одноплатников не группа серверов. Но не так уж и далеко от них...
1) Там тоже некому жать эникей, отвечать на вопросы fsck, "чинить систему", вот это все.
2) Я тоже не хочу деплоить новый юнит по часу!
3) Я тоже не хочу носиться в мыле все это постоянно чинить. Даже больше чем они.
4) Особенно уделяя персональное внимание по часу каждому десятибаксовому тазику.
5) Откат снапшота за мизер времени - не хучший вариант "reset to factory defaults". Корпы тоже к этому пришли, просто чуть попозже и чуть дольше.

А между нами - я и на десктопе в общем то совершенно не хочу тр@хаться полдня с системной рутиной, починкой, реконфигурацией и проч - вместо того чтобы например в каде порисовать, опробовав клевую идею. Представляете?! Корпы - рациональные штуки. Побывав в корпах из фортуны 500 я решил что определенный пойнт в их decision making есть. И вполне себе пользуюсь их парадигмами, хоть и под моим соусом. Почему нет? Это работает.

А как лайфхак, де факто опенсорсники часто фанаты того что делают и - таки - за хорошую работу софта который они делают. Даже если это немного и выезжает за кейсы их нанимателя. Ну да, бухать ломовые ресурсы в какой-то бесполезняк типа reiserfs "потому что васян им пользуется" никто конечно не будет. Пусть васян и майнтайнит если ему оно надо и он понимает зачем такие мучения с этой штукой.

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

Ну вот нет. Это у вас может быть данные ничего не стоят. А если у меня допустим проект факапнется - я пролечу на деньги. Я в линухе все мои воркфлоу ворочаю, от и до. А если одноплатник у клиента факапнется, это и для репутации вредно. Никто не любит системы которые создают проблемы. И никто не вспомнит 5 лет успешной работы толпы железок - зато вспомнят если что-то сдохло и создало неудобства или поставило на деньги. Это не очень справедливо, но мир работает так. И похобразные оправдания на тему почему лажа - никому не интересны на самом деле. Это только унылые совкообразные конторы с таким же менеджментом могут схарчить, и то 50/50.

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

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

253. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от пох. (?), 22-Сен-23, 19:30 
> Выкидывание устройства из рейда

там нельзя выкинуть даже целиком вдев с рейдом. заколдованные оне.

>  У меня не хватает фантазии представить себе реальный кейс, где это могло бы понадобиться вне локалхоста.

большие стораджи на коленке - всегда в некотором роде локалхост. Собрал ты какое-нибудь 8+2 и тут до тебя доходит что столько не понадобится. Можно продолжать греть воздух, а можно найти парочке дисков применение получше.
Или просто собрал ты 6+1, для чего-то не очень важного но нужного под рукой, оно пожужжало пару лет, пара дисков сдохла и была заменена - а в продаже таких мелких уже и нет. И вот у тебя пропадает десяток терабайт.

Здорово если у тебя рядом есть вторая такая же хреновина и можно просто zfs send (и пусть весь мир подождет), но немного обидно.

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

260. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от Аноним (260), 23-Сен-23, 00:41 
> большие стораджи на коленке - всегда в некотором роде локалхост. Собрал ты
> какое-нибудь 8+2 и тут до тебя доходит что столько не понадобится.
> Можно продолжать греть воздух, а можно найти парочке дисков применение получше.

Ну, кроме локалхоста есть и смежные применения. Кастомдев там всякий и проч, когда ну вот реально что-то разовое для кого-то. И ничего зазорного в этом нет, отделы кастомдев есть даже у корпов из фортуны 500. Оптимальный корп - это тот который набрав обороты не утратил хватку.

> Здорово если у тебя рядом есть вторая такая же хреновина и можно
> просто zfs send (и пусть весь мир подождет), но немного обидно.

Ну вот IBM видимо тоже так было. Они и озадачили Мэйсона. И таки показали что если сильно захотеть, можно и так. И много как еще. Планка взята, теперь нельзя сказать что так невозможно. И новые дизайны будут неизбежно ориентироваться на то что так можно и - очень желательно даже.

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

249. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от Аноним (-), 22-Сен-23, 17:25 
> Так BTRFS и ZFS уже есть, туда кодить не надо, там всё
> уже работает. Если ты посмотришь с чего ветка началась, увидишь, что
> накодить это нужно для XFS.

Вы спросили какой _алгоритм_ этого действа. Я и обрисовал вполне валидный и работающий курс действий, в первом приближении описывающий то что btrfs делает.

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

В любом случае с этажерками типа LVM и проч это все равно не ведет к простому и ненапряжному изъятию например девайса 1 простой командой за минимальное время, так что пойнт всей этой камасутры лично мне не очевиден. Господа истошно пытаются опилить доставшийся от деда из SGI жигуль^W старый форд до аэроплана, потому что форда не хочется, хочется - аэроплан, как у соседей! Но кроме этого ничего не было. И вот упираются господа. Учитывая сложность задачи и нехватку ресурсов, сдобренную тем что для кодеров такая задача эпичной совсем не выглядит, так что идея присоединиться к такой команде с такими задачами выглядит тухловато, типа работы заведомо в мусорный бак - ну, сами понимаете. А пусть вон гражданин пох как фанат энтерпрайза и кЮшает что получилось у редхатокреативщиков с их XFS, лол. Ему как фану лютого энтерпрайза - полезно.

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

99. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +1 +/
Сообщение от Аноним (99), 20-Сен-23, 20:50 
Это какой-такой уровень? Разрешать каждой программе пихать свои васяноатрибуты на твои файлы?
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

175. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от Аноним (175), 21-Сен-23, 14:44 
Поддержка атрибутов - необходимое требование для UNIX FS. И по умолчанию, без задания необходимых опций проги на твои, васянские файлы, атрибуты не накладывают.
Ответить | Правка | Наверх | Cообщить модератору

110. "В ветку ядра Linux-next добавлена реализация ФС Bcachefs"  +/
Сообщение от Аноним (-), 20-Сен-23, 23:30 
> Уровень XFS недостижим

Майнтайнер оного тоже так подумал - и съ...ся восвояси от греха подальше, когда за syzbot-ом устал баги в индусском коде своих раджей разруливать, весьма колоритно высказав что он думает про это все - и объяснив что в всяком легаси типа v4 чинить это вообще не бу! Просто дропнем - и порядок.

В принципе имеет пойнт - под такие уровни стандартов качества ТОТ код того XFS и правда не делался. И не, кент врядли ЭТОТ уровень догонит, он не настолько энтерпрайзный :)))

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

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

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




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

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