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