ページの先頭行へ戻る
Enterprise Service Development Platform V1.2.0 運用ガイド(FJCS仕様)
FUJITSU Software

12.7.1 Elasticsearchのバックアップ

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

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

“Snapshot and Restore”

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

  2. 以下のコマンドを実行し、リポジトリを作成してください。

    <スナップショットへのパス>に指定された任意の名前で、fj-esdp-system-elasticsnapshot-pvのspec.nfs.pathで指定されたパス配下にディレクトリが作成されます。

    「インストールガイド(FJCS仕様)」の「2.4.2 Log Managementのインストール」-「3. PersistentVolumeを作成します。」に従って作成した elasticsearch_pv.ymlを使用した場合、NFSサーバーの/var/FJSGHD/fj-esdp-system-elasticsnapshot-volume/配下に、指定された任意の名前のディレクトリが作成されます。

    <リポジトリ名>は、上記のスナップショットへのパスを管理する名前を指定します。

    $ curl http://`kubectl -n fj-esdp-system get svc | grep 'elasticsearch-master '| awk -F " " '{print $3}'`:9200/_snapshot/<リポジトリ名> \
        -X PUT \
        -H 'Content-Type: application/json' \
        -d '{
            "type": "fs",
            "settings": {
                "location": "<スナップショットへのパス>",
                "compress": true
            }
        }'
  3. 作成済みのリポジトリにスナップショットを作成します。

    • 一部のインデックスをバックアップする場合

      以下のコマンドを実行し、スナップショットを作成してください。

      <インデックス名>には存在するインデックス名を指定します。

      <スナップショット名>は重複しない名前を指定します。

      $ curl http://`kubectl -n fj-esdp-system get svc | grep 'elasticsearch-master '| awk -F " " '{print $3}'`:9200/_snapshot/<リポジトリ名>/<スナップショット名>?wait_for_completion=true \
          -X PUT \
          -H 'Content-Type: application/json' \
          -d '{
              "indices": "<インデックス名>",
              "ignore_unavailable": true,
              "include_global_state": false
          }'
    • 全インデックスをバックアップする場合

      以下のコマンドを実行し、kibanaのインデックスをリネームします。

      $ curl http://`kubectl -n fj-esdp-system get svc | grep 'elasticsearch-master '| awk -F " " '{print $3}'`:9200/_reindex?pretty \
          -X POST \
          -H 'Content-Type: application/json' \
          -d '{
              "source": {
                  "index": ".kibana"
              },
              "dest": {
                  "index": "backup.kibana"
              }
          }'

      以下のコマンドを実行し、スナップショットを作成してください。

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