3.3.5 ファイルのスナップショットの作成

Exascaleスナップショットは、ファイルのシンプロビジョニングされた読取り専用ポイントインタイム・コピーです。スナップショットのソース・ファイルは、通常ファイル、ファイル・クローン、別のスナップショットのいずれかです。Exascaleでは、リダイレクト・オンライト手法を使用して、非常に迅速かつ領域効率よくスナップショットを作成および保守します。

ファイルまたはファイル・グループのスナップショットを作成するには、ESCLI snapshotfileコマンドを使用します。

同じ操作で作成されるすべてのスナップショットはポイントインタイム一貫性があり、スナップショット操作におけるすべてのファイルは同じボールト内にある必要があります。

  • 単一のファイルのスナップショットを作成するには、snapshotfileコマンドを使用して、ソース・ファイルとスナップショットの宛先を指定します。次に例を示します:
    @> snapshotfile @my-vault-name/my-file-name @my-vault-name/my-snap-file

    前述の例では、スナップショット(@my-vault-name/my-snap-file)は元のファイル(@my-vault-name/my-file-name)と同じ場所に作成されます。次の例では、スナップショットは@my-vault-name/snapshotsの下に作成されます。

    @> snapshotfile @my-vault-name/my-file-name @my-vault-name/snapshots/my-other-snap-file
  • ファイル・グループのスナップショットを作成するには、snapshotfileコマンドを使用して、ワイルドカード文字(*)を含めてソース・ファイルとスナップショットの宛先を指定します。次に例を示します:
    @> snapshotfile @my-vault-name/my-files* @my-vault-name/my-snap-files*

    前述の例では、スナップショットは元のファイルと同じ場所に作成されます。次の例では、スナップショットは別の場所に作成されます。

    @> snapshotfile @my-vault-name/my-files* @my-vault-name/more-snapshots/more-snap-files*
  • 複数のファイルまたはファイル・グループのスナップショットを作成するには、snapshotfileコマンドを使用して、複数のソースと宛先のペアを指定します。次に例を示します:
    @> snapshotfile @my-vault-name/file1 @my-vault-name/file1-snapshot @my-vault-name/my-files* @my-vault-name/my-snap-files*

    前述の例では、スナップショット操作によって個々のファイル(@my-vault-name/file1)とファイル・グループ(@my-vault-name/my-files*)が処理され、スナップショット(@my-vault-name/file1-snapshotおよび@my-vault-name/mysnapshotfiles*)は元のファイルと同じ場所に作成されます。

    次の例では、スナップショットは複数の異なる場所に作成されます:

    @> snapshotfile @my-vault-name/file1 @my-vault-name/location1/file1-snapshot @my-vault-name/my-files* @my-vault-name/location2/my-snap-files*

    複数のソースと宛先のペアを指定すると、ソース・ファイルの指定は順番に考慮され、最初の一致のみが使用されます。

    たとえば、次のコマンドでは、@my-vault-name/a*に一致するファイルのスナップショットは@my-vault-name/snap/aの下に作成され、他のファイルのスナップショットは@my-vault-name/snap/otherの下に作成されます。

    @> snapshotfile @my-vault-name/a* @my-vault-name/snap/a/a* @my-vault-name/* @my-vault-name/snap/other/*

    ただし、次のコマンドでは、すべてのファイルが@my-vault-name/*と一致するため、スナップショットはすべて@my-vault-name/snap/otherの下に作成されます。したがって、この場合、2番目の引数のペアは使用されません。

    @> snapshotfile @my-vault-name/* @my-vault-name/snap/other/* @my-vault-name/a* @my-vault-name/snap/a/a*
  • 他のファイルを除外しながらファイルのスナップショットを作成するには、次の除外方法のいずれかを指定してsnapshotfileコマンドを使用します:
    • --excludeオプションを使用すると、スナップショット操作から除外されるファイルを指定できます。

      たとえば、次のコマンドでは、@my-vault-name/a*または@my-vault-name/b*に一致するファイルを除き、@my-vault-name内のファイルのスナップショットを作成します:

      @> snapshotfile @my-vault-name/* @my-vault-name/snap/* --exclude @my-vault-name/a* --exclude @my-vault-name/b*
    • スナップショットの宛先値としてNULL (空の)文字列を指定すると、対応するソース・ファイルに対してスナップショットは作成されません。NULLの宛先および対応するソースは、他のすべてのソースと宛先のペアとともに順番に考慮され、最初の一致のみが使用されます。

      たとえば、次のコマンドでも、@my-vault-name/a*または@my-vault-name/b*に一致するファイルを除き、@my-vault-name内のファイルのスナップショットが作成されます。

      @> snapshotfile @my-vault-name/a* "" @my-vault-name/b* "" @my-vault-name/* @my-vault-name/snap/*

作成後、スナップショットは通常、他のファイルに使用されているのと同じコマンドおよび手順を使用して管理されます。たとえば、スナップショットを削除するには、rmfileコマンドを使用できます。