6.5. 使用 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.5.1. 设备类
您可以通过在逻辑卷管理器存储(LVMS)配置中添加 device-classes
数组来创建自定义设备类。将数组添加到 /etc/microshift/lvmd.yaml
配置文件中。必须将单个设备类设置为默认值。您必须重启 MicroShift 才能使配置更改生效。
警告
当仍然连接到那个设备类的持久性卷或 VolumeSnapshotContent
对象时,删除设备类会破坏厚和精简置备。
您可以在 device-classes
阵列中定义多个设备类。这些类可以是厚和精简卷配置的组合。
混合 device-class
数组示例
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