Как Yugabyte обрабатывает сбой одного диска? - PullRequest
1 голос
/ 26 января 2020

Я хочу знать, как работает Yugabyte в случае сбоев одного диска. В частности:

  1. Какой процедуре должен следовать системный администратор при работе с отказом одного диска? например, останавливает ли TServer на мгновение, заменяет диск и перезагружает его, автоматически копирует планшеты этого диска с других TServer?

  2. Автоматически ли TServer обнаруживает сбой диска и распространяет данные на этом диске на другие диски, если отказавший диск не был заменен в течение установленного периода времени?

Спасибо.

1 Ответ

2 голосов
/ 27 января 2020

Какую процедуру должен выполнить системный администратор при работе с отказом одного диска? например, останавливает ли TServer на мгновение, меняет диск и перезапускает его, автоматически копирует планшеты этого диска с других TServer?

Да, работает следующая процедура, YugabyteDB распознает, что данные отсутствуют, и восстановит данные:

  • Остановите серверы
  • Замените диски
  • Перезагрузите серверы

Вы можете попробовать это в среде, похожей на песочницу, на ваш ноутбук использует yb-ctl, если вы хотите понять это поведение. Настройка / процедура такие же, как в этом отказоустойчивом эксперименте . Вместо удаления узлов, просто stop узел, удалите один или несколько «дисков» (которые на самом деле являются просто каталогами) и start узел назад. Я считаю, что по умолчанию создано два диска.

Вот руководство для yb-ctl.

PS: Если вы делаете это упражнение, пожалуйста, рассмотрите возможность участия в раздел отказоустойчивости на документах , будем рады помочь вам, если вам будет интересно.

Автоматически ли TServer обнаруживает сбой диска и распространяет данные на нем? диск на другие диски, если неисправный диск не был заменен в течение установленного периода времени?

Да, это делается автоматически, если на узлах достаточно для репликации данных. Например:

  • В установке с одной зоной с коэффициентом репликации 3: , если вы начали с 4 или более узлов, после одного отказа останется как минимум три узла , В этом случае повторная репликация запускается автоматически, если сервер не работает в течение 10 минут.
  • В многозонной установке с коэффициентом репликации 3: YugabyteDB попытается сохранить одну копию данных на зону. В этом случае для автоматической повторной репликации данных c в зоне должно быть как минимум два сервера, чтобы в случае сбоя одного из них ее данные можно было повторно реплицировать на другой. Таким образом, это будет означать как минимум кластер из 6 узлов.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...