[uanog] distributed FS
Alexander V Soroka
alex at euro.net.ua
Mon Nov 15 19:05:40 EET 2021
Привет !
нуууу.....
Если все на файловую систему перекладывать то некомильфо это.
Если вопрос обработки многих-многих данных, причем в состоянии "много
пользователей пишут что-то одновременно", то тут проблема сложнее чем
кажется.
Ситуация в том, что разные пользователи могут писать разные куски
данных, если данные иерархичны (дерево). И зачем меня шутдаунить если
я пишу свою формулу, которая никак не перекликается с формулой Васи,
который пишет свою формулу в совсем другом месте ?
Тут скорее надо думать в сторону общей мысли о том что "если у Васи
под ногами в FS что-то не то то я продолжаю работать, потому что я к
его области диска(памяти) не имею отношения".
По принципу HTML страницы, которая формируется для каждого и состоит
из кучи "частей" малых или побольше.
Как-то так ...
Это вообще-то из области "параллельных процессов на параллельных ядрах
ЦП"(параллельных потоках), тут можно очень красивые вещи делать, для
быстрой обработки огромного массива данных.
Но если все свести "вот он Самый Главный а все на него смотрят" то
получится Большой Тормоз, вместо "кластерного параллельного решения".
Monday, November 15, 2021, 6:24:10 PM, Volodymyr Litovka doka at funlab.cc you wrote:
VL> Я думаю, что такую ситуацию следует обходить именно шатдауном
VL> обслуживающего софта в случае выпадания ноды из кластера.
VL> Если речь идет о том proprietary софте, то я его просто
VL> пейсмейкером уложу на failed active node и сделаю новую active -
VL> перенесу Virtual IP и запущу сервисный инстанс.
VL> Полагаясь всё же на внутренние механизмы синхронизации файловой системы, когда всё наладится.
VL> И да - очевидно, что именно три ноды.
VL> On 15.11.2021 17:48, Vladimir Sharun wrote:
>> Во время отсутствия кворума нода по-правильному не работает вообще > (так например поступает Эластик), чтобы не допустить split brain - вот > такой conflict resolution. Read only в ситуации split brain приведет к > неверным принятиям решений. Ну например ты смотришь остаток на счету в > одной ноде и это Х, а в другой ноде там уже больше/меньше. Т.е. при > read only ситуация всё равно плохая.
>>
>> Я рассматривал подобное решение для банкинга (бабки, платежи) в > ситуации нескольких датацентров "в кластере", оказалось что файловые > системы мягко говоря не подходят.
>> Именно потому что аппликейшн не в курсе, что не может писать например > или, что еще хуже: прочитал, попытался записать, получил "рид онли", > взял паузу, ФС разблокировалась+просинхронизировалась, а ты сделал > запись в уже ДРУГОЙ файл (классический race).
>>
>> Вот такая вот защита от split brain она очень виртуальная. Софт должен > понимать что что-то может не работать и иметь механизмы conflict > resolution'а
>>
>> PS: совсем эдж кейс шарить таким образом файлы embedded database'ов > типа bdb/sqlite
>>
>> /15 листопада 2021, 17:04:00, від "Mykola Ulianytskyi" > <lystor at gmail.com <mailto:lystor at gmail.com>>: /
>>
>> > У тебя очевидная проблема будет при split brain, очевидная необходимость в conflict resolution. Файловая система не даёт таких возможностей.
>>
>> Даёт. С тремя нодами всё будет ок.
>>
>> Client quorum:
>> This is a feature implemented in Automatic File Replication (AFR here
>> on) module, to prevent split-brains in the I/O path for
>> replicate/distributed-replicate volumes.
>> By default, if the client-quorum is not met for a particular replica
>> subvol, it becomes read-only.
>>
>> https://docs.gluster.org/en/v3/Administrator%20Guide/Split%20brain%20and%20ways%20to%20deal%20with%20it/
>>
--
Best regards,
Alexander V Soroka http://www.svr.ua/
AS106-RIPE
mailto:alex at euro.net.ua
More information about the uanog
mailing list