はじめに
本記事では、NetApp ONTAP を Persistent Volume(PV)として利用する OpenShift 環境において、OADP(OpenShift API for Data Protection)を用いたBackup/Restoreについて記載します。
コンテナ環境では、アプリケーションだけでなく永続データの保護も重要な運用課題となりますが、本稿では、OADPとS3環境を使用して、CSI Snapshotを使ったBackupの実施やS3へのBackupデータの転送及びBackupデータからのRestoreに関する内容について記載します。
何をしたい?できる?
- OpenShiftのPersistent Volume(PV)用をONTAP上に作成
- 作成したPVのBackupの実施(Snapshot作成)
- PVのデータをONTAP S3へ転送
- 取得したBackupからのRestoreの実施
OpenShift API for Data Protection (OADP) とは
OpenShift API for Data Protection(OADP)は、OpenShiftクラスタ上のアプリケーションやデータをBackup/Restore するためのVeleroをベースとした機能になります。
OADPでは、アプリ本体だけでなく、**PersistentVolumeのデータも保護する事ができ、その際によく使われるのがCSI(Container Storage Interface Snapshot)**になります。
CSI対応ストレージであれば、VolumeのSnapshotを高速に取得でき、大容量データのBackupを効率化できます。
また、Backupデータの保存先としてはS3互換ストレージが利用され、S3 API互換のストレージも利用可能です。OADPはバックアップしたリソース情報やメタデータをS3へ保存し、必要時にそこから復元します。
記事における環境情報
本記事では、以下の環境で実施した内容となります。
OSやモジュールは以下の構成としています。
- ONTAP 9.18.1
- NetApp Trident 26.02
- Windows Server 2025 Hyper-V環境
- Red Hat Enterprise Linux 9.8
- OpenShift 4.20.29 (Single Nodeで作成)
設定手順
設定の流れとしては以下のような形になります。
1. S3環境の用意
2. OADP用のVolumeSnapshotClassの設定
3. OADPの導入+設定
4. Backupの実施
5. BackupデータからのRestore
1. S3環境の用意
1-1. ONTAP S3環境の作成
ONTAP S3構成手順については、過去の記事を参考にして頂ければと思います。
過去記事ではhttpsで疎通できるような内容になってますが、本記事では手順を簡略化したい為、S3へはHTTPのみ有効化しています。
最新版のAWS CLIも踏み台サーバへ導入しています。
AWS CLIの最新バージョンのインストールまたは更新
# ONTAP S3の状態確認
> object-store-server bucket show -vserver s3_1000 -bucket bk003
(vserver object-store-server bucket show)
Vserver: s3_1000
Bucket :bk003
Type :s3
Versioning :disabled
Uuid :1e8e8ccb-8576-11f1-a075-d039ead56d1d
Volume :fg_oss_1784687768
Size :100GB
(中略)
> object-store-server bucket policy statement show -vserver s3_1000 -bucket bk003
(vserver object-store-server bucket policy statement show)
Vserver Bucket Index Effect Action Principal Resource
----------- ---------- ----- ------ ------------ --------------- --------------
s3_1000
bk003 1 allow GetObject, - bk003, bk003/*
PutObject,
DeleteObject
, ListBucket
2. OADP用のVolumeSnapshotClassの設定
Tridentの導入とVolumeSnapshotClassの作成を実施します。
2-1. Tridentの導入
ONTAPと連携してSnapshotを取得する為にTridentの導入を実施します。
実施手順は過去の記事を参考にしていただければと思います。
2-2. ONTAP用のVolumeSnapshotClassの設定
Velero がVolumeSnapshot を使ってBackupを行う際に、velero.io/csi-volumesnapshot-class: "true" といった対象VolumeSnapshotClassをデフォルトとして使うことを示すアノテーションを指定します。
(PVCのSnapshot作成時に適切なVolumeSnapshotClassを自動選択できるようにする)
また、障害時にNamespaceが不意に削除された場合でも、ONTAP上のSnapshotが即座に連鎖削除されるのを防ぐため、deletionPolicyにはRetainを設定します。
# マニフェスト
> cat odap-snap-class.yaml
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshotClass
metadata:
name: odap-snapclass
labels:
velero.io/csi-volumesnapshot-class: "true"
driver: csi.trident.netapp.io
deletionPolicy: Retain
# 作成したファイルの適用
> oc apply -f odap-snap-class.yaml
volumesnapshotclass.snapshot.storage.k8s.io/odap-snapclass created
# 作成後の確認
> oc get vsclass
NAME DRIVER DELETIONPOLICY AGE
odap-snapclass csi.trident.netapp.io Retain 23s
3. OADPの導入+設定
3-1. OADPの導入
OpenShiftのGUI画面にアクセスし、左側の[エコシステム]から[ソフトウェアカタログ]をクリック後に表示された画面でOADPと入力し、表示される[OADP]をクリックします。
(Red Hatの方を利用)
表示された画面で[インストール]をクリックします。
表示された画面で値を変更することなく[インストール]をクリックします。
本記事では何度か削除とインストールを繰り返しているので、namespace openshift-adpが存在している環境へのInstallとなってます。
インストールが完了するのを待ちます。
インストール後、openshift-adpというnamespaecにPodが作成されているのが確認できます。
> oc get pods -n openshift-adp
NAME READY STATUS RESTARTS AGE
openshift-adp-controller-manager-54bb95ff58-6kczd 1/1 Running 0 7m4s
3-2. OADPの設定
BackupデータのUpload先となるONTAP S3への認証Secretの作成を実施します。
(キーはONTAP S3の作成時に確認できたものを使用します)
# マニフェスト
> cat credentials-velero
[default]
aws_access_key_id = 1234567890ABCDEF
aws_secret_access_key = ACDEF1234567890GHIJKLMN
# 作成したファイルの適用
> oc create secret generic ontap-s3-credentials -n openshift-adp --from-file cloud=./credentials-velero
secret/ontap-s3-credentials created
DataProtectionApplication (DPA) の構成を実施します。
DPAは、OADPのプラグイン、Data Moverのアップローダー設定、およびS3の接続先バケットを統合的に管理するカスタムリソースとなります。
ONTAP S3互換ストレージをバックアップ先に使い、CSIスナップショット+Kopiaベースのデータ移送を有効化した OADP 構成についての記載を実施します。
# マニフェスト
> $ cat oadp-dpa.yaml
apiVersion: oadp.openshift.io/v1alpha1
kind: DataProtectionApplication
metadata:
name: oadp-s3-dpa
namespace: openshift-adp
spec:
backupImages: false
backupLocations:
- velero:
default: true
provider: aws
config:
region: ontapS3
profile: default
s3ForcePathStyle: "true"
s3Url: "http://10.11.100.124"
credential:
name: ontap-s3-credentials
key: cloud
objectStorage:
bucket: bk003
prefix: velero
configuration:
velero:
featureFlags:
- EnableCSI
defaultPlugins:
- aws
- openshift
- csi
defaultSnapshotMoveData: true
defaultVolumesToFSBackup: false
nodeAgent:
enable: true
uploaderType: kopia
作成したファイルを適用し、状態の確認を実施します。
# 作成したファイルの適用
> oc apply -f oadp-dpa.yaml
dataprotectionapplication.oadp.openshift.io/oadp-s3-dpa created
# 作成後の確認
> oc get dpa -n openshift-adp
NAME RECONCILED AGE
oadp-s3-dpa True 79s
# Conditionsにおいて "Type: Reconciled, Status: True" であることを確認
> oc get dpa oadp-s3-dpa -n openshift-adp -o jsonpath='{.status}'
{"conditions":[{"lastTransitionTime":"2026-07-27T08:28:04Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
# PHASEが "Available" と表示されることを確認
> oc get backupstoragelocations.velero.io -n openshift-adp
NAME PHASE LAST VALIDATED AGE DEFAULT
oadp-s3-dpa-1 Available 46s 3m4s true
# Podの確認(Veleroやnode-agentが増える)
> oc get pods -n openshift-adp
NAME READY STATUS RESTARTS AGE
node-agent-jz9qx 1/1 Running 0 3m48s
openshift-adp-controller-manager-54bb95ff58-6kczd 1/1 Running 0 43m
velero-7f888c755b-hjqbf 1/1 Running 0 3m48s
3-3. Velero CLIの導入
Veleroを操作するCLIを踏み台環境にインストールします。
(Backupの状況が分かり易いので)
# veleroの取得
> curl -L -o /tmp/velero.tar.gz https://github.com/vmware-tanzu/velero/releases/download/v1.18.2/velero-v1.18.2-linux-amd64.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 54.9M 100 54.9M 0 0 22.3M 0 0:00:02 0:00:02 --:--:-- 26.4M
# 展開
> tar -C /tmp -xvf /tmp/velero.tar.gz
velero-v1.18.2-linux-amd64/LICENSE
velero-v1.18.2-linux-amd64/examples/minio/00-minio-deployment.yaml
velero-v1.18.2-linux-amd64/examples/nginx-app/README.md
velero-v1.18.2-linux-amd64/examples/nginx-app/base.yaml
velero-v1.18.2-linux-amd64/examples/nginx-app/with-pv.yaml
velero-v1.18.2-linux-amd64/velero
> sudo mv /tmp/velero-v1.18.2-linux-amd64/velero /usr/local/bin/velero
> chmod +x /usr/local/bin/velero
> velero version
Client:
Version: v1.18.2
(中略)
4. Backupの実施
作成済のPodのBackupを行いますが、本記事では、以下のBackupの取得を実施します。
・OndemandでPVのSnapshotのみ作成(ONTAP S3へのデータ転送は無し)
・OndemandでPVのSnapshotを作成し、PVのデータをONTAP S3へ転送
4-1. Backup対象の確認(Podの状態確認)
# Backup対象PodとPVの確認
> oc get pods -n testspace01
NAME READY STATUS RESTARTS AGE
ubuntu-test 1/1 Running 0 4d3h
> oc get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS VOLUMEATTRIBUTESCLASS REASON AGE
pvc-0c5f9c4c-6e32-4948-b173-b6ce5b8692a0 5Gi RWX Delete Bound testspace01/pvc-nas ontap-nas-class <unset> 4d4h
# Pod内に接続されたPV上のデータを確認
> oc exec -n testspace01 --stdin --tty ubuntu-test -- /bin/bash
> df -h
Filesystem Size Used Avail Use% Mounted on
overlay 200G 61G 140G 31% /
tmpfs 64M 0 64M 0% /dev
shm 64M 0 64M 0% /dev/shm
tmpfs 3.2G 128M 3.0G 4% /proc/acpi
10.11.100.40:/trident_pvc_0c5f9c4c_6e32_4948_b173_b6ce5b8692a0 5.0G 1015M 4.1G 20% /mnt/storage
/dev/sda4 200G 61G 140G 31% /etc/hosts
tmpfs 15G 20K 15G 1% /run/secrets/kubernetes.io/serviceaccount
> ls -lh /mnt/storage
total 1.1G
-rw-r--r--. 1 root daemon 1008M Jul 23 05:17 AlmaLinux-10.2-x86_64-boot.iso
-rw-r--r--. 1 1000 1000 99M Jul 27 08:48 Wireshark-4.6.6-x64.exe
4-2. Snapshotのみ作成するOndemand Backupの実施
Backup CR定義を実施します。
S3へPV上のデータ転送を実施しない為、snapshotMoveDataについてはfalseを指定します。
Backupのざっくりイメージとしては以下の通りです。
> cat backup-ondemand-pvs02.yaml
apiVersion: velero.io/v1
kind: Backup
metadata:
name: ondemand-app-volume-backup2
namespace: openshift-adp
spec:
includedNamespaces:
- testspace01
# PV Snapshot
snapshotVolumes: true
snapshotMoveData: false
# Retention 3 Hours
ttl: 3h0m0s
作成したファイルを適用し、状態を確認します。
velero get backupsで状態を確認すると、InProgress=>Finalizing=>Completedのように状態遷移が確認できるかと思います。
> oc apply -f backup-ondemand-pvs02.yaml
> velero get backups -n openshift-adp
NAME STATUS ERRORS WARNINGS CREATED EXPIRES STORAGE LOCATION QUEUE POSITION SELECTOR
ondemand-app-volume-backup2 Completed 0 0 2026-07-27 18:15:40 +0900 JST 2h oadp-s3-dpa-1 <none>
ONTAP側でもSnapshotが作成されている事を確認します。
> snapshot show -vserver nfs500 -volume trident* -fields create-time
vserver volume snapshot create-time
------- ------------------------------------------------ --------------------------------------------- ------------------------
nfs500 trident_pvc_0c5f9c4c_6e32_4948_b173_b6ce5b8692a0 snapshot-8dfb8097-0808-4b40-86a5-4504ef0a00d3 Mon Jul 27 18:15:47 2026
ONTAP S3へはメタデータのみ転送されている事を確認します。
(PVのデータが転送されるとkopiaというフォルダ配下にデータが転送される)
# メタデータの転送確認
> aws --endpoint-url http://10.11.100.124/ s3 ls s3://bk003/velero/backups/ondemand-app-volume-backup2/
2026-07-27 18:15:49 488 ondemand-app-volume-backup2-csi-volumesnapshotclasses.json.gz
2026-07-27 18:15:49 726 ondemand-app-volume-backup2-csi-volumesnapshotcontents.json.gz
2026-07-27 18:15:49 717 ondemand-app-volume-backup2-csi-volumesnapshots.json.gz
2026-07-27 18:15:49 362 ondemand-app-volume-backup2-itemoperations.json.gz
2026-07-27 18:15:49 11603 ondemand-app-volume-backup2-logs.gz
2026-07-27 18:15:49 29 ondemand-app-volume-backup2-podvolumebackups.json.gz
2026-07-27 18:15:49 498 ondemand-app-volume-backup2-resource-list.json.gz
2026-07-27 18:15:49 49 ondemand-app-volume-backup2-results.gz
2026-07-27 18:15:50 395 ondemand-app-volume-backup2-volumeinfo.json.gz
2026-07-27 18:15:49 29 ondemand-app-volume-backup2-volumesnapshots.json.gz
2026-07-27 18:15:50 170062 ondemand-app-volume-backup2.tar.gz
2026-07-27 18:15:50 3843 velero-backup.json
# PVのデータ転送確認
> aws --endpoint-url http://10.11.100.124/ s3 ls --human-readable s3://bk003/velero/kopia/testspace01/
4-3. Snapshot作成及びS3へデータ転送をするOndemand Backupの実施
Backup CR定義を実施します。
S3転送を実施する為、snapshotMoveDataについてはtrueを指定します。
Backupのざっくりイメージとしては以下の通りです。
> cat backup-ondemand-pvs03.yaml
apiVersion: velero.io/v1
kind: Backup
metadata:
name: ondemand-app-volume-backup3
namespace: openshift-adp
spec:
includedNamespaces:
- testspace01
# PV Snapshot + S3 Send
snapshotVolumes: true
snapshotMoveData: true
# Retention 3 Hours
ttl: 3h0m0
作成したファイルを適用し、状態を確認します。
> oc apply -f backup-ondemand-pvs03.yaml
> $ velero get backups -n openshift-adp
NAME STATUS ERRORS WARNINGS CREATED EXPIRES STORAGE LOCATION QUEUE POSITION SELECTOR
ondemand-app-volume-backup2 Completed 0 0 2026-07-27 18:15:40 +0900 JST 2h oadp-s3-dpa-1 <none>
ondemand-app-volume-backup3 InProgress 0 0 2026-07-27 18:32:17 +0900 JST 2h oadp-s3-dpa-1 <none>
S3への転送中は,ONTAP側では作成されたSnapshotからClone Volumeが作成されており、S3転送用に利用されます。
# 別のVolume名で同じSnapshot名を持つものが確認できる
> snapshot show -vserver nfs500 -volume trident* -fields create-time
vserver volume snapshot create-time
------- ------------------------------------------------ --------------------------------------------- ------------------------
nfs500 trident_pvc_0c5f9c4c_6e32_4948_b173_b6ce5b8692a0 snapshot-8dfb8097-0808-4b40-86a5-4504ef0a00d3 Mon Jul 27 18:15:47 2026
nfs500 trident_pvc_0c5f9c4c_6e32_4948_b173_b6ce5b8692a0 snapshot-43579ae1-5da7-46a1-adc8-d9d02c536795 Mon Jul 27 18:32:20 2026
nfs500 trident_pvc_56eca950_5b30_4b27_b9d1_2d8e83521965 snapshot-43579ae1-5da7-46a1-adc8-d9d02c536795 Mon Jul 27 18:32:20 2026
3 entries were displayed.
# CloneVolumeの状態
> volume clone show
Parent Parent Parent
Vserver FlexClone Vserver Volume Snapshot State Type
------- ------------- ------- ------------- -------------------- --------- ----
nfs500 trident_pvc_56eca950_5b30_4b27_b9d1_2d8e83521965 nfs500 trident_pvc_0c5f9c4c_6e32_4948_b173_b6ce5b8692a0 snapshot-43579ae1-5da7-46a1-adc8-d9d02c536795 online RW
Backupの処理が完了するとONTAP上のClone Volumeが削除され、PVにSnapshotが作成された形が残ります。
> velero get backups -n openshift-adp
NAME STATUS ERRORS WARNINGS CREATED EXPIRES STORAGE LOCATION QUEUE POSITION SELECTOR
ondemand-app-volume-backup2 Completed 0 0 2026-07-27 18:15:40 +0900 JST 2h oadp-s3-dpa-1 <none>
ondemand-app-volume-backup3 Completed 0 0 2026-07-27 18:32:17 +0900 JST 2h oadp-s3-dpa-1 <none>
ONTAP側でもVolumeが減っている事が確認できます。
> snapsho show -vserver nfs500 -volume trident* -fields create-time
(snapshot)
vserver volume snapshot create-time
------- ------------------------------------------------ --------------------------------------------- ------------------------
nfs500 trident_pvc_0c5f9c4c_6e32_4948_b173_b6ce5b8692a0 snapshot-8dfb8097-0808-4b40-86a5-4504ef0a00d3 Mon Jul 27 18:15:47 2026
nfs500 trident_pvc_0c5f9c4c_6e32_4948_b173_b6ce5b8692a0 snapshot-43579ae1-5da7-46a1-adc8-d9d02c536795 Mon Jul 27 18:32:20 2026
2 entries were displayed.
ONTAP S3へは実データも転送されている事が確認できます。
(PVのデータが転送されるとkopiaというフォルダ配下にデータが転送される)
# メタデータの転送確認
> aws --endpoint-url http://10.11.100.124/ s3 ls s3://bk003/velero/backups/ondemand-app-volume-backup2/
2026-07-27 18:15:49 488 ondemand-app-volume-backup2-csi-volumesnapshotclasses.json.gz
2026-07-27 18:15:49 726 ondemand-app-volume-backup2-csi-volumesnapshotcontents.json.gz
2026-07-27 18:15:49 717 ondemand-app-volume-backup2-csi-volumesnapshots.json.gz
2026-07-27 18:15:49 362 ondemand-app-volume-backup2-itemoperations.json.gz
2026-07-27 18:15:49 11603 ondemand-app-volume-backup2-logs.gz
2026-07-27 18:15:49 29 ondemand-app-volume-backup2-podvolumebackups.json.gz
2026-07-27 18:15:49 498 ondemand-app-volume-backup2-resource-list.json.gz
2026-07-27 18:15:49 49 ondemand-app-volume-backup2-results.gz
2026-07-27 18:15:50 395 ondemand-app-volume-backup2-volumeinfo.json.gz
2026-07-27 18:15:49 29 ondemand-app-volume-backup2-volumesnapshots.json.gz
2026-07-27 18:15:50 170062 ondemand-app-volume-backup2.tar.gz
2026-07-27 18:15:50 3843 velero-backup.json
# PVのデータ転送確認
> aws --endpoint-url http://10.11.100.124/ s3 ls --human-readable s3://bk003/velero/kopia/testspace01/
026-07-27 18:32:59 750 Bytes _log_20260727093259_2e05_1785144779_1785144779_1_3eec1c34fc92f6c96584c072f2999604
2026-07-27 18:33:21 13.8 KiB _log_20260727093300_c312_1785144780_1785144801_1_86050707b4b01a5ad25447fa3576cd20
2026-07-27 18:32:58 30 Bytes kopia.blobcfg
2026-07-27 18:32:58 1.0 KiB kopia.repository
2026-07-27 18:33:18 20.1 MiB p031d5ba8238b376b805b8bed60bd584c-s6e962f3162443622143
2026-07-27 18:33:05 26.4 MiB p040316013ddf0ea7e3d1236ad6a9b3f4-s6e962f3162443622143
(中略)
2026-07-27 18:33:16 27.4 MiB pfdc156284fcb39c19f5123967aad20da-s6e962f3162443622143
2026-07-27 18:33:19 12.3 KiB q9d0b18bf0edc0f9eb6992bc9c9580de9-s6e962f3162443622143
2026-07-27 18:32:59 4.2 KiB qab052bd6825a404961da9e5de5aa707c-s4a36a6e7da8e4290143
2026-07-27 18:33:00 4.2 KiB qe893cfffce368314bfa5168978fcefc5-s0efbed6530ed8537143
2026-07-27 18:33:00 143 Bytes xn0_3a981b98d579ae478f62995495d48d7a-s0efbed6530ed8537143-c1
2026-07-27 18:32:59 143 Bytes xn0_818c907262c80bfeca49b2570973626c-s4a36a6e7da8e4290143-c1
2026-07-27 18:33:19 11.4 KiB xn0_92f4ae83026a94edf277e62f1df910d0-s6e962f3162443622143-c1
5. Restoreの実施
作成したBackupからのRestoreを実施します。
基本的にはBackup対象への上書きでは無く、別Podの作成や別のPVを作成する形になります。
本記事においては、差分が発生する事を確認する為、Backup対象のPodのPVにあるファイルを1つ削除しておきます。
# Podに接続
> oc exec -n testspace01 --stdin --tty ubuntu-test -- /bin/bash
# PVのファイル確認
> ls -lh /mnt/storage
total 1.1G
-rw-r--r--. 1 root daemon 1008M Jul 23 05:17 AlmaLinux-10.2-x86_64-boot.iso
-rw-r--r--. 1 1000 1000 99M Jul 27 08:48 Wireshark-4.6.6-x64.exe
# ファイル削除
> rm /mnt/storage/AlmaLinux-10.2-x86_64-boot.iso
rm: remove write-protected regular file '/mnt/storage/AlmaLinux-10.2-x86_64-boot.iso'? y
# 削除後の状態確認
> ls -lh /mnt/storage
total 99M
-rw-r--r--. 1 1000 1000 99M Jul 27 08:48 Wireshark-4.6.6-x64.exe
5-1. 別のNameSpaceへのPodを含めたRestore
リストア用のCRを作成します。
本記事では、一部のファイル削除のみ実施で、Backup対象のPod自体は残しているので
PVだけでなくPodも別NameSoaceへRestoreします。
# リストアに使用するBackup名の確認
> velero get backups -n openshift-adp
NAME STATUS ERRORS WARNINGS CREATED EXPIRES STORAGE LOCATION QUEUE POSITION SELECTOR
ondemand-app-volume-backup2 Completed 0 0 2026-07-27 18:15:40 +0900 JST 2h oadp-s3-dpa-1 <none>
ondemand-app-volume-backup3 Completed 0 0 2026-07-27 18:32:17 +0900 JST 2h oadp-s3-dpa-1 <none>
# Restore用ファイルの確認
> cat restore-pod-and-pv.yaml
apiVersion: velero.io/v1
kind: Restore
metadata:
name: restore-pod-and-pv
namespace: openshift-adp
spec:
backupName: ondemand-app-volume-backup3
includedNamespaces:
- testspace01
# 別 Namespace に復元
namespaceMapping:
testspace01: testspace01-restore
includedResources:
- pods
- persistentvolumeclaims
- persistentvolumes
restorePVs: true
existingResourcePolicy: none
作成したファイルを適用し、状態を確認します。
> oc apply -f restore-pod-and-pv.yaml
restore.velero.io/restore-pod-and-pv created
> oc get pods -n testspace01-restore
NAME READY STATUS RESTARTS AGE
ubuntu-test 1/1 Running 0 79s
RestoreされたPodに接続して、PVの中もRestoreされている事を確認します。
(Backup時の状態になっている事の確認)
# Podに接続
> oc exec -n testspace01-restore --stdin --tty ubuntu-test -- /bin/bash
# PVのファイル確認
> ls -lh /mnt/storage
total 1.1G
-rw-r--r--. 1 root daemon 1008M Jul 23 05:17 AlmaLinux-10.2-x86_64-boot.iso
-rw-r--r--. 1 1000 1000 99M Jul 27 08:48 Wireshark-4.6.6-x64.exe
参考及びリンク
OpenShiftコンテナ環境でTrident + ONTAP利用②【ONTAP Storage+Trident設定】

