本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

存储类参数

概述

存储类作为资源对象具有多个可配置参数。

示例:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: longhorn-test
provisioner: driver.longhorn.io
allowVolumeExpansion: true
reclaimPolicy: Delete
volumeBindingMode: Immediate
parameters:
  backupTargetName: "default"
  numberOfReplicas: "3"
  staleReplicaTimeout: "2880"
  fromBackup: ""
  fsType: "ext4"
#  mkfsParams: ""
#  migratable: false
#  encrypted: false
#  dataLocality: "disabled"
#  replicaAutoBalance: "ignored"
#  diskSelector: "ssd,fast"
#  nodeSelector: "storage,fast"
#  recurringJobSelector: '[{"name":"snap-group", "isGroup":true},
#                          {"name":"backup", "isGroup":false}]'
#  backingImageName: ""
#  backingImageChecksum: ""
#  backingImageDataSourceType: ""
#  backingImageDataSourceParameters: ""
#  unmapMarkSnapChainRemoved: "ignored"
#  disableRevisionCounter: false
#  replicaSoftAntiAffinity: "ignored"
#  replicaZoneSoftAntiAffinity: "ignored"
#  replicaDiskSoftAntiAffinity: "ignored"
#  nfsOptions: "soft,timeo=150,retrans=3"
#  dataEngine: "v1"
#  freezeFSForSnapshot: "ignored"
# allowedTopologies:
#   - matchLabelExpressions:
#       - key: topology.kubernetes.io/zone
#         values:
#           - us-central-1a
#           - us-central-1b

内置字段

某些字段是所有Kubernetes存储类共有的。 另见 Kubernetes存储类

供应者 (字段: provisioner)

指定将用于动态创建持久卷的插件。对于 SUSE Storage,这始终是 driver.longhorn.io

允许卷扩展 (字段: allowVolumeExpansion)

默认值:trueKubernetes存储类:允许卷扩展

回收策略 (字段: reclaimPolicy)

默认值:DeleteKubernetes存储类:回收策略

挂载选项 (字段: mountOptions)

卷绑定模式 (字段: volumeBindingMode)

默认 ImmediateKubernetes存储类 - 卷绑定模式

允许的拓扑 (字段: allowedTopologies)

查看Kubernetes参考 存储类 — 允许的拓扑

它指定了可以通过匹配节点标签来配置卷的节点集合。 SUSE Storage使用此字段填充PV的`nodeAffinity`,通过CSI `accessibleTopology`字段。

要使 allowedTopologies 生效,必须使用相应的拓扑键配置 SUSE Storage 设置 csi-allowed-topology-keys(例如,topology.kubernetes.io/zone)。没有此设置,拓扑信息将不会传递,PV 将没有 nodeAffinity

请不要allowedTopologiesparameters.dataLocality: strict-local 一起使用。生成的 PV nodeAffinity 变为不可变,并且会与 SUSE Storage 的严格本地卷固定冲突。

有关示例的完整操作指南,请参见 拓扑感知配置

SUSE Storage特定参数

请注意,这些参数中的某些参数也存在,并且可以在全局设置中指定。当使用 Kubernetes 针对特定存储类提供卷时,存储类参数会覆盖全局设置。 这些字段仅适用于新卷的创建。如果修改了存储类,SUSE Storage 和 Kubernetes 都不会处理将其参数的更改传播回之前使用该存储类创建的卷。

副本数量 (字段: parameters.numberOfReplicas)

默认值为: 3

为实现冗余所需的副本数量。

  • 必须在 1 到 20 之间。

  • 副本将分布在集群中尽可能广泛的区域、节点和磁盘上,受其他约束(如 NodeSelector)的限制。

全局设置 - 默认副本数量

过期副本超时 (字段: parameters.staleReplicaTimeout)

默认值为: 30

副本被标记为不健康后,需等待几分钟才会被视为对重建无用并被删除。

从备份 (字段: parameters.fromBackup)

默认值:""`示例: `"s3://backupbucket@us-east-1?volume=minio-vol01&backup=backup-eeb2782d5b2f42bb"

要恢复的备份的 URL。

FS 类型 (字段: parameters.fsType)

默认值:ext4 有关更多详细信息,请查看 创建 Longhorn 卷与 Kubernetes

Mkfs 参数 (字段: parameters.mkfsParams)

默认值:"" 有关更多详细信息,请查看 创建 Longhorn 卷与 Kubernetes

可迁移 (字段: parameters.migratable)

默认值为: false

启用 Longhorn 卷的实时迁移功能,允许在保持活动 I/O 操作的同时将其从一个节点迁移到另一个节点。

何时使用

  1. migratable: true:对于需要实时迁移的工作负载。必须与 ReadWriteMany 访问模式和 volumeMode: Block 一起使用。

  2. migratable: false:对于不需要实时迁移功能的标准卷。

有关更多详细信息,请查看 可读写多(RWX)卷

加密 (字段: parameters.encrypted)

默认值:false 有关更多详细信息,请查看 加密卷

数据本地性 (字段: parameters.dataLocality)

默认值为: disabled

如果启用,尽量将数据保留在与工作负载相同的节点上以获得更好的性能。

  • 对于 best-effort,如果可能,副本将共置,但如果不可能,则允许找到另一个节点。

  • 对于 strict-local,副本数量应为 1,否则卷创建将因参数验证错误而失败。

  • 如果由于其他原因无法 strict-local,则卷创建将失败。一个与其工作负载分离的 strict-local 副本将被标记为 "Stopped"

全局设置 - 默认数据本地性。 有关更多详细信息,请查看 数据本地性

副本自动平衡 (字段: parameters.replicaAutoBalance)

默认值为: ignored

如果启用,将副本移动到负载较轻的节点。

  • `ignored`表示使用全局设置。

  • 其他选项为 disabled, least-effort, best-effort

全局设置 - 副本自动平衡。 有关更多详细信息,请查看自动平衡副本

磁盘选择器 (字段: parameters.diskSelector)

默认值:""`示例: `"ssd,fast"

选择哪些磁盘是副本放置候选者的标签列表。

有关更多详细信息,请查看存储标签

节点选择器 (字段: parameters.nodeSelector)

默认值:""`示例: `"storage,fast"

选择哪些节点是副本放置候选者的标签列表。

有关更多详细信息,请查看存储标签

定期作业选择器 (字段: parameters.recurringJobSelector)

默认值:"" 示例: [{"name":"backup", "isGroup":true}]

要在卷上运行的定期作业列表。

有关更多详细信息,请查看创建定期备份/快照作业

后备映像名称 (字段: parameters.backingImageName)

默认值:"" 请参见 后备映像

后备映像校验和 (字段: parameters.backingImageChecksum)

默认值:"" 请参见 后备映像

后备映像数据源类型 (字段: parameters.backingImageDataSourceType)

默认值:"" 请参见 后备映像

后备映像数据源参数 (字段: parameters.backingImageDataSourceParameters)

默认值:"" 请参见 后备映像

取消映射标记快照链已移除 (字段: parameters.unmapMarkSnapChainRemoved)

默认值为: ignored

  • `ignored`表示使用全局设置。

  • 其他值为 enableddisabled

全局设置 - 在文件系统修整期间去除快照。 有关更多详细信息,请查看 修整文件系统

禁用修订计数器 (字段: parameters.disableRevisionCounter)

默认值为: true

全局设置 - 禁用修订计数器。 有关更多详细信息,请查看 修订计数器

副本软反亲和性 (字段: parameters.replicaSoftAntiAffinity)

默认值为: ignored

  • `ignored`表示使用全局设置。

  • 其他值为 enableddisabled

全局设置 - 副本节点级别软反亲和性。 有关更多详细信息,请查看 调度最佳实践

副本区域软反亲和性 (字段: parameters.replicaZoneSoftAntiAffinity)

默认值为: ignored

  • `ignored`表示使用全局设置。

  • 其他值为 enableddisabled

全局设置 - 副本区域级别软反亲和性。 有关更多详细信息,请查看 调度

副本磁盘软反亲和性 (字段: parameters.replicaDiskSoftAntiAffinity)

默认值为: ignored

  • `ignored`表示使用全局设置。

  • 其他值为 enableddisabled

全局设置 - 副本磁盘级别软反亲和性。 有关更多详细信息,请查看 调度

NFS 选项 (字段: parameters.nfsOptions)

默认值:"" 示例: "hard,sync"

  • RWX 卷的 NFS 挂载覆盖到共享管理器。请谨慎使用此字段。

    内置选项因版本而异。在设置此项之前,请检查您的发布详细信息。

有关更多详细信息,请查看RWX Workloads

数据引擎 (字段:parameters.dataEngine)

默认值为: "v1"

  • 指定"v2"以启用V2数据引擎(技术预览功能)。未指定时,SUSE Storage使用默认值("v1")。

全局设置:V2数据引擎。 更多详细信息在V2数据引擎快速入门

为快照冻结文件系统 (字段:parameters.freezeFilesystemForSnapshot)

默认值为: ignored

  • `ignored`指示SUSE Storage使用全局设置。

  • 其他值为 enableddisabled

全局设置 - 为快照冻结文件系统

备份目标名称 (字段:parameters.backupTargetName)

默认值为: default

备份块大小 (字段:parameters.backupBlockSize)

默认值为: ""

示例:"2Mi"`或`"16Mi"

Kubernetes数量字符串。使用空字符串""以应用全局设置。

有关更多信息,请参见:

Helm安装

如果通过 Helm 安装了 SUSE Storage,可以通过编辑 values.yaml 中相应的项目来设置默认存储类中的值。 所有存储类参数都有一个 persistence 的前缀。 例如,persistence.defaultNodeSelector