5.4.5. ストレージのプロビジョニング
LVMCluster カスタムリソース (CR) を使用して LVM ボリュームグループを作成した後、永続ボリューム要求 (PVC) を作成してストレージをプロビジョニングできます。
以下は、各ファイルシステムタイプに対して要求できる最小ストレージサイズです。
-
block: 8 MiB -
xfs: 300 MiB -
ext4: 32 MiB
PVC を作成するには、PersistentVolumeClaim オブジェクトを作成する必要があります。
前提条件
-
LVMClusterCR が作成されている。
手順
-
OpenShift CLI (
oc) にログインします。 PersistentVolumeClaimオブジェクトを作成します。PersistentVolumeClaimオブジェクトの例apiVersion: v1 kind: PersistentVolumeClaim metadata: name: lvm-block-11 namespace: default spec: accessModes: - ReadWriteOnce volumeMode: Block2 resources: requests: storage: 10Gi3 limits: storage: 20Gi4 storageClassName: lvms-vg15 - 1
- PVC の名前を指定します。
- 2
- ブロック PVC を作成するには、このフィールドを
Blockに設定します。ファイル PVC を作成するには、このフィールドをFilesystemに設定します。 - 3
- ストレージサイズを指定します。値が最小ストレージサイズより小さい場合、要求されるストレージサイズは最小ストレージサイズに切り上げられます。プロビジョニングできる合計ストレージサイズは、Logical Volume Manager (LVM) シンプールのサイズとオーバープロビジョニング係数によって制限されます。
- 4
- オプション: ストレージ制限を指定します。このフィールドには、最小ストレージサイズ以上の値を設定します。それ以外の場合、PVC の作成はエラーが発生して失敗します。
- 5
storageClassNameフィールドの値はlvms-<device_class_name>の形式である必要があります。ここで、<device_class_name>は、LVMClusterCR のdeviceClasses.nameフィールドの値になります。たとえば、deviceClasses.nameフィールドがvg1に設定されている場合、storageClassNameフィールドをlvms-vg1に設定する必要があります。注記ストレージクラスの
volumeBindingModeフィールドはWaitForFirstConsumerに設定されます。
以下のコマンドを実行して PVC を作成します。
# oc create -f <file_name> -n <application_namespace>注記作成された PVC は、それらを使用する Pod をデプロイするまで
Pending状態のままになります。
検証
PVC が作成されたことを確認するには、次のコマンドを実行します。
$ oc get pvc -n <namespace>出力例
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE lvm-block-1 Bound pvc-e90169a8-fd71-4eea-93b8-817155f60e47 1Gi RWO lvms-vg1 5s