6.5. 使用 LVMS


LVMS StorageClass 使用一个默认 StorageClass 部署。任何没有自动定义的 .spec.storageClassNamePersistentVolumeClaim 对象,都会有一个从默认 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

1
当您将备用容量设置为 0 以外的任何值时,可以比预期分配更多空间。
2
要传递给 lvcreate 命令的额外参数,如 --type=<type>。MicroShift 和 LVMS 都验证 lvcreate-options 值。这些可选值按照 传递给 lvcreate 命令。确保此处指定的选项正确。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.