Перейти к содержанию

Redis Sentinel

Автоматически сгенерировано: 2026-03-03 09:38

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

Назначение: Автоматический failover Redis

Сервер: redis-1 (10.10.19.40)

Sentinel порт: 26379

Redis порт: 6379

Текущий статус

# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_tilt_since_seconds:-1
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=callbox-redis,status=ok,address=10.10.19.40:6379,slaves=0,sentinels=3

Master:

  • Name: callbox-redis
  • Status: ok
  • Address: 10.10.19.40:6379

Конфигурация

Файл: /etc/redis/sentinel.conf

Master name: callbox-redis

Quorum: 2 (минимум 2 Sentinel для принятия решения о failover)

Down-after-milliseconds: 5000 (5 секунд)

Failover-timeout: 10000 (10 секунд)

Мониторинг

Sentinel мониторит:

  • Master: 10.10.19.40:6379
  • Проверка здоровья каждые 1 секунду
  • Объявление down после 5 секунд без ответа

Failover процесс

  1. Sentinel обнаруживает отказ master (5 секунд без ответа)
  2. Кворум Sentinel (2 из 3) подтверждает отказ
  3. Sentinel выбирает лучший replica для промоции
  4. Промотирует replica в master
  5. Обновляет конфигурацию всех клиентов
  6. Старый master становится replica при восстановлении

Время failover: ~10-15 секунд

Проверка

# Информация Sentinel
ssh redis-1 'redis-cli -p 26379 info sentinel'

# Список мастеров
ssh redis-1 'redis-cli -p 26379 sentinel masters'

# Информация о мастере
ssh redis-1 'redis-cli -p 26379 sentinel master callbox-redis'

# Список реплик
ssh redis-1 'redis-cli -p 26379 sentinel replicas callbox-redis'

# Список Sentinel
ssh redis-1 'redis-cli -p 26379 sentinel sentinels callbox-redis'

# Логи
ssh redis-1 'sudo journalctl -u redis-sentinel -f'

Операции

Ручной failover

ssh redis-1
redis-cli -p 26379 SENTINEL failover callbox-redis

Сброс Sentinel

redis-cli -p 26379 SENTINEL reset callbox-redis

Проверка репликации Redis

# На мастере
redis-cli -a Redis2026Prod info replication