第9章 ターゲットボリュームのスペースを再利用
ターゲットボリュームでスペースの回収操作を使用して、実際に使用可能なスペースにアクセスできます。回収操作は、永続ボリューム上のファイルまたはデータが削除されたときに使用可能なストレージスペースのあいまいさを取り除きます。この操作は CephRBD で使用できます。オブジェクトは RBD デバイス上に残り、ストレージは Ceph クラスターに解放されないため、これにより、実際に使用可能なストレージスペースの誤った情報が提供されます。
スペースの回収操作は、RBD デバイスで rbd sparsify をトリガーします。これにより、ゼロのイメージエクステントのスペースが回収されます。ファイルシステムモードの場合、fstrim はブロックデバイスにマウントされたファイルシステムでも実行されます。ファイルシステムで fstrim が有効になっている場合、次のモードで Ceph RBD に基づく ReadWriteOnce (RWO) アクセスを使用して PVC を作成できます。
- ボリュームモードブロック
- ボリュームモードファイルシステム
新しくインストールされたクラスターの場合、スペースの回収操作はデフォルトで有効になっています。
アップグレードされたクラスターのスペース回収操作を有効にするには、openshift-storage namespace の rook-ceph-operator-override configmap で CSI_ENABLE_CSIADDONS: "true" を設定します。
$ oc patch cm rook-ceph-operator-config -n openshift-storage -p $'data:\n "CSI_ENABLE_CSIADDONS": "true"'
次の 3 つの方法のいずれかを使用して、スペースを回収できます。
- ReclaimSpaceJob を使用したスペースの回収操作の有効化
- ReclaimSpaceCronJob を使用したスペースの回収操作の有効化
- Annotating PersistentVolumeClaims を使用したスペースの回収操作の有効化 (Red Hat は、スペースの回収操作を有効にするためにこの方法を使用することをお勧めします)
9.1. ReclaimSpaceJob を使用したスペースの回収操作の有効化
ReclaimSpaceJob は、ターゲットボリュームでスペースの回収操作を呼び出すように設計された名前付きのカスタムリソースです。これは、スペースの回収操作をすぐに開始する 1 回限りの方法です。ユーザーは、必要に応じて ReclaimSpaceJob CR の作成を繰り返して、スペースの回収操作を繰り返す必要があります。
手順
スペースの回収操作用に次のカスタムリソースを作成して適用します。
apiVersion: csiaddons.openshift.io/v1alpha1 kind: ReclaimSpaceJob metadata: name: sample-1 spec: target: persistentVolumeClaim: pvc-1上記の yaml で使用される変数は次のとおりです。
targetは、操作が実行するボリュームターゲットを示します。-
persistentVolumeClaimには、PersistentVolumeClaimの名前を示す文字列が含まれています。
-
-
backOfflimitは、スペースの回収操作が失敗するまでの最大再試行回数を指定します。指定しない場合、デフォルト値は 6 に設定されます。許可される最大値と最小値は 60 と 0 です。 -
restartDeadlineSecondsは、開始時間に対して操作が終了する可能性のある期間を指定します。その値は正の整数でなければならず、時間の単位は秒単位です。指定しない場合、デフォルトは 600 秒に設定されます。最大許容値は 1800 です。
- 操作の完了後に顧客リソースを削除します。