4.10. OADP 1.3 Data Mover
4.10.1. OADP 1.3 Data Mover について リンクのコピーリンクがクリップボードにコピーされました!
OADP 1.3 には、Container Storage Interface (CSI) ボリュームのスナップショットをリモートオブジェクトストアに移動するために使用できる、ビルトイン Data Mover が含まれています。ビルトイン Data Mover を使用すると、クラスターの障害、誤削除、または破損が発生した場合に、リモートオブジェクトストアからステートフルアプリケーションを復元できます。スナップショットデータを読み取り、統合リポジトリーに書き込むためのアップローダーメカニズムとして Kopia を使用します。
OADP は、以下で CSI スナップショットをサポートします。
- Red Hat OpenShift Data Foundation
- Kubernetes Volume Snapshot API をサポートする Container Storage Interface (CSI) ドライバーを使用するその他のクラウドストレージプロバイダー
OADP のビルトイン Data Mover は、テクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではない場合があります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
4.10.1.1. ビルトイン Data Mover の有効化 リンクのコピーリンクがクリップボードにコピーされました!
ビルトイン Data Mover を有効にするには、CSI プラグインを組み込み、DataProtectionApplication
カスタムリソース (CR) でノードエージェントを有効にする必要があります。ノードエージェントは、データ移動型モジュールをホストする Kubernetes デーモンセットです。これには、Data Mover のコントローラー、アップローダー、リポジトリーが含まれます。
DataProtectionApplication
マニフェストの例
4.10.1.2. ビルトイン Data Mover のコントローラーとカスタムリソース定義 (CRD) リンクのコピーリンクがクリップボードにコピーされました!
ビルトイン Data Mover 機能には、バックアップと復元を管理するための CRD として定義された 3 つの新しい API オブジェクトが導入されています。
-
DataDownload
: ボリュームスナップショットのデータダウンロードを表します。CSI プラグインは、復元するボリュームごとに 1 つのDataDownload
オブジェクトを作成します。DataDownload
CR には、ターゲットボリューム、指定された Data Mover、現在のデータダウンロードの進行状況、指定されたバックアップリポジトリー、プロセス完了後の現在のデータダウンロードの結果に関する情報が含まれます。 -
DataUpload
: ボリュームスナップショットのデータアップロードを表します。CSI プラグインは、CSI スナップショットごとに 1 つのDataUpload
オブジェクトを作成します。DataUpload
CR には、指定されたスナップショット、指定された Data Mover、指定されたバックアップリポジトリー、現在のデータアップロードの進行状況、およびプロセス完了後の現在のデータアップロードの結果に関する情報が含まれます。 -
BackupRepository
: バックアップリポジトリーのライフサイクルを表し、管理します。OADP は、namespace の最初の CSI スナップショットバックアップまたは復元が要求されると、namespace ごとにバックアップリポジトリーを作成します。
4.10.2. CSI スナップショットのバックアップと復元 リンクのコピーリンクがクリップボードにコピーされました!
OADP 1.3 Data Mover を使用して、永続ボリュームのバックアップと復元を実行できます。
4.10.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 に追加している。
手順
次の例のように、
Backup
オブジェクトの YAML ファイルを作成します。Backup
CR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- CSI スナップショットのリモートオブジェクトストレージへの移動を有効にするには、
true
に設定します。
注記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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このシナリオでは、バックアップが正常に完了するように、ボリュームのサイズを変更するか、
ext4
などの別のファイルシステムタイプを使用することを検討してください。マニフェストを適用します。
oc create -f backup.yaml
$ oc create -f backup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow スナップショットの作成が完了すると、
DataUpload
CR が作成されます。
検証
DataUpload
CR のstatus.phase
フィールドを監視して、スナップショットデータがリモートオブジェクトストアに正常に転送されたことを確認します。使用される値は、In Progress
、Completed
、Failed
、またはCanceled
です。オブジェクトストアは、DataProtectionApplication
CR のbackupLocations
スタンザで設定されます。次のコマンドを実行して、すべての
DataUpload
オブジェクトのリストを取得します。oc get datauploads -A
$ oc get datauploads -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
DataUpload
オブジェクトのstatus.phase
フィールドの値を確認します。oc get datauploads <dataupload_name> -o yaml
$ oc get datauploads <dataupload_name> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- これは、スナップショットデータがリモートオブジェクトストアに正常に転送されたことを示しています。
4.10.2.2. CSI ボリュームスナップショットの復元 リンクのコピーリンクがクリップボードにコピーされました!
Restore
CR を作成することで、ボリュームスナップショットを復元できます。
OAPD 1.3 のビルトイン Data Mover を使用して、OADP 1.2 から Volsync バックアップを復元することはできません。OADP 1.3 にアップグレードする前に、Restic を使用してすべてのワークロードのファイルシステムバックアップを実行することが推奨されます。
前提条件
-
cluster-admin
ロールでクラスターにアクセスできる。 -
データの復元元となる OADP
Backup
CR がある。
手順
次の例のように、
Restore
CR の YAML ファイルを作成します。Restore
CR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow マニフェストを適用します。
oc create -f restore.yaml
$ oc create -f restore.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 復元が開始されると、
DataDownload
が作成されます。
検証
DataDownload
CR のstatus.phase
フィールドをチェックすることで、復元プロセスのステータスを監視できます。使用される値は、In Progress
、Completed
、Failed
、またはCanceled
です。すべての
DataDownload
オブジェクトのリストを取得するには、次のコマンドを実行します。oc get datadownloads -A
$ oc get datadownloads -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAMESPACE NAME STATUS STARTED BYTES DONE TOTAL BYTES STORAGE LOCATION AGE NODE openshift-adp restore-test-1-sk7lg Completed 7m11s 108104082 108104082 dpa-sample-1 7m11s ip-10-0-150-57.us-west-2.compute.internal
NAMESPACE NAME STATUS STARTED BYTES DONE TOTAL BYTES STORAGE LOCATION AGE NODE openshift-adp restore-test-1-sk7lg Completed 7m11s 108104082 108104082 dpa-sample-1 7m11s ip-10-0-150-57.us-west-2.compute.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、特定の
DataDownload
オブジェクトのstatus.phase
フィールドの値を確認します。oc get datadownloads <datadownload_name> -o yaml
$ oc get datadownloads <datadownload_name> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- CSI スナップショットデータが正常に復元されたことを示します。