DBAtlas · Атлас эксплуатации баз данных

Ручная отработка отказа через Sentinel и очистка топологии

RedisSentinel

Команда

# First check quorum and an eligible replica:
redis-cli -p 26379 SENTINEL CKQUORUM mymaster
redis-cli -p 26379 SENTINEL REPLICAS mymaster
# Manual failover without waiting for agreement from other sentinels:
redis-cli -p 26379 SENTINEL FAILOVER mymaster
# Verify the new master (must be the same on all sentinels):
redis-cli -p 26379 SENTINEL GET-MASTER-ADDR-BY-NAME mymaster
# If old/removed replicas remain listed, reset sentinels one at a time, 30 s apart:
redis-cli -p 26379 SENTINEL RESET mymaster

Что делает

Передаёт роль мастера наиболее подходящей реплике даже при здоровом мастере; затем проверяет новый мастер и удаляет из памяти sentinel уже не существующие реплики.

Когда использовать

Перед плановым обслуживанием хоста мастера, во время учений по отработке отказа или при переносе мастера в другой ЦОД.

Внимание

Во время отработки отказа запись прерывается на несколько секунд, и данные, записанные на мастер, но ещё не реплицированные, могут быть потеряны. Реплики с replica-priority 0 никогда не выбираются; если подходящей реплики нет, команда возвращает ошибку. Если SENTINEL RESET выполнить на всех sentinel одновременно, сведения о топологии временно теряются; выполняйте на каждом по отдельности и с интервалом. Убедитесь, что клиенты используют драйвер, запрашивающий адрес мастера у Sentinel.

Открыть в DBAtlas →

Связанные материалы