Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

アプリケーションの保護

共同作成者

自動保護ポリシーまたはアドホックベースを使用して、スナップショットやバックアップを作成することで、すべてのアプリケーションを保護します。

オンデマンドスナップショットを作成します

オンデマンド Snapshot はいつでも作成できます。

CRを使用したスナップショットの作成
  1. カスタムリソース(CR)ファイルを作成し、という名前を付け `trident-protect-snapshot-cr.yaml`ます。

  2. 作成したファイルで、次の属性を設定します。

    • * metadata.name*:(required)このカスタムリソースの名前。環境に適した一意の適切な名前を選択します。

    • * spec.applicationRef *:スナップショットを作成するアプリケーションのKubernetes名。

    • * spec.appVaultRef *:(required)スナップショットの内容(メタデータ)を格納するAppVaultの名前。

    • * spec.reclaimPolicy *:(_Optional _)スナップショットCRが削除されたときのスナップショットのAppArchiveの動作を定義します。つまり、に設定しても `Retain`Snapshotは削除されます。有効なオプション:

      • Retain (デフォルト)

      • Delete

        apiVersion: protect.trident.netapp.io/v1
        kind: Snapshot
        metadata:
          namespace: my-app-namespace
          name: my-cr-name
        spec:
          applicationRef: my-application
          appVaultRef: appvault-name
          reclaimPolicy: Delete
  3. ファイルに正しい値を入力したら trident-protect-snapshot-cr.yaml 、CRを適用します。

    kubectl apply -f trident-protect-snapshot-cr.yaml
CLIを使用したスナップショットの作成
  1. スナップショットを作成し、括弧内の値を環境からの情報に置き換えます。例:

    tridentctl protect create snapshot <my_snapshot_name> --appvault <my_appvault_name> --app <name_of_app_to_snapshot>

オンデマンドバックアップの作成

アプリはいつでもバックアップできます。

CRを使用したバックアップの作成
  1. カスタムリソース(CR)ファイルを作成し、という名前を付け `trident-protect-backup-cr.yaml`ます。

  2. 作成したファイルで、次の属性を設定します。

    • * metadata.name*:(required)このカスタムリソースの名前。環境に適した一意の適切な名前を選択します。

    • * spec.applicationRef *:(required)バックアップするアプリケーションのKubernetes名。

    • * spec.appVaultRef *:(required)バックアップ内容を格納するAppVaultの名前。

    • *spec.DataMover *:(Optional)バックアップ操作に使用するバックアップツールを示す文字列。有効な値(大文字と小文字が区別されます):

      • Restic

      • Kopia (デフォルト)

    • * spec.reclaimPolicy *:(_Optional _)要求から解放されたバックアップの処理を定義します。有効な値:

      • Delete

      • Retain (デフォルト)

    • * Spec.snapshotRef *:(オプション):バックアップのソースとして使用するSnapshotの名前。指定しない場合は、一時Snapshotが作成されてバックアップされます。

      apiVersion: protect.trident.netapp.io/v1
      kind: Backup
      metadata:
        namespace: my-app-namespace
        name: my-cr-name
      spec:
        applicationRef: my-application
        appVaultRef: appvault-name
        dataMover: Kopia
  3. ファイルに正しい値を入力したら trident-protect-backup-cr.yaml 、CRを適用します。

    kubectl apply -f trident-protect-backup-cr.yaml
CLIを使用したバックアップの作成
  1. バックアップを作成します。角かっこ内の値は、使用している環境の情報に置き換えます。例:

    tridentctl protect create backup <my_backup_name> --appvault <my-vault-name> --app <name_of_app_to_back_up>

データ保護スケジュールを作成

保護ポリシーは、定義されたスケジュールでスナップショット、バックアップ、またはその両方を作成することでアプリケーションを保護します。Snapshot とバックアップを毎時、日次、週次、および月単位で作成し、保持するコピーの数を指定できます。

CRを使用したスケジュールの作成
  1. カスタムリソース(CR)ファイルを作成し、という名前を付け `trident-protect-schedule-cr.yaml`ます。

  2. 作成したファイルで、次の属性を設定します。

    • * metadata.name*:(required)このカスタムリソースの名前。環境に適した一意の適切な名前を選択します。

    • *spec.DataMover *:(Optional)バックアップ操作に使用するバックアップツールを示す文字列。有効な値(大文字と小文字が区別されます):

      • Restic

      • Kopia (デフォルト)

    • * spec.applicationRef *:バックアップするアプリケーションのKubernetes名。

    • * spec.appVaultRef *:(required)バックアップ内容を格納するAppVaultの名前。

    • * spec.backupRetention *:保持するバックアップの数。ゼロは、バックアップを作成しないことを示します。

    • * spec.snapshotRetention *:保持するSnapshotの数。ゼロは、スナップショットを作成しないことを示します。

    • * spec.granularity*:スケジュールを実行する頻度。指定可能な値と必須の関連フィールドは次のとおりです。

      • hourly (を指定する必要があり `spec.minute`ます)

      • daily (とを指定する必要があり spec.minute `spec.hour`ます)。

      • weekly(および `spec.dayOfWeek`を指定する必要があり `spec.minute, spec.hour`ます)。

      • monthly(および `spec.dayOfMonth`を指定する必要があり `spec.minute, spec.hour`ます)。

    • * spec.dayOfMonth *:(_Optional _)スケジュールを実行する月の日(1~31)。粒度がに設定されている場合、このフィールドは必須 `monthly`です。

    • * spec.DayOfWeek *:(_Optional _)スケジュールを実行する曜日(0 ~ 7)。0または7の値は日曜日を示します。粒度がに設定されている場合、このフィールドは必須 `weekly`です。

    • * spec.hour *:(_Optional _)スケジュールを実行する時刻(0 ~ 23)。粒度が、、またはに設定されている場合、このフィールドは必須 daily weekly `monthly`です。

    • * spec.minute *:(_Optional _)スケジュールを実行する分(0 ~ 59)。このフィールドは、粒度が、、、またはに設定されている場合は必須 hourly daily weekly `monthly`です。

      apiVersion: protect.trident.netapp.io/v1
      kind: Schedule
      metadata:
        namespace: my-app-namespace
        name: my-cr-name
      spec:
        dataMover: Kopia
        applicationRef: my-application
        appVaultRef: appvault-name
        backupRetention: "15"
        snapshotRetention: "15"
        granularity: <monthly>
        dayOfMonth: "1"
        dayOfWeek: "0"
        hour: "0"
        minute: "0"
  3. ファイルに正しい値を入力したら trident-protect-schedule-cr.yaml 、CRを適用します。

    kubectl apply -f trident-protect-schedule-cr.yaml
CLIを使用してスケジュールを作成する
  1. 保護スケジュールを作成し、角かっこ内の値を環境からの情報に置き換えます。例:

    メモ を使用すると、このコマンドの詳細なヘルプ情報を表示できます tridentctl protect create schedule --help
    tridentctl protect create schedule <my_schedule_name> --appvault <my_appvault_name> --app <name_of_app_to_snapshot> --backup-retention <how_many_backups_to_retain> --data-mover <kopia_or_restic> --day-of-month <day_of_month_to_run_schedule> --day-of-week <day_of_month_to_run_schedule> --granularity <frequency_to_run> --hour <hour_of_day_to_run> --minute <minute_of_hour_to_run> --recurrence-rule <recurrence> --snapshot-retention <how_many_snapshots_to_retain>

Snapshot を削除します

不要になったスケジュール済みまたはオンデマンドの Snapshot を削除します。

手順
  1. Snapshotに関連付けられているSnapshot CRを削除します。

    kubectl delete snapshot <snapshot_name> -n my-app-namespace

バックアップを削除します

不要になったスケジュール済みまたはオンデマンドのバックアップを削除します。

手順
  1. バックアップに関連付けられているバックアップCRを削除します。

    kubectl delete backup <backup_name> -n my-app-namespace

バックアップ処理のステータスの確認

コマンドラインを使用して、実行中、完了、または失敗したバックアップ処理のステータスを確認できます。

手順
  1. 次のコマンドを使用してバックアップ処理のステータスを取得し、角かっこ内の値を環境の情報に置き換えます。

    kubectl get backup -n <namespace_name> <my_backup_cr_name> -o jsonpath='{.status}'

azure-anf-files NetApp(ANF)処理のバックアップとリストアを実現

Trident protectをインストールしている場合はNetApp、Trident 24.06より前に作成されたazure-lun-filesストレージクラスを使用するストレージバックエンドに対して、スペース効率に優れたバックアップおよびリストア機能を有効にすることができます。この機能はNFSv4ボリュームで機能し、容量プールから追加のスペースを消費することはありません。

作業を開始する前に

次の点を確認します。

  • Trident protectをインストールしておきます。

  • Trident保護でアプリケーションを定義しました。この手順を完了するまで、このアプリケーションの保護機能は制限されます。

  • ストレージバックエンドのデフォルトのストレージクラスとしてを選択しまし azure-netapp-files た。

構成手順用に展開
  1. Trident 24.10にアップグレードする前にANFボリュームを作成した場合は、Tridentで次の手順を実行します。

    1. アプリケーションに関連付けられているNetAppファイルベースの各PVのSnapshotディレクトリを有効にします。

      tridentctl update volume <pv name> --snapshot-dir=true -n trident
    2. 関連付けられている各PVに対してSnapshotディレクトリが有効になっていることを確認します。

      tridentctl get volume <pv name> -n trident -o yaml | grep snapshotDir

      応答:

    snapshotDirectory: "true"

    +
    Snapshotディレクトリが有効になっていない場合、Trident保護は通常のバックアップ機能を選択します。この機能は、バックアッププロセス中に一時的に容量プールのスペースを消費します。この場合は、バックアップするボリュームと同じサイズの一時ボリュームを作成するための十分なスペースが容量プールに確保されていることを確認してください。

結果

これで、Trident保護を使用したアプリケーションのバックアップとリストアが可能になります。各PVCは、他のアプリケーションでバックアップおよびリストアに使用することもできます。