配置条带逻辑卷

当您向 LVM 逻辑卷写入数据时,文件系统会将数据分布到底层的物理卷上。您可以通过创建条带逻辑卷来控制数据写入物理卷的方式。对于大规模的顺序读写操作,这可以提高数据 I/O 的效率。

条带化通过以轮询方式将数据写入预定数量的物理卷来增强性能。使用条带化,I/O 可以并行进行。在某些情况下,每增加一个物理卷,性能几乎呈线性提升。

TopoLVM 通过在 StorageClass 中指定 lvcreate-option-class 来实现这一点。

前提条件

  • 设备类必须在单个节点上包含至少两个设备

操作步骤

使用默认的 lvcreate-option-class

  1. 进入 管理员

  2. 在左侧边栏,依次进入 存储管理 > 存储类

  3. 点击 创建存储类

  4. 选择 块存储

  5. 选择 TopoLVM,然后点击 下一步

  6. 配置所需的存储类参数。

  7. 切换到 YAML 视图 并添加 topolvm.io/lvcreate-option-class 参数:

    parameters:
      topolvm.io/lvcreate-option-class: striped-default
    NOTE

    striped-default 是 Alauda Container Platform 内置的 lvcreate-option-class。当 TopoLVM CSI 驱动创建逻辑卷时,它会自动向 lvcreate 命令追加 --stripes=2--stripesize=64

创建自定义 lvcreate-option-class(可选)

如果内置的 striped-default 类不能满足您的需求,您可以定义自定义的 LVCreateOptionClass:

cat << EOF | kubectl apply -f -
apiVersion: topolvm.cybozu.com/v2
kind: LVCreateOption
metadata:
  name: custom
  namespace: nativestor-system
spec:
  options:
  - name: striped-custom
    type: striped
    options:
    - --stripes=3
    - --stripesize=64
EOF

该清单创建了一个名为 striped-custom 的自定义 LVCreateOptionClass,具有 3 条条带和 64 KiB 的条带大小。应用后,您可以在 StorageClass 中通过 topolvm.io/lvcreate-option-class: striped-custom 引用它。