1.11. 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
1.11.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
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: