22
0
Fork 0

Sentinel don't need instance

This commit is contained in:
vlaborie 2017-07-21 11:41:01 +02:00
parent 122e0a51d4
commit 280d88d620
1 changed files with 10 additions and 26 deletions

View File

@ -280,19 +280,15 @@ Depuis redis 2.6 (2.4 en Wheezy), par défaut, le slave est en read-only, on peu
slave-read-only off
~~~
## Sentinel
### Sentinel
Sentinel permet de faire du failover avec des slaves Redis.
Attention, il est encore en développement. Il est donc dans la branche instable du dépôt de redis.
Par ememple, une instance master redis1 et un slave redis2. En cas de panne les rôles s'échangent, redis2 devient master et redis1 devient le slave.
### Instances Sentinel
#### Unite systemd
Si l'on veut superviser plusieurs réplication Redis différentes depuis un même serveur, il est possible de faire fonctionner plusieurs instances de Redis Sentinel ; chacune avec sa propre configuration et son propre utilisateur.
#### Template systemd
Créer le template dunité systemd suivant dans /etc/systemd/system/sentinel@.service :
Créer lunité systemd suivant dans /etc/systemd/system/redis-sentinel.service :
~~~
[Unit]
@ -300,31 +296,19 @@ Description=Advanced key-value store (monitoring)
After=network.target
[Service]
ExecStartPre=/bin/mkdir -m 0755 -p /run/redis/%i
ExecStartPre=/bin/chown redis-%i: /run/redis/%i
PermissionsStartOnly=yes
Type=simple
PIDFile=/run/redis/%i/sentinel.pid
ExecStart=/usr/bin/redis-sentinel /etc/redis/sentinel-%i.conf --unixsocket /run/redis/%i/sentinel.sock --pidfile /run/redis/%i/sentinel.pid
ExecStop=/usr/bin/redis-cli -s /run/redis/%i/sentinel.sock shutdown
PIDFile=/run/redis/sentinel.pid
ExecStart=/usr/bin/redis-sentinel /etc/redis/sentinel.conf --unixsocket /run/redis/sentinel.sock --pidfile /run/redis/sentinel.pid
ExecStop=/usr/bin/redis-cli -s /run/redis/sentinel.sock shutdown
Restart=always
User=redis-%i
Group=redis-%i
User=redis
Group=redis
[Install]
WantedBy=multi-user.target
~~~
#### Installation
Créer un utilisateur système pour linstance :
~~~
useradd --system --home-dir=/tmp redis-replication1
~~~
Créer ensuite le fichier de configuration suivant dans /etc/redis/sentinel-replication1.conf :
Créer ensuite le fichier de configuration suivant dans /etc/redis/sentinel.conf :
~~~
port 16379
@ -340,7 +324,7 @@ sentinel current-epoch 8
Sentinel doit pouvoir ecrire dans son fichier de configuration :
~~~
chown redis-replication1: /etc/redis/sentinel-replication1.conf
chown redis: /etc/redis/sentinel.conf
~~~
## Benchmarks