 Autor: [Monika Wojciechowska](/autorzy/monika-wojciechowska) Specjalistka SEO i treści webowych · Zweryfikowano Kwiecień 2026

1.  [Strona główna](/) ›
2.  [Baza wiedzy](/baza-wiedzy/) ›
3.  Redis Sentinel — konfiguracja HA

# Redis Sentinel — wysoka dostępność Redis na VPS

Opublikowano: 9 kwietnia 2026 · Kategoria: VPS

Redis jest ultra-szybki, ale jednoserwerowy — gdy maszyna padnie, cache znika i aplikacja spada na zimną bazę danych. Redis Sentinel to wbudowany system wysokiej dostępności (HA): monitoruje mastera, automatycznie promuje replikę i powiadamia aplikacje o zmianie adresu. Oto jak go skonfigurować krok po kroku.

## Architektura: master, replica, Sentinel

Typowy setup Redis Sentinel składa się z trzech warstw:

-   **Master Redis** — przyjmuje zapisy, replikuje dane do replik asynchronicznie.
-   **Replica (1-2 szt.)** — kopie mastera w trybie read-only. Po failoverze jedna zostaje promowana na nowego mastera.
-   **Sentinel (min. 3 szt.)** — osobny proces (port 26379) który monitoruje mastera i repliki. Sentinele głosują (quorum) czy master jest niedostępny, a następnie koordynują failover.

W produkcji minimalna topologia to: 3 serwery VPS, każdy z procesem Redis i procesem Sentinel. Jeden serwer pełni rolę mastera, dwa pozostałe — replik. Sentinel może działać na tych samych serwerach co Redis.

## Konfiguracja repliki

Na serwerach repliki edytuj `/etc/redis/redis.conf` i wskaż mastera:

\# /etc/redis/redis.conf na REPLICE (np. 10.0.0.11 i 10.0.0.12)

replicaof 10.0.0.10 6379        # IP mastera i port

# Opcjonalnie: replika read-only (domyślnie tak)
replica-read-only yes

# Uwierzytelnianie (jeśli master ma hasło)
masterauth TwojeHaslo123
requirepass TwojeHaslo123       # Takie samo na wszystkich węzłach

\# Restart Redis na replice
sudo systemctl restart redis-server

# Sprawdź replikację
redis-cli -a TwojeHaslo123 info replication

W odpowiedzi na replikach powinieneś zobaczyć `role:slave` i `master_link_status:up`. Na masterze — `role:master` i listę podłączonych replik.

## Konfiguracja sentinel.conf

Utwórz plik `/etc/redis/sentinel.conf` na każdym z 3 serwerów (konfiguracja identyczna):

\# /etc/redis/sentinel.conf

port 26379
daemonize yes
logfile /var/log/redis/sentinel.log
pidfile /var/run/redis/redis-sentinel.pid

# Monitorowanie mastera
# sentinel monitor <nazwa> <ip-mastera> <port> <quorum>
sentinel monitor mymaster 10.0.0.10 6379 2

# Hasło do mastera (jeśli ustawione)
sentinel auth-pass mymaster TwojeHaslo123

# Po ilu ms bez odpowiedzi uznać mastera za niedostępnego
sentinel down-after-milliseconds mymaster 5000

# Limit czasu na failover (ms)
sentinel failover-timeout mymaster 60000

# Ile replik jednocześnie synchronizuje się z nowym masterem
sentinel parallel-syncs mymaster 1

\# Uruchomienie Sentinel
sudo redis-sentinel /etc/redis/sentinel.conf

# Lub przez systemd (utwórz /etc/systemd/system/redis-sentinel.service)
# ExecStart=/usr/bin/redis-sentinel /etc/redis/sentinel.conf

# Sprawdź status
redis-cli -p 26379 sentinel masters
redis-cli -p 26379 sentinel slaves mymaster
redis-cli -p 26379 sentinel sentinels mymaster

## Parametry sentinel.conf — wyjaśnienie

Parametr

Domyślna wartość

Opis

`quorum`

2 (przy 3 Sentinelach)

Min. liczba Sentineli zgadzających się że master jest DOWN

`down-after-milliseconds`

30000 ms

Czas bez pingu po którym master uznawany za niedostępny

`failover-timeout`

180000 ms

Maks. czas na zakończenie procesu failover

`parallel-syncs`

1

Ile replik jednocześnie synchronizuje dane z nowym masterem

## Testowanie failover

Przetestuj failover bez przerywania działania serwera — użyj polecenia Sentinel:

\# Wymuś failover (Sentinel sam wybierze nowego mastera)
redis-cli -p 26379 sentinel failover mymaster

# Obserwuj logi w czasie rzeczywistym
tail -f /var/log/redis/sentinel.log

# Sprawdź który węzeł jest teraz masterem
redis-cli -p 26379 sentinel get-master-addr-by-name mymaster

Możesz też zasymulować awarię mastera przez `redis-cli -p 6379 DEBUG sleep 30` (master przestaje odpowiadać na 30 sekund) i obserwować jak Sentinel reaguje.

## Połączenie aplikacji przez Sentinel

Aplikacja nie łączy się bezpośrednio z IP mastera — odpytuje Sentinel o aktualny adres. Przykłady dla popularnych języków:

// Node.js (ioredis)
import Redis from 'ioredis';

const redis = new Redis({
  sentinels: \[
    { host: '10.0.0.10', port: 26379 },
    { host: '10.0.0.11', port: 26379 },
    { host: '10.0.0.12', port: 26379 },
  \],
  name: 'mymaster',
  password: 'TwojeHaslo123',
  sentinelPassword: 'TwojeHaslo123',
});

\# Python (redis-py)
from redis.sentinel import Sentinel

sentinel = Sentinel(\[
    ('10.0.0.10', 26379),
    ('10.0.0.11', 26379),
    ('10.0.0.12', 26379),
\], socket\_timeout=0.1, password='TwojeHaslo123')

master = sentinel.master\_for('mymaster', socket\_timeout=0.1)
slave  = sentinel.slave\_for('mymaster', socket\_timeout=0.1)

master.set('klucz', 'wartosc')
slave.get('klucz')

\# PHP (predis)
$sentinel = new Predis\\Client(\[
    \['scheme' => 'redis', 'host' => '10.0.0.10', 'port' => 26379\],
    \['scheme' => 'redis', 'host' => '10.0.0.11', 'port' => 26379\],
    \['scheme' => 'redis', 'host' => '10.0.0.12', 'port' => 26379\],
\], \[
    'replication' => 'sentinel',
    'service'     => 'mymaster',
\]);

## Redis Sentinel vs Redis Cluster

Cecha

Redis Sentinel

Redis Cluster

Cel

Wysoka dostępność (HA)

HA + skalowanie horyzontalne

Dane

Pełna kopia na każdej replice

Podzielone między shardy (16384 slotów)

Min. węzły

3 (1 master + 2 repliki/Sentinel)

6 (3 master + 3 repliki)

Złożoność

Niska — prosta konfiguracja

Wyższa — klient musi obsługiwać MOVED/ASK

Kiedy używać

Do ~100 GB danych, standardowe aplikacje

Gdy dane nie mieszczą się na 1 serwerze

Dla większości projektów hostingowych — WordPress z Redis object cache, Next.js session store, kolejki zadań — Sentinel jest wystarczający i łatwiejszy w utrzymaniu. Redis Cluster ma sens dopiero przy setkach gigabajtów danych.

## Najczęstsze pytania

Czym różni się Redis Sentinel od Redis Cluster? +

Redis Sentinel zapewnia wysoką dostępność dla pojedynczej instancji Redis (master + repliki) przez automatyczny failover — gdy master padnie, Sentinel promuje replikę na nowego mastera. Redis Cluster to natomiast poziome skalowanie: dane są shardowane (podzielone) między wiele węzłów master, każdy odpowiedzialny za podzbiór kluczy (slot hash). Sentinel = HA dla małych/średnich danych. Cluster = HA + sharding dla dużych zbiorów danych.

Ile procesów Sentinel potrzeba dla bezpiecznego quorum? +

Minimum 3 procesy Sentinel na 3 osobnych serwerach (lub co najmniej 3 osobnych maszynach wirtualnych). Quorum = liczba Sentineli, które muszą zgodzić się że master jest niedostępny. Przy 3 Sentinelach typowe quorum=2 — jeden może być offline, a system nadal działa. Nie używaj tylko 2 Sentineli — przy utracie komunikacji między nimi dochodzi do split-brain.

Jak aplikacja powinna łączyć się z Redis przez Sentinel? +

Aplikacja NIE łączy się bezpośrednio z adresem IP mastera — zamiast tego odpytuje Sentinel o aktualny adres mastera. Większość klientów Redis obsługuje to natywnie: podajesz listę adresów Sentinel i nazwę monitorowanego klastra (np. mymaster). Klient automatycznie odkrywa aktualnego mastera i przełącza się po failoverze. W Node.js (ioredis): new Redis(&#123; sentinels: \[...\], name: "mymaster" &#125;). W Python (redis-py): Sentinel(\[(host, port), ...\]).master\_for("mymaster").

Jak długo trwa automatyczny failover Redis Sentinel? +

Czas failoveru zależy od parametru sentinel down-after-milliseconds (domyślnie 30000 ms = 30 sekund). Tyle czasu Sentinel czeka zanim uzna mastera za niedostępnego. Następnie negocjuje z innymi Sentinelami (kilka sekund), promuje replikę i aktualizuje konfigurację. Łącznie: 30-60 sekund przy domyślnych ustawieniach. Zmniejszenie down-after-milliseconds do 5000 ms skraca failover do ~10 sekund, ale zwiększa ryzyko false positive.

## Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.

Contabo

VPS z dużym RAM — idealny dla klastra Redis Sentinel (3 węzły)

HA Redis

[Aktywuj rabat →](/out/contabo)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/contabo)

Mikrus

Tani VPS do testowania konfiguracji Redis Sentinel przed produkcją

Dev/Test

[Aktywuj rabat →](/out/mikrus)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/mikrus)

LH.pl

Hosting z Redis object cache dla WordPress — bez potrzeby samodzielnego zarządzania

Managed

[Aktywuj rabat →](/out/lh-pl)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/lh-pl)

## Powiązane strony

-   [Memcached vs Redis — porównanie](/baza-wiedzy/memcached-vs-redis-hosting)
-   [MySQL replikacja master-slave](/baza-wiedzy/mysql-replication-master-slave)
-   [Docker na VPS — instalacja i konfiguracja](/baza-wiedzy/docker-na-vps)
-   [Wszystkie artykuły](/baza-wiedzy/)