ページの先頭行へ戻る
Enterprise Service Development Platform V1.1.0 運用ガイド
FUJITSU Software

12.8.1 Elasticseachのリストア

Elasticsearchのスナップショット機能を使用してリストアを行います。

スナップショット機能の詳細はElasticsearchの公式ドキュメントを参照してください。

“Snapshot and Restore”

  1. Kubernetes masterサーバにログインします。詳細は、「第2章 共通の操作」を参照してください。

  2. リストアを行うスナップショットを確認します。
    • リポジトリの確認

      以下のコマンドを実行することで、作成済みのリポジトリ一覧を参照することができます。

      curl http://`kubectl -n fj-esdp-system get svc | grep 'elasticsearch-master '| awk -F " " '{print $3}'`:9200/_snapshot/
    • スナップショットの確認

      以下のコマンドを実行することで、作成済みのスナップショット一覧を参照することができます。

      また各スナップショットに含まれるインデックス名も確認することができます。

      curl http://`kubectl -n fj-esdp-system get svc | grep 'elasticsearch-master '| awk -F " " '{print $3}'`:9200/_snapshot/<リポジトリ名>/*
  3. 上記で確認した<リポジトリ名>、<スナップショット名>を指定し、以下のコマンドでリストアを実施してください。

    <インデックス名>にはリストアするインデックス名を指定するか、'*'によってスナップショットに含まれる全インデックスを対象としてリストアを実行します。

    curl http://`kubectl -n fj-esdp-system get svc | grep 'elasticsearch-master '| awk -F " " '{print $3}'`:9200/_snapshot/<リポジトリ名>/<スナップショット名>/_restore?wait_for_completion=true \
        -X POST \
        -H 'Content-Type: application/json' \
        -d '{
            "indices": "<インデックス名>"
        }'

例として、別のElasticsearchで作成したスナップショット'ghi'を含むリポジトリ'def'内のファイルを圧縮したdef.tar.gzをリストアする場合は、以下の通りです。

  1. Kubernetes masterサーバにログインします。詳細は、「第2章 共通の操作」を参照してください。

  2. 'abc'リポジトリとして'def'ディレクトリからリストアを実施する場合、下記のようにリポジトリを作成します。
    # curl http://<Elasticsearch ClasterIP>:9200/_snapshot/abc' -X PUT -H 'Content-Type: application/json' \
      -d '{"type": "fs","settings": {"location": "def","compress": true}}'
  3. NFSサーバーにログインし、リストアするスナップショットを含むリポジトリのディレクトリ配下のファイル一式を展開します。

    # tar tvfz def.tar.gz -C /var/FJSGHD/fj-esdp-system-elasticsnapshot-volume/def
  4. Kubernetes masterサーバにログインします。詳細は、「第2章 共通の操作」を参照してください。

  5. 展開したリポジトリ名、スナップショット名、インデックス名を指定してリストアを行います。
    # curl http://<Elasticsearch ClasterIP>:9200/_snapshot/abc/ghi/_restore?wait_for_completion=true \
      -X POST -H 'Content-Type: application/json' -d '{"indices": "<インデックス名>"}'