Skip to main content
本产品推出了新版本。
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

配置 NetApp HCI 或 SolidFire 后端

贡献者

了解如何在 Astra Trident 安装中创建和使用 Element 后端。

您需要的内容
  • 运行 Element 软件的受支持存储系统。

  • NetApp HCI/SolidFire 集群管理员或租户用户的凭据,可用于管理卷。

  • 所有 Kubernetes 工作节点都应安装适当的 iSCSI 工具。请参见 "工作节点准备信息"

您需要了解的信息

solidfire-san 存储驱动程序支持两种卷模式: file 和 block 。对于 filesystem volumemode , Astra Trident 将创建一个卷并创建一个文件系统。文件系统类型由 StorageClass 指定。

驱动程序 协议 卷模式 支持的访问模式 支持的文件系统

solidfire-san

iSCSI

rwo , rox , rwx

无文件系统。原始块设备。

solidfire-san

iSCSI

rwo , rox , rwx

无文件系统。原始块设备。

solidfire-san

iSCSI

文件系统

工单, ROX

xfsext3ext4

solidfire-san

iSCSI

文件系统

工单, ROX

xfsext3ext4

备注 Astra Trident 在用作增强型 CSI 配置程序时使用 CHAP 。如果您使用的是 CHAP (这是 CSI 的默认设置),则无需进行进一步准备。建议明确设置 UseCHAP 选项,以便对非 CSI Trident 使用 CHAP 。否则,请参见 "此处"
警告 只有适用于 Astra Trident 的传统非 CSI 框架才支持卷访问组。如果配置为在 CSI 模式下运行,则 Astra Trident 将使用 CHAP 。

如果未设置 AccessGroupsUseCHAP ,则适用以下规则之一:

  • 如果检测到默认的 trident 访问组,则会使用访问组。

  • 如果未检测到访问组,并且 Kubernetes 版本为 1.7 或更高版本,则会使用 CHAP 。

后端配置选项

有关后端配置选项,请参见下表:

参数 Description Default

ve版本

始终为 1

storageDriverName

存储驱动程序的名称

始终为 "solidfire-san"

backendName

自定义名称或存储后端

SolidFire + 存储( iSCSI ) IP 地址

端点

使用租户凭据的 SolidFire 集群的 MVIP

sVIP

存储( iSCSI ) IP 地址和端口

标签

要应用于卷的一组任意 JSON 格式的标签。

"

租户名称

要使用的租户名称(如果未找到,则创建)

InitiatorIFace

将 iSCSI 流量限制为特定主机接口

default

UseCHAP

使用 CHAP 对 iSCSI 进行身份验证

true

访问组

要使用的访问组 ID 列表

查找名为 "trident " 的访问组的 ID

类型

QoS 规范

limitVolumeSize

如果请求的卷大小超过此值,则配置失败

" (默认情况下不强制实施)

debugTraceFlags

故障排除时要使用的调试标志。示例 { "api" : false , "method " : true }

警告 请勿使用 debugTraceFlags ,除非您正在进行故障排除并需要详细的日志转储。
备注 对于创建的所有卷, Astra Trident 会在配置存储池时将存储池上的所有标签复制到备用存储 LUN 。存储管理员可以为每个存储池定义标签,并对存储池中创建的所有卷进行分组。这样,您就可以根据后端配置中提供的一组可自定义标签来方便地区分卷了。

示例1:的后端配置 solidfire-san 具有三种卷类型的驱动程序

此示例显示了一个后端文件,该文件使用 CHAP 身份验证并使用特定 QoS 保证对三种卷类型进行建模。然后,您很可能会使用 IOPS storage class 参数定义存储类以使用其中的每种类型。

{
    "version": 1,
    "storageDriverName": "solidfire-san",
    "Endpoint": "https://<user>:<password>@<mvip>/json-rpc/8.0",
    "SVIP": "<svip>:3260",
    "TenantName": "<tenant>",
    "labels": {"k8scluster": "dev1", "backend": "dev1-element-cluster"},
    "UseCHAP": true,
    "Types": [{"Type": "Bronze", "Qos": {"minIOPS": 1000, "maxIOPS": 2000, "burstIOPS": 4000}},
              {"Type": "Silver", "Qos": {"minIOPS": 4000, "maxIOPS": 6000, "burstIOPS": 8000}},
              {"Type": "Gold", "Qos": {"minIOPS": 6000, "maxIOPS": 8000, "burstIOPS": 10000}}]
}

示例2:的后端和存储类配置 solidfire-san 具有虚拟存储池的驱动程序

此示例显示了使用虚拟存储池配置的后端定义文件以及引用这些池的 StorageClasses 。

在下面所示的示例后端定义文件中,为所有存储池设置了特定的默认值,即将 type 设置为 Silver 。虚拟存储池在 s存储 部分中进行定义。在此示例中,某些存储池设置了自己的类型,而某些池将覆盖上述默认值。

{
    "version": 1,
    "storageDriverName": "solidfire-san",
    "Endpoint": "https://<user>:<password>@<mvip>/json-rpc/8.0",
    "SVIP": "<svip>:3260",
    "TenantName": "<tenant>",
    "UseCHAP": true,
    "Types": [{"Type": "Bronze", "Qos": {"minIOPS": 1000, "maxIOPS": 2000, "burstIOPS": 4000}},
              {"Type": "Silver", "Qos": {"minIOPS": 4000, "maxIOPS": 6000, "burstIOPS": 8000}},
              {"Type": "Gold", "Qos": {"minIOPS": 6000, "maxIOPS": 8000, "burstIOPS": 10000}}],

    "type": "Silver",
    "labels":{"store":"solidfire", "k8scluster": "dev-1-cluster"},
    "region": "us-east-1",

    "storage": [
        {
            "labels":{"performance":"gold", "cost":"4"},
            "zone":"us-east-1a",
            "type":"Gold"
        },
        {
            "labels":{"performance":"silver", "cost":"3"},
            "zone":"us-east-1b",
            "type":"Silver"
        },
        {
            "labels":{"performance":"bronze", "cost":"2"},
            "zone":"us-east-1c",
            "type":"Bronze"
        },
        {
            "labels":{"performance":"silver", "cost":"1"},
            "zone":"us-east-1d"
        }
    ]
}

以下 StorageClass 定义引用了上述虚拟存储池。使用 parameters.selector 字段,每个 StorageClass 都会调用可用于托管卷的虚拟池。卷将在选定虚拟池中定义各个方面。

第一个 StorageClass ( solidfire-gold-四 )将映射到第一个虚拟存储池。这是唯一一个性能卓越的池,其 卷类型 QoS 值为金牌。最后一个 StorageClass ( solidfire-silver )调用可提供银牌性能的任何存储池。Astra Trident 将决定选择哪个虚拟存储池,并确保满足存储要求。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: solidfire-gold-four
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=gold; cost=4"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: solidfire-silver-three
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=silver; cost=3"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: solidfire-bronze-two
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=bronze; cost=2"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: solidfire-silver-one
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=silver; cost=1"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: solidfire-silver
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=silver"
  fsType: "ext4"

了解更多信息