Кластер ZDS и состояния компонентов

Общая информация

Кластер ZDS состоит из нескольких узлов, которые совместно обрабатывают запросы, хранят данные и обмениваются служебной информацией. В режиме Erasure coding (EC) один и тот же файл представлен набором частей, расположенных на разных дисках и узлах.

Поэтому состояние кластера определяется не только общим статусом узлов, но и состоянием отдельных дисков, групп хранения и вольюмов.

Общая схема работы кластера в режиме EC:

image

Состояния узла

Узел может находиться в одном из следующих состояний.

СостояниеЧто означаетЧто происходит
NOT_CONNECTEDУзел ещё не синхронизирован с кластером или недоступен для других узловВозможны ограничения на межузловое взаимодействие
UNSYNCУзел виден кластеру, но его локальное состояние ещё не приведено к согласованному видуВыполняется синхронизация данных и служебной информации
REPAIRУзел находится в процессе восстановленияВосстанавливаются отсутствующие данные и локальное состояние
RUNNINGУзел работает штатноЗапросы и фоновые процессы выполняются в обычном режиме

Когда меняется состояние узла

Изменение состояния возможно в нескольких типовых ситуациях:

  • при старте узла;
  • при подключении к уже работающему кластеру;
  • при рассинхронизации;
  • при восстановлении после потери данных или временной недоступности ресурсов.

Состояния диска

Состояние диска напрямую влияет на то, можно ли использовать его для чтения, записи или восстановления.

СостояниеЧто означаетПрактический эффект
UNKNOWNИнициализация не завершена или нет актуальных данных о состоянииДиск не должен рассматриваться как надёжно доступный
RUNNINGДиск доступен для обычной работыВозможны чтение и запись
FULLНедостаточно свободного места или inodeЧтение возможно, запись может быть ограничена
REPAIRВыполняется восстановление данных на дискеЧасть операций может быть ограничена на время восстановления
ERRORОшибка доступа или проверки состоянияЧтение и запись недоступны

Схема переходов локального диска между состояниями:

image

Состояния группы хранения

Группа хранения объединяет диски и используется для размещения частей файлов. Её состояние рассчитывается на основе состояния входящих в неё дисков.

СостояниеЧто означаетПрактический эффект
RUNNINGВ группе достаточно доступных дисков для штатной работыГруппа участвует в чтении и записи
FULLЧасть дисков заполненаВозможны ограничения на новые записи
REPAIRОдин или несколько дисков находятся в восстановленииГруппа продолжает работать, но часть операций может выполняться в ограниченном режиме
ERRORДоступных дисков недостаточно для работы по текущей схеме храненияЗапись невозможна, чтение зависит от доступности конкретных частей

Если одновременно присутствуют признаки FULL и REPAIR, приоритет обычно имеет статус REPAIR, потому что в этот момент для системы важнее процесс восстановления.

Состояния вольюма

Вольюм отражает жизненный цикл логической единицы хранения.

СостояниеЧто означаетЧто происходит
NEWПолучен запрос на создание вольюмаОбъект создан логически, но ещё не подготовлен к работе
CREATINGВыполняется создание локальной структуры вольюмаИдёт инициализация служебных данных
RUNNINGВольюм доступен для штатной работыМожно выполнять операции с данными
MIGRATION_IN_PROGRESSВыполняется миграция вольюмаДанные и структура могут переноситься в новый контекст
MIGRATION_DONEМиграция завершенаВольюм переведён в следующее состояние эксплуатации
DESTROYINGЗапущен процесс удаленияИдёт асинхронное удаление данных и служебной информации
DESTROYEDУдаление завершеноВольюм больше не участвует в работе

Схема переходов вольюма между состояниями:

image

Что считается штатной работой кластера

Кластер можно считать работоспособным в штатном режиме, если:

  • узлы находятся в состоянии RUNNING;
  • диски, необходимые для работы, не находятся в ERROR;
  • группы хранения доступны для размещения и чтения частей;
  • вольюмы, с которыми выполняются операции, находятся в состоянии RUNNING.

Типовые ситуации и их интерпретация

СитуацияЧто означаетЧто проверить или сделать
Узел находится в NOT_CONNECTEDУзел ещё не подключился к другим узлам кластера или недоступен для нихПроверить сетевую доступность узла, корректность списка узлов в конфигурации, настройки внутренних адресов и портов, а также ошибки при запуске сервиса
Узел находится в UNSYNCСинхронизация ещё не завершена, локальное состояние узла не приведено к согласованному видуУбедиться, что это не кратковременное состояние после старта, и проверить журнал операций, связность сети и доступность других узлов
Узел или диск находятся в REPAIRВыполняется восстановление данных или локального состоянияОценить, хватает ли доступных частей для чтения файлов, не перешли ли связанные группы хранения в ERROR, и уменьшается ли число проблемных компонентов после завершения фоновых задач
Группа хранения находится в ERRORДля текущей схемы хранения недостаточно доступных дисковСчитать ситуацию критичной для записи, проверить состояние входящих дисков и оценить, требуется ли восстановление или расширение ресурсов
Диск находится в FULLНедостаточно свободного места или inode для штатной записиПроверить остаток свободного пространства, количество inode, необходимость перераспределения нагрузки или расширения кластера, а также работу вакуума

Связанные статьи

За принципами размещения данных обращайтесь к статье Как ZDS хранит данные.

За настройкой узлов и фоновых процессов обращайтесь к статье Конфигурация ZDS.