The OpenNET Project / Index page

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



"Выпуск распределённого отказоустойчивого хранилища LeoFS 1.4.0"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Есть идеи по улучшению форума и сайта ? Пишите.
. "Выпуск распределённого отказоустойчивого хранилища LeoFS 1.4..." +/
Сообщение от Stax (ok), 30-Мрт-18, 13:34 
>> мастер-нода теперь не знает, где у нее какие файлы лежат.
> Хмммм... Как-то это странно. Такое может быть в какой-нибудь пре-альфа версии, но
> чтобы японцы выкатили такое в продакшон - не могу в это
> поверить.

Я вам секрет открою - в LeoFS *ВСЕ* узлы знают, где какие файлы лежат. Без каких-либо внеших запросов. Просто потому, что узел определяется функцией над именем файла, использующей хэш (RING). И "мастер-нода" требуется только для запуска узла и распространения новой версии RING при изменениях узлов, ну и статистику с узлов собирает - а в остальном в обработке данных никак не участвует. Текущий RING знают все узлы, при добавлении/убирании узлов он меняется и новая версия распространяется. После чего выполняется операция rebalance, во время которой объекты перемещаются между узлами для соответствия новому RING'у. Перемещения, по возможности, минимальные, т.к. это consistent hash. Все узлы всегда знают не только текущий, но и предыдущий RING, что позволяет до окончания операции корректно обслуживать чтение / запись.

Думаю, "мастер-нода теперь не знает, где у нее какие файлы лежат" надо понимать как - добавив новый узел, мы создали новый RING, но или еще не распространили его на другие узлы (тут надо смотреть, почему. В принципе, это неплохо логируется и показывется, где какая дата и версия RING, плюс есть ручные инструменты типа команды dump-ring - можно на всех узлах сдампить его в текстовые файлы и хоть вручную посмотреть), или еще не сделали rebalance. Но в любом случае, мастер-нода знает, где что лежит :) Просто команда whereis, показывающая "где что лежит" (по факту просто применяющая хэш к имени и спрашивающая статус этого объекта на полученных узлах) использует новый созданный RING, а не предыдущий, согласно которому данные еще могут лежать (до окончания rebalance). Это вообще мелочи и особо ничего не значит.

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

Оглавление
Выпуск распределённого отказоустойчивого хранилища LeoFS 1.4.0, opennews, 29-Мрт-18, 23:35  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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