6.6. LVMS の使用
LVMS StorageClass
は、デフォルトの StorageClass
でデプロイされます。.spec.storageClassName
が定義されていない PersistentVolumeClaim
オブジェクトには、デフォルトの StorageClass
からプロビジョニングされた PersistentVolume
が自動的に含まれます。次の手順を使用して、論理ボリュームをプロビジョニングし、Pod にマウントします。
手順
論理ボリュームを Pod にプロビジョニングしてマウントするには、次のコマンドを実行します。
$ cat <<EOF | oc apply -f - kind: PersistentVolumeClaim apiVersion: v1 metadata: name: my-lv-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1G --- apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: - name: nginx image: nginx command: ["/usr/bin/sh", "-c"] args: ["sleep", "1h"] volumeMounts: - mountPath: /mnt name: my-volume securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsNonRoot: true seccompProfile: type: RuntimeDefault volumes: - name: my-volume persistentVolumeClaim: claimName: my-lv-pvc EOF
6.6.1. デバイスクラス
device-classes
配列を論理ボリュームマネージャーストレージ (LVMS) 設定に追加することで、カスタムデバイスクラスを作成できます。配列を /etc/microshift/lvmd.yaml
設定ファイルに追加します。1 つのデバイスクラスをデフォルトとして設定する必要があります。設定の変更を有効にするには、MicroShift を再起動する必要があります。
デバイスクラスに接続されている永続ボリュームまたは VolumeSnapshotContent
オブジェクトがまだあるにもかかわらず、デバイスクラスを削除すると、シックプロビジョニングとシンプロビジョニングの両方が中断されます。
device-classes
配列で複数のデバイスクラスを定義できます。これらのクラスは、シックボリューム設定とシンボリューム設定を組み合わせて使用できます。
混合 デバイスクラス
配列の例
socket-name: /run/topolvm/lvmd.sock device-classes: - name: ssd volume-group: ssd-vg spare-gb: 0 1 default: true - name: hdd volume-group: hdd-vg spare-gb: 0 - name: thin spare-gb: 0 thin-pool: name: thin overprovision-ratio: 10 type: thin volume-group: ssd - name: striped volume-group: multi-pv-vg spare-gb: 0 stripe: 2 stripe-size: "64" lvcreate-options:2