ソース専用リポジトリ

ソース専用リポジトリを使用すると、通常のスナップショットよりも最大50%少ないディスクスペースを使用する最小限のソース専用スナップショットを取得できます。

他のリポジトリタイプとは異なり、ソース専用リポジトリはスナップショットを直接保存しません。別の登録されたスナップショットリポジトリにストレージを委任します。

ソース専用リポジトリを使用してスナップショットを取得すると、Elasticsearchは委任されたストレージリポジトリにソース専用スナップショットを作成します。このスナップショットには、保存されたフィールドとメタデータのみが含まれます。インデックスやドキュメント値の構造は含まれておらず、復元時にはすぐには検索できません。復元されたデータを検索するには、最初にそれを新しいデータストリームまたはインデックスに再インデックスする必要があります。

ソース専用スナップショットは、_sourceフィールドが有効であり、ソースフィルタリングが適用されていない場合にのみサポートされます。ソース専用スナップショットを復元すると:

  • 復元されたインデックスは読み取り専用であり、再インデックスを有効にするためにmatch_all検索またはスクロールリクエストのみを処理できます。
  • match_allおよび_getリクエスト以外のクエリはサポートされていません。
  • 復元されたインデックスのマッピングは空ですが、元のマッピングはタイプのトップレベルmeta要素から利用可能です。

ソース専用リポジトリを登録する前に、Kibanaまたはスナップショットリポジトリ作成APIを使用して、ストレージに使用する別のタイプのスナップショットリポジトリを登録します。その後、ソース専用リポジトリを登録し、リクエストで委任されたストレージリポジトリを指定します。

Python

  1. resp = client.snapshot.create_repository(
  2. name="my_src_only_repository",
  3. repository={
  4. "type": "source",
  5. "settings": {
  6. "delegate_type": "fs",
  7. "location": "my_backup_repository"
  8. }
  9. },
  10. )
  11. print(resp)

Ruby

  1. response = client.snapshot.create_repository(
  2. repository: 'my_src_only_repository',
  3. body: {
  4. type: 'source',
  5. settings: {
  6. delegate_type: 'fs',
  7. location: 'my_backup_repository'
  8. }
  9. }
  10. )
  11. puts response

Js

  1. const response = await client.snapshot.createRepository({
  2. name: "my_src_only_repository",
  3. repository: {
  4. type: "source",
  5. settings: {
  6. delegate_type: "fs",
  7. location: "my_backup_repository",
  8. },
  9. },
  10. });
  11. console.log(response);

Console

  1. PUT _snapshot/my_src_only_repository
  2. {
  3. "type": "source",
  4. "settings": {
  5. "delegate_type": "fs",
  6. "location": "my_backup_repository"
  7. }
  8. }

リポジトリ設定

  • chunk_size
  • (オプション、バイト値) スナップショット内のファイルの最大サイズ。このサイズより大きいファイルは、このサイズまたはそれ以下のチャンクに分割されます。デフォルトはnull(無制限のファイルサイズ)です。
  • compress
  • (オプション、ブール値) trueの場合、インデックスマッピングや設定などのメタデータファイルはスナップショット内で圧縮されます。データファイルは圧縮されません。デフォルトはtrueです。
  • delegate_type
  • (オプション、文字列) 委任されたリポジトリタイプ。有効な値については、typeパラメータを参照してください。sourceリポジトリは、その委任されたリポジトリタイプにsettingsプロパティを使用できます。ソース専用リポジトリを参照してください。
  • max_number_of_snapshots
  • (オプション、整数) リポジトリが含むことができるスナップショットの最大数。デフォルトはInteger.MAX_VALUEで、2^31-1または2147483647です。
  • max_restore_bytes_per_sec
  • (オプション、バイト値) ノードごとの最大スナップショット復元率。デフォルトは無制限です。復元はリカバリ設定を通じても制限されることに注意してください。
  • max_snapshot_bytes_per_sec
  • (オプション、バイト値) ノードごとの最大スナップショット作成率。デフォルトは40mb毎秒です。管理サービスのためのリカバリ設定が設定されている場合、デフォルトは無制限になり、さらにリカバリ設定を通じて制限されます。

  • readonly

  • (オプション、ブール値) trueの場合、リポジトリは読み取り専用です。クラスターはリポジトリからスナップショットを取得および復元できますが、リポジトリに書き込んだり、スナップショットを作成したりすることはできません。
    書き込みアクセス権を持つクラスターのみがリポジトリにスナップショットを作成できます。リポジトリに接続されている他のすべてのクラスターは、readonlyパラメータをtrueに設定する必要があります。
    falseの場合、クラスターはリポジトリに書き込み、スナップショットを作成できます。デフォルトはfalseです。
    同じスナップショットリポジトリを複数のクラスターで登録する場合、リポジトリへの書き込みアクセス権を持つクラスターは1つだけであるべきです。複数のクラスターが同時にリポジトリに書き込むと、リポジトリの内容が破損するリスクがあります。