Elasticsearchバックアップと移行


クラスタノードでは、次の操作が必要です。


マウントceph

mount -t ceph 10.255.228.232:6789:/ /mnt/cephfs -o name=admin,secretfile=/etc/ceph/admin.secret

バックアップディレクトリの作成(cephを使用したクラスタ共有ディレクトリが必要)
[root@test ~]# mkdir  /mnt/cephfs/esbak

masterノードで/mnt/cephfs/esbak権限を調整する
[root@test ~]# chown es:es /mnt/cephfs/esbak

各ノードesユーザーのUID/GIDを統一し、masterノードesを基準とする(cephが採用されているため、倉庫タイムズの作成に同意しない)
[root@ceph122 esbak]# usermod  -u 2003 es && groupmod  -g  2003 es 

(2003 master es uid、gid)

dataノードESインストールディレクトリ、データディレクトリのESユーザー権限を再付与
[root@ceph122 esbak]# chown -R es:es xxxx

elasticsearchを変更します.ymlファイル、pathを追加します.repo構成
path.repo: /mnt/cephfs/esbak

ノードの再起動

インプリメンテーションプロセス


src実施
倉庫を作成します.倉庫名はes_です.backup
curl -XPUT "http://192.168.75.13:9200/_snapshot/es_backup" -d '
{
"type": "fs", 
"settings": {
"location": "/mnt/esbak",
"compress": true
}
}'

倉庫ステータスの表示
curl -XGET '192.168.75.13:9200/_snapshot/es_backup?pretty'

倉庫の削除(倉庫の削除スナップショットファイルは削除されません)
curl -XDELETE "192.168.75.13:9200/_snapshot/es_backup

インデックスデータをバックアップし、スナップショット名はインデックス名と一定の関係を保つことが望ましい
curl -XPUT "http://192.168.75.13:9200/_snapshot/es_backup/video" -d '
{
"indices": "video_resource_201805,video_police_case_201805,video_treat_case_201805"
}'

バックアップスナップショットの削除
curl -XDELETE "http://192.168.75.13:9200/_snapshot/es_backup/video"

dest実施
バックアップ・データの移行、他のクラスタでのリカバリ
curl POST "http://192.168.75.14:9200/_snapshot/es_backup/video/_restore"