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