The OpenNET Project / Index page

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



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

Оглавление

Выпуск распределённого отказоустойчивого хранилища LeoFS 1.4.0, opennews (??), 29-Мрт-18, (0) [смотреть все]

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


26. "Выпуск распределённого отказоустойчивого хранилища LeoFS 1.4..."  +/
Сообщение от Аноним (-), 30-Мрт-18, 13:00 
> мастер-нода теперь не знает, где у нее какие файлы лежат.

Хмммм... Как-то это странно. Такое может быть в какой-нибудь пре-альфа версии, но чтобы японцы выкатили такое в продакшон - не могу в это поверить.  

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

39. "Выпуск распределённого отказоустойчивого хранилища 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ообщить модератору

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

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




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

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