3.4.7. 新しい Redis インスタンスでデータベースダンプを復元する
以前に作成したダンプファイルを使用して、新しい Redis インスタンスのデータを復元します。
oc cp ./backend-redis-dump.rdb $(oc get pods -l 'deployment=backend-redis-external' -o json | jq '.items[0].metadata.name' -r):/var/lib/redis/data/dump.rdb
oc cp ./system-redis-dump.rdb $(oc get pods -l 'deployment=system-redis-external' -o json | jq '.items[0].metadata.name' -r):/var/lib/redis/data/dump.rdb
Redis のデプロイメントを再起動します。
oc rollout restart deployment/backend-redis-external
oc rollout restart deployment/system-redis-external
Redis インスタンスが ready 状態になったら、追加専用のファイルを作成します。
oc rsh $(oc get pods -l 'deployment=backend-redis-external' -o json | jq '.items[0].metadata.name' -r) bash -c 'redis-cli BGREWRITEAOF'
oc rsh $(oc get pods -l 'deployment=system-redis-external' -o json | jq '.items[0].metadata.name' -r) bash -c 'redis-cli BGREWRITEAOF'
数分後、AOF の書き換えが完了したことを確認します。
oc rsh $(oc get pods -l 'deployment=backend-redis-external' -o json | jq '.items[0].metadata.name' -r) bash -c 'redis-cli info' | grep aof_rewrite_in_progress
oc rsh $(oc get pods -l 'deployment=system-redis-external' -o json | jq '.items[0].metadata.name' -r) bash -c 'redis-cli info' | grep aof_rewrite_in_progress
aof_rewrite_in_progress = 1 の間は、実行が進行中であることを示します。aof_rewrite_in_progress = 0 となるまで、定期的に確認します。ゼロは実行が完了したことを示します。
oc edit configmap/redis-config-external を使用して redis-config-external ConfigMap リソースを編集し、次の変更を適用します。
次の行のコメントを解除します。
save 900 1 save 300 10 save 60 10000save ""行を削除し、appendonly値をyesに設定します。appendonly yes
Redis のデプロイメントを再起動します。
oc rollout restart deployment/backend-redis-external
oc rollout restart deployment/system-redis-external