5.23.2. CSI スナップショットのバックアップおよび復元のデータ移動


OADP 1.3 Data Mover を使用して、永続ボリュームのバックアップと復元を実行できます。

5.23.2.1. CSI スナップショットを使用した永続ボリュームのバックアップ

OADP Data Mover を使用して、Container Storage Interface (CSI) ボリュームのスナップショットをリモートオブジェクトストアにバックアップできます。

前提条件

  • cluster-admin ロールでクラスターにアクセスできる。
  • OADP Operator がインストールされている。
  • CSI プラグインを組み込み、DataProtectionApplication カスタムリソース (CR) でノードエージェントを有効にしている。
  • 別の namespace で実行されている永続ボリュームを持つアプリケーションがある。
  • metadata.labels.velero.io/csi-volumesnapshot-class: "true" のキー/値ペアを VolumeSnapshotClass CR に追加している。

手順

  1. 次の例のように、Backup オブジェクトの YAML ファイルを作成します。

    kind: Backup
    apiVersion: velero.io/v1
    metadata:
      name: backup
      namespace: openshift-adp
    spec:
      csiSnapshotTimeout: 10m0s
      defaultVolumesToFsBackup:
      includedNamespaces:
      - mysql-persistent
      itemOperationTimeout: 4h0m0s
      snapshotMoveData: true
      storageLocation: default
      ttl: 720h0m0s
      volumeSnapshotLocations:
      - dpa-sample-1
    # ...

    ここでは、以下のようになります。

    defaultVolumesToFsBackup
    fs-backup をオプトアウトするボリュームにのみ Data Mover を使用する場合、true に設定します。ボリュームにデフォルトで Data Mover を使用する場合は false に設定します。
    snapshotMoveData
    CSI スナップショットのリモートオブジェクトストレージへの移動を有効にするには、true に設定します。
  2. マニフェストを適用します。

    $ oc create -f backup.yaml

    スナップショットの作成が完了すると、DataUpload CR が作成されます。

    注記

    XFS ファイルシステムを使用してボリュームをフォーマットし、ボリュームの容量が 100% になっている場合は、no space left on device エラーが発生してバックアップが失敗します。以下に例を示します。

    Error: relabel failed /var/lib/kubelet/pods/3ac..34/volumes/ \
    kubernetes.io~csi/pvc-684..12c/mount: lsetxattr /var/lib/kubelet/ \
    pods/3ac..34/volumes/kubernetes.io~csi/pvc-68..2c/mount/data-xfs-103: \
    no space left on device

    このシナリオでは、バックアップが正常に完了するように、ボリュームのサイズを変更するか、ext4 などの別のファイルシステムタイプを使用することを検討してください。

検証

  • DataUpload CR の status.phase フィールドを監視して、スナップショットデータがリモートオブジェクトストアに正常に転送されたことを確認します。使用される値は、In ProgressCompletedFailed、または Canceled です。オブジェクトストアは、DataProtectionApplication CR の backupLocations スタンザで設定されます。

    • 次のコマンドを実行して、すべての DataUpload オブジェクトのリストを取得します。

      $ oc get datauploads -A

      出力例

      NAMESPACE       NAME                  STATUS      STARTED   BYTES DONE   TOTAL BYTES   STORAGE LOCATION   AGE     NODE
      openshift-adp   backup-test-1-sw76b   Completed   9m47s     108104082    108104082     dpa-sample-1       9m47s   ip-10-0-150-57.us-west-2.compute.internal
      openshift-adp   mongo-block-7dtpf     Completed   14m       1073741824   1073741824    dpa-sample-1       14m     ip-10-0-150-57.us-west-2.compute.internal

    • 次のコマンドを実行して、DataUpload オブジェクトの status.phase フィールドの値を確認します。

      $ oc get datauploads <dataupload_name> -o yaml

      出力例

      apiVersion: velero.io/v2alpha1
      kind: DataUpload
      metadata:
        name: backup-test-1-sw76b
        namespace: openshift-adp
      spec:
        backupStorageLocation: dpa-sample-1
        csiSnapshot:
          snapshotClass: ""
          storageClass: gp3-csi
          volumeSnapshot: velero-mysql-fq8sl
        operationTimeout: 10m0s
        snapshotType: CSI
        sourceNamespace: mysql-persistent
        sourcePVC: mysql
      status:
        completionTimestamp: "2023-11-02T16:57:02Z"
        node: ip-10-0-150-57.us-west-2.compute.internal
        path: /host_pods/15116bac-cc01-4d9b-8ee7-609c3bef6bde/volumes/kubernetes.io~csi/pvc-eead8167-556b-461a-b3ec-441749e291c4/mount
        phase: Completed
        progress:
          bytesDone: 108104082
          totalBytes: 108104082
        snapshotID: 8da1c5febf25225f4577ada2aeb9f899
        startTimestamp: "2023-11-02T16:56:22Z"

      ここでは、以下のようになります。

      フェーズ: 完了
      これは、スナップショットデータがリモートオブジェクトストアに正常に転送されたことを示しています。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る