CentOS Stream 9
Sponsored Link

Valkey : レプリケーションの設定2024/12/04

 

Valkey レプリケーションの設定です。プライマリー/レプリカ型の冗長構成になります。

[1] プライマリーホスト側で設定を変更します。
[root@dlp ~]#
vi /etc/valkey/valkey.conf
# 89行目 : 自身の IP または 0.0.0.0 に変更

bind
0.0.0.0 -::
# 308行目 : 変更 (サービスとして起動)

daemonize
yes
# 834行目 : 必要に応じて追記
# min-replicas-to-write : 設定値の数以上のレプリカが存在する場合に限り書き込みを受け付ける
# min-replicas-max-lag : 設定値の時間 (秒) 内で上記設定値の数のレプリカが確認できた場合 OK とする

min-replicas-to-write 1
min-replicas-max-lag 10
# 1082行目 : 他ノードからの接続パスワードを設定

requirepass password
[root@dlp ~]#
systemctl restart valkey
[2] レプリカホスト側で設定を変更します。
[root@node01 ~]#
vi /etc/valkey/valkey.conf
# 88行目 : 自身の IP または 0.0.0.0 に変更

bind
0.0.0.0 -::
# 308行目 : 変更 (サービスとして起動)

daemonize
yes
# 553行目 : プライマリーサーバーの IP と ポートを追記

replicaof 10.0.0.30 6379
# 571行目 : プライマリーサーバーに設定した認証パスワードを追記

primaryauth password
# 602行目 : 設定確認 (レプリカホストはリードオンリー)

replica-read-only yes
[root@node01 ~]#
systemctl restart valkey
[3] プライマリー/レプリカ両ホストで Firewalld を有効にしている場合は、サービスの許可が必要です。
[root@dlp ~]#
firewall-cmd --add-service=redis

success
[root@dlp ~]#
firewall-cmd --runtime-to-permanent

success
[4] レプリカホスト側で統計情報を確認します。
[master_link_status:up] となっていれば OK です。
[root@node01 ~]#
valkey-cli

127.0.0.1:6379> auth password 
OK

# 統計情報確認
127.0.0.1:6379> info Replication 
# Replication
role:slave
master_host:10.0.0.30
master_port:6379
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_read_repl_offset:188
slave_repl_offset:188
replicas_repl_buffer_size:0
replicas_repl_buffer_peak:0
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
replicas_waiting_psync:0
master_failover_state:no-failover
master_replid:a49e6217c98bb5470e0a68fd85c019e83a53f82d
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:188
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:10485760
repl_backlog_first_byte_offset:105
repl_backlog_histlen:84

# プライマリー側でセットした任意のキーが取得できるか確認
127.0.0.1:6379> get key_on_master 
"value_on_master"
関連コンテンツ