[6] Redis – Sentinel
29 stycznia 2022Skonfiguruj Redis Sentinel, aby zapewnić wysoką dostępność serwerów Redis. Ten przykład jest oparty na środowisku, jak poniżej. Jeśli węzeł podstawowy nie działa, rola Master zostanie przełączona w tryb awaryjny do innego węzła repliki.
[1] Skonfiguruj usługi replikacji Redis na każdym węźle. Wskazuję, że należy pamiętać aby w ustawieniach replikacji, ustawić to samo hasło uwierzytelniające na wszystkich węzłach.
[2] Dla Redis w wersji/opcji HA z Sentinel’em jeżeli SELinux jest włączony i działa dodaj następujące reguły na wszystkich węzłach (Primar/Replica).
[root@vlsr02 ~]# semanage fcontext -a -t redis_conf_t /etc/redis.conf [root@vlsr02 ~]# restorecon /etc/redis.conf
[3] Skonfiguruj serwer Sentinel.
[root@vlsr01 ~]# dnf module install redis:6 [root@vlsr01 ~]# mcedit /etc/redis-sentinel.conf #linia 26: zmień (start jako demon) daemonize yes #linia 84: zmień # [sentinel monitor (jakakolwiek nazwa) (IP hosta Primary) (port hosta Primary) (Quorum)] # Quorum -> uruchom przełączanie awaryjne, gdy określona serwer Sentinel widzi, że Primary nie działa sentinel monitor mymaster 192.168.100.102 6379 1 #linia 103: hasło dla hosta/węzła Primary sentinel auth-pass mymaster TajneHasło #linia 125: czas, przez jaki serwer Sentinel uważa że węzeł Primary jest wyłączony (domyślnie 30 sekund) sentinel down-after-milliseconds mymaster 30000 #linia 141: liczba replik do zmiany podczas pracy awaryjnej sentinel parallel-syncs mymaster 1 [root@vlsr01 ~]# systemctl enable --now redis-sentinel
[4] W porządku, zweryfikuj status na serwerze Sentinel w następujący sposób. Ponadto zatrzymaj Redis ręcznie w węźle podstawowym i upewnij się, że przełączanie awaryjne podstawowego/repliki przebiega normalnie.
[root@vlsr01 ~]# redis-cli -p 26379 #pokaż węzeł Primary dla [mymaster] 127.0.0.1:26379> sentinel get-master-addr-by-name mymaster 1) "192.168.100.102" 2) "6379" #pokaż dokładne informacje o węźle Primary dla [mymaster] 127.0.0.1:26379> sentinel master mymaster 1) "name" 2) "mymaster" 3) "ip" 4) "192.168.100.102" 5) "port" 6) "6379" 7) "runid" 8) "12d69723bc1368ffc76c7e7ee453c17402c73432" 9) "flags" 10) "master" . . . . . #pokaż węzeł/węzły Replika dla [mymaster] 127.0.0.1:26379> sentinel slaves mymaster 1) 1) "name" 2) "192.168.100.104:6379" 3) "ip" 4) "192.168.100.104" 5) "port" 6) "6379" 7) "runid" 8) "9e8001c3f8623b9922d848f44026734e8c66cfe1" 9) "flags" 10) "slave" . . . . . 2) 1) "name" 2) "192.168.100.103:6379" 3) "ip" 4) "192.168.100.103" 5) "port" 6) "6379" 7) "runid" 8) "6e3ec5ea5cb8c23534072d87cd463a0e02b9da3c" 9) "flags" 10) "slave" . . . . .