SenseLink
検索…
Mercuryのバックアップとリストア

サービスの停止と削除

全てのサービスを停止してください。
Mercuryサービスを取得します。
既存のサービスを削除します。
kubectl get svc -n component --no-headers=true | awk '{print $1}' | xargs kubectl delete svc -n component
AFDサービスを取得します。
該当するサービスを削除します。
kubectl get svc --no-headers=true | grep alert-feature-db | awk '{print $1}' | xargs kubectl delete svc
mercury-work-01 ansible_host=10.0.100.4の場合、下記のコマンドで削除を実施します。
$ kubectl delete -f /etc/kubernetes/components/minio/default/service.yaml $ kubectl delete -f /etc/kubernetes/components/cassandra/alert/service.yaml $ kubectl delete svc engine-alert-feature-db-proxy $ kubectl delete svc engine-alert-feature-db-worker-1

データ

Cassandra
cassandra pvcを取得します。
3列目の出力を参照してpvを取得します。
kubectl get pv local-pv-a7a94bfe -o=jsonpath='{.spec.nodeAffinity.required.nodeSelectorTerms[0].matchExpressions[0].values[]}' link-pro-23-cv-host-02-10.0.100.8
ホストlink-pro-23-cv-host-02にローカルpvが保存されています。ipアドレスは10.0.100.8
ssh 10.0.100.8
mkdir -p /mnt/backup/cassandra cp -r /mnt/locals/cassandra/alert/volume1 /mnt/backup/cassandra
Minio
MNO PVCとPVを取得します。
ssh 10.0.100.9
mkdir -p /mnt/backup/minio cp -r /mnt/locals/minio/default /mnt/backup/minio
AFD
AFD PVCとPVを取得します。
ssh 10.0.100.8
mkdir -p /mnt/backup/afd cp -r /mnt/locals/afd/volume0 /mnt/backup/afd

新たなサーバでリストア

新たなmercuryの新たなマスターノードで
私たちの場合mercury-work-01 ansible_host=10.0.100.13で下記の操作から実施します。
$ kubectl delete -f /etc/kubernetes/components/minio/default/service.yml $ kubectl delete -f /etc/kubernetes/components/cassandra/alert/service.yml $ kubectl delete svc engine-alert-feature-db-proxy $ kubectl delete svc engine-alert-feature-db-worker-1
Cassandra
新たな volume0-cassandra-alert-0 サーバを取得します。
kubectl get pvc -n componet | minio| awk '{print $3}' local-pv-dfs04x4x kubectl get pv local-pv-dfs04x4x -o=jsonpath='{.spec.nodeAffinity.required.nodeSelectorTerms[0].matchExpressions[0].values[]}' link-pro-23-cv-host-04-10.0.100.13 ssh 10.0.100.13 rm -rf /mnt/locals/cassandra/alert/volume0
RSYNC フォルダー
ssh 10.0.100.8 cd /mnt/backup/cassandra rsync -avzP volume0 [email protected]:/mnt/locals/cassandra/alert/
volume0-cassandra-alert-1/volume0-cassandra-alert-2/volume1-cassandra-alert-0/volume1-cassandra-alert-1/volume1-cassandra-alert-2を繰り返します
Minio
kubectl get pvc -n componet | minio | awk '{print $3}' local-pv-gj04x4xd kubectl get pv local-pv-gj04x4xd -o=jsonpath='{.spec.nodeAffinity.required.nodeSelectorTerms[0].matchExpressions[0].values[]}' link-pro-23-cv-host-04-10.0.100.13 ssh 10.0.100.13 rm -rf /mnt/locals/minio/default
復元
ssh 10.0.100.8 cd /mnt/backup/minio rsync -avzP volume0 [email protected]:/mnt/locals/minio/default
AFD
kubectl get pvc | alert-feature-db | awk '{print $3}' local-pv-cfgx4xd kubectl get pv local-pv-cfgx4xd -o=jsonpath='{.spec.nodeAffinity.required.nodeSelectorTerms[0].matchExpressions[0].values[]}' link-pro-23-cv-host-04-10.0.100.13 ssh 10.0.100.13 rm -rf /mnt/locals/afd/
復元
ssh 10.0.100.8 cd /mnt/backup/afd rsync -avzP volume0 [email protected]:/mnt/locals/afd
サービスを追加します。
$ kubectl apply -f /etc/kubernetes/components/minio/default/service.yml $ kubectl apply -f /etc/kubernetes/components/cassandra/alert/service.yml $ kubectl apply -f /etc/kubernetes/apps/engine-alert-feature-db
podsを復元します。
$kubectl get pods -n component | grep cassandra-alert | awk '{print $1}' | xargs kubectl delete pods -n component $kubectl get pods -n component | grep minio| awk '{print $1}' | xargs kubectl delete pods -n component $kubectl get pods | grep engine-alert-feature-db | awk '{print $1}' xargs kubectl delete pods
(完了)