Какую процедуру должен выполнить системный администратор при работе с отказом одного диска? например, останавливает ли TServer на мгновение, меняет диск и перезапускает его, автоматически копирует планшеты этого диска с других TServer?
Да, работает следующая процедура, YugabyteDB распознает, что данные отсутствуют, и восстановит данные:
- Остановите серверы
- Замените диски
- Перезагрузите серверы
Вы можете попробовать это в среде, похожей на песочницу, на ваш ноутбук использует yb-ctl
, если вы хотите понять это поведение. Настройка / процедура такие же, как в этом отказоустойчивом эксперименте . Вместо удаления узлов, просто stop
узел, удалите один или несколько «дисков» (которые на самом деле являются просто каталогами) и start
узел назад. Я считаю, что по умолчанию создано два диска.
Вот руководство для yb-ctl
.
PS: Если вы делаете это упражнение, пожалуйста, рассмотрите возможность участия в раздел отказоустойчивости на документах , будем рады помочь вам, если вам будет интересно.
Автоматически ли TServer обнаруживает сбой диска и распространяет данные на нем? диск на другие диски, если неисправный диск не был заменен в течение установленного периода времени?
Да, это делается автоматически, если на узлах достаточно для репликации данных. Например:
- В установке с одной зоной с коэффициентом репликации 3: , если вы начали с 4 или более узлов, после одного отказа останется как минимум три узла , В этом случае повторная репликация запускается автоматически, если сервер не работает в течение 10 минут.
- В многозонной установке с коэффициентом репликации 3: YugabyteDB попытается сохранить одну копию данных на зону. В этом случае для автоматической повторной репликации данных c в зоне должно быть как минимум два сервера, чтобы в случае сбоя одного из них ее данные можно было повторно реплицировать на другой. Таким образом, это будет означать как минимум кластер из 6 узлов.