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

存储配置选项

贡献者

请参见适用于您的 Astra Trident 配置的配置选项。

全局配置选项

这些配置选项适用于所有 Astra Trident 配置,而不考虑所使用的存储平台。

选项 Description 示例

version

配置文件版本号

1.

storageDriverName

存储驱动程序的名称

ontap-nasontap-sanontap-nas-economy
ontap-nas-flexgroupsolidfire-sanazure-netapp-files`或 `gcp-cvs

storagePrefix

卷名称的可选前缀。默认值: "netappdvp_ " 。

暂存 _

limitVolumeSize

卷大小的可选限制。默认值: " " (未强制实施)

10 G

提示 请勿使用 storagePrefix 元素后端的(包括默认值)。默认情况下、 solidfire-san 驱动程序将忽略此设置、而不使用前缀。我们建议使用特定的租户 ID 进行 Docker 卷映射,或者在可能已使用任何名称的情况下使用 Docker 中填充的 Docker 版本,驱动程序信息和原始名称的属性数据。

您可以使用默认选项来避免在创建的每个卷上指定这些选项。。 size 选项可用于所有控制器类型。有关如何设置默认卷大小的示例,请参见 ONTAP 配置一节。

选项 Description 示例

size

新卷的可选默认大小。默认值: "1G"

10 G

ONTAP 配置

除了上述全局配置值之外,在使用 ONTAP 时,还可以使用以下顶级选项。

选项 Description 示例

managementLIF

ONTAP 管理 LIF 的 IP 地址。您可以指定完全限定域名( FQDN )。

10.0.0.1

dataLIF

协议 LIF 的 IP 地址;如果未指定,则派生此地址。。 ontap-nas 驱动程序*仅*。您可以指定FQDN、在这种情况下、FQDN将用于NFS挂载操作。。 ontap-san 驱动程序、默认情况下使用SVM中的所有数据LIF IP并使用iSCSI多路径。指定的IP地址 dataLIFontap-san 驱动程序强制驱动程序禁用多路径、并且仅使用指定的地址。

10.0.0.2

svm

要使用的 Storage Virtual Machine (如果管理 LIF 为集群 LIF ,则为必填项)

SVM_NFS

username

用于连接到存储设备的用户名

vsadmin

password

用于连接到存储设备的密码

机密

aggregate

要配置的聚合(可选;如果设置了聚合,则必须将其分配给 SVM )。。 ontap-nas-flexgroup 驱动程序、此选项将被忽略。分配给 SVM 的所有聚合都用于配置 FlexGroup 卷。

aggr1.

limitAggregateUsage

可选,如果使用量超过此百分比,则配置失败

75%

nfsMountOptions

对 NFS 挂载选项进行精细控制;默认为 -o nfsver=3 。仅适用于 ontap-nasontap-nas-economy 驱动程序"请参见此处的 NFS 主机配置信息"

-o nfsver=4

igroupName

插件使用的 igroup ;默认为 "netappdvp " 。* 仅适用于 `ontap-san`driver* 。

myigroup

limitVolumeSize

可请求的最大卷大小和 qtree 父卷大小。用于 ontap-nas-economy 驱动程序、此选项还会限制其创建的FlexVol的大小

300 克

qtreesPerFlexvol

每个 FlexVol 的最大 qtree 数必须在 50 , 300 范围内,默认值为 200 。*用于 ontap-nas-economy 驱动程序、此选项允许自定义每个qtree*的最大FlexVol 数。

300

您可以使用默认选项来避免在创建的每个卷上指定这些选项:

选项 Description 示例

spaceReserve

空间预留模式; " 无 " (精简配置)或 " 卷 " (厚)

snapshotPolicy

要使用的 Snapshot 策略,默认值为 " 无 "

snapshotReserve

Snapshot 预留百分比,默认值为 " " 以接受 ONTAP 的默认值

10

splitOnClone

创建克隆时将其从父级拆分,默认为 "false"

false

encryption

在新卷上启用NetApp卷加密(NVE);默认为 false。要使用此选项,必须在集群上获得 NVE 的许可并启用 NVE 。

如果在后端启用了NAE、则在Astra Trident中配置的任何卷都将启用NAE。

有关详细信息、请参见: "Astra Trident如何与NVE和NAE配合使用"

true

unixPermissions

已配置 NFS 卷的 NAS 选项,默认为 "777"

777.

snapshotDir

用于访问的NAS选项 .snapshot 目录、默认为"false"

true

exportPolicy

要使用的 NFS 导出策略的 NAS 选项,默认为 " 默认 "

default

securityStyle

用于访问已配置 NFS 卷的 NAS 选项,默认为 "UNIX"

混合

fileSystemType

SAN 选项要选择文件系统类型,默认为 "ext4"

XFS

tieringPolicy

要使用的分层策略,对于 ONTAP 9.5 SVM-DR 之前的配置,默认为 " 无 " ; " 仅快照 "

扩展选项

ontap-nasontap-san 驱动程序会为每个Docker卷创建一个ONTAP FlexVol。对于每个集群节点, ONTAP 最多支持 1000 个 FlexVol ,而集群最多支持 12 , 000 个 FlexVol 。如果您的Docker卷要求符合此限制、则会显示 ontap-nas 由于FlexVol提供了其他功能、例如Docker卷粒度快照和克隆、因此驱动程序是首选NAS解决方案。

如果所需的Docker卷数超过FlexVol 限制所能容纳的数量、请选择 ontap-nas-economyontap-san-economy 驱动程序。

ontap-nas-economy 驱动程序会在一个自动管理的ONTAP 卷池中将Docker卷创建为FlexVol qtree。qtree 的扩展能力远高于此,每个集群节点最多可扩展 100 , 000 个,每个集群最多可扩展 2 , 400 , 000 个,但某些功能会受到影响。。 ontap-nas-economy 驱动程序不支持Docker卷粒度快照或克隆。

备注 ontap-nas-economy 目前、Docker Swarm不支持驱动程序、因为Swarm不会跨多个节点编排卷创建。

ontap-san-economy 驱动程序会在一个由自动管理的FlexVol构成的共享池中将Docker卷创建为ONTAP LUN。这样,每个 FlexVol 就不会仅限于一个 LUN ,并且可以为 SAN 工作负载提供更好的可扩展性。根据存储阵列的不同, ONTAP 每个集群最多支持 16384 个 LUN 。由于卷是下面的 LUN ,因此此驱动程序支持 Docker 卷粒度快照和克隆。

选择 ontap-nas-flexgroup 驱动程序、用于将并行性提高到单个卷、该卷可以扩展到包含数十亿个文件的PB范围。FlexGroup 的一些理想用例包括 AI/ML/DL ,大数据和分析,软件构建,流式传输,文件存储库等。配置 FlexGroup 卷时, Trident 会使用分配给 SVM 的所有聚合。Trident 中的 FlexGroup 支持还需要注意以下事项:

  • 需要 ONTAP 9.2 或更高版本。

  • 截至本文撰写时, FlexGroup 仅支持 NFS v3 。

  • 建议为 SVM 启用 64 位 NFSv3 标识符。

  • 建议的最小 FlexGroup 大小为 100 GB 。

  • FlexGroup 卷不支持克隆。

有关适用于 FlexGroup 的 FlexGroup 和工作负载的信息,请参见 "《 NetApp FlexGroup 卷最佳实践和实施指南》"

要在同一环境中获得高级功能和大规模扩展、您可以运行多个Docker卷插件实例、其中一个使用 ontap-nas 另一种方法是使用 ontap-nas-economy

ONTAP 配置文件示例

的* NFS示例 ontap-nas 驱动程序*

{
    "version": 1,
    "storageDriverName": "ontap-nas",
    "managementLIF": "10.0.0.1",
    "dataLIF": "10.0.0.2",
    "svm": "svm_nfs",
    "username": "vsadmin",
    "password": "secret",
    "aggregate": "aggr1",
    "defaults": {
      "size": "10G",
      "spaceReserve": "none",
      "exportPolicy": "default"
    }
}

的* NFS示例 ontap-nas-flexgroup 驱动程序*

{
    "version": 1,
    "storageDriverName": "ontap-nas-flexgroup",
    "managementLIF": "10.0.0.1",
    "dataLIF": "10.0.0.2",
    "svm": "svm_nfs",
    "username": "vsadmin",
    "password": "secret",
    "defaults": {
      "size": "100G",
      "spaceReserve": "none",
      "exportPolicy": "default"
    }
}

的* NFS示例 ontap-nas-economy 驱动程序*

{
    "version": 1,
    "storageDriverName": "ontap-nas-economy",
    "managementLIF": "10.0.0.1",
    "dataLIF": "10.0.0.2",
    "svm": "svm_nfs",
    "username": "vsadmin",
    "password": "secret",
    "aggregate": "aggr1"
}

的* iSCSI示例 ontap-san 驱动程序*

{
    "version": 1,
    "storageDriverName": "ontap-san",
    "managementLIF": "10.0.0.1",
    "dataLIF": "10.0.0.3",
    "svm": "svm_iscsi",
    "username": "vsadmin",
    "password": "secret",
    "aggregate": "aggr1",
    "igroupName": "myigroup"
}

的* NFS示例 ontap-san-economy 驱动程序*

{
    "version": 1,
    "storageDriverName": "ontap-san-economy",
    "managementLIF": "10.0.0.1",
    "dataLIF": "10.0.0.3",
    "svm": "svm_iscsi_eco",
    "username": "vsadmin",
    "password": "secret",
    "aggregate": "aggr1",
    "igroupName": "myigroup"
}

Element 软件配置

除了全局配置值之外,在使用 Element 软件( NetApp HCI/SolidFire )时,还可以使用这些选项。

选项 Description 示例

Endpoint

SVIP

iSCSI IP 地址和端口

10.0.0.7 : 3260

TenantName

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

Docker

InitiatorIFace

将 iSCSI 流量限制为非默认接口时,请指定接口

default

Types

QoS 规范

请参见以下示例

LegacyNamePrefix

升级后的 Trident 安装的前缀。如果您使用的是 1.3.2 之前的 Trident 版本并对现有卷执行升级,则需要设置此值才能访问通过 volume-name 方法映射的旧卷。

"netappdvp- "

solidfire-san 驱动程序不支持Docker Swarm。

Element 软件配置文件示例

{
    "version": 1,
    "storageDriverName": "solidfire-san",
    "Endpoint": "https://admin:admin@192.168.160.3/json-rpc/8.0",
    "SVIP": "10.0.0.7:3260",
    "TenantName": "docker",
    "InitiatorIFace": "default",
    "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
            }
        }
    ]
}

GCP 配置上的 Cloud Volumes Service ( CVS )

Trident 现在支持使用默认 CVS 服务类型的较小卷 "GCP"。用于使用创建的后端 `storageClass=software`下、卷的最小配置大小将为300 GiB。* NetApp 建议客户将低于 1 TiB 的卷用于非生产工作负载 * 。CVS 目前在 " 受控可用性 " 下提供此功能,不提供技术支持。

备注 注册以访问低于 1TiB 的卷 "此处"
警告 使用默认CVS服务类型部署后端时 `storageClass=software`下、您应获得GCP上有关项目编号和项目ID的子1TiB卷功能的访问权限。这对于 Trident 配置低于 1TiB 的卷是必需的。否则,对于小于 600 GiB 的 PVC ,卷创建 * 将失败 * 。使用访问低于 1TiB 的卷 "此表单"

Trident 为默认 CVS 服务级别创建的卷将按以下方式进行配置:

  • 小于 300 GiB 的 PVC 将导致 Trident 创建 300 GiB 的 CVS 卷。

  • 如果 PVC 介于 300 GiB 到 600 GiB 之间,则 Trident 将创建一个请求大小的 CVS 卷。

  • 介于 600 GiB 和 1 TiB 之间的 PVC 将导致 Trident 创建 1 TiB CVS 卷。

  • 如果 PVC 大于 1 TiB ,则 Trident 将创建一个请求大小的 CVS 卷。

除了全局配置值之外,在 GCP 上使用 CVS 时,还可以使用这些选项。

选项 Description 示例

apiRegion

CVS 帐户区域(必需)。是此后端将配置卷的 GCP 区域。

"us-west2"

projectNumber

GCP 项目编号(必需)。可以在 GCP Web 门户的主屏幕中找到。

"123456789012"

hostProjectNumber

GCP 共享 VPC 主机项目编号(如果使用共享 VPC ,则为必填项)

"098765432109"

apiKey

具有 CVS 管理员角色的 GCP 服务帐户的 API 密钥(必需)。是 GCP 服务帐户专用密钥文件的 JSON 格式内容(逐字复制到后端配置文件)。服务帐户必须具有 netappcloudvolumes.admin 角色。

(私钥文件的内容)

secretKey

CVS 帐户密钥(必需)。可以在 CVS Web 门户中的 "Account settings" >"API access" 中找到。

default

proxyURL

代理服务器需要连接到 CVS 帐户时的代理 URL 。代理服务器可以是 HTTP 代理,也可以是 HTTPS 代理。对于 HTTPS 代理,系统会跳过证书验证,以允许在代理服务器中使用自签名证书。* 不支持已启用身份验证的代理服务器 * 。

nfsMountOptions

NFS 挂载选项;默认为 -o nfsver=3

"nfsver=3 , proto=tcp , timeo=600"

serviceLevel

性能级别(标准,高级,极高),默认为 " 标准 "

高级版

network

用于 CVS 卷的 GCP 网络,默认为 " 默认 "

default

备注 如果使用共享VPC网络、则应同时指定这两者 projectNumberhostProjectNumber。在这种情况下、 projectNumber 是服务项目和 hostProjectNumber 是主机项目。
备注 NetApp Cloud Volumes Service for GCP 不支持小于 100 GiB 的 CVS-Performance 卷或小于 300 GiB 的 CVS 卷。为了便于部署应用程序,如果请求的卷太小, Trident 会自动创建最小大小的卷。

在 GCP 上使用 CVS 时,可以使用这些默认卷选项设置。

选项 Description 示例

exportRule

NFS 访问列表(地址和 / 或 CIDR 子网),默认为 "0.0.0.0/0 "

"10.0.1.0/24 10.0.0.2.100"

snapshotDir

控制的可见性 .snapshot 目录

false

snapshotReserve

Snapshot 预留百分比,默认值为 " " 以接受 CVS 默认值 0

10

size

卷大小,默认为 "100GiB"

"10T"

GCP 配置文件上的 CVS 示例

{
    "version": 1,
    "storageDriverName": "gcp-cvs",
    "projectNumber": "012345678901",
    "apiRegion": "us-west2",
    "apiKey": {
        "type": "service_account",
        "project_id": "my-gcp-project",
        "private_key_id": "<id_value>",
        "private_key": "
        -----BEGIN PRIVATE KEY-----
        <key_value>
        -----END PRIVATE KEY-----\n",
        "client_email": "cloudvolumes-admin-sa@my-gcp-project.iam.gserviceaccount.com",
        "client_id": "123456789012345678901",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/cloudvolumes-admin-sa%40my-gcp-project.iam.gserviceaccount.com"
    },
    "proxyURL": "http://proxy-server-hostname/"
}

Azure NetApp Files 配置

配置和使用 "Azure NetApp Files" 后端,您需要满足以下要求:

  • subscriptionID 从启用了Azure NetApp Files 的Azure订阅

  • tenantIDclientID,和 clientSecret"应用程序注册" 在 Azure Active Directory 中,具有足够的 Azure NetApp Files 服务权限

  • 至少包含一个的 Azure 位置 "委派子网"

提示 如果您是首次使用 Azure NetApp Files 或在新位置使用,则需要对进行一些初始配置 "《快速入门指南》" 将引导您完成操作。
备注 Astra Trident 21.04.0 及更早版本不支持手动 QoS 容量池。
选项 Description Default

version

始终为 1

storageDriverName

"azure-netapp-files"

backendName

存储后端的自定义名称

驱动程序名称 + "_" + 随机字符

subscriptionID

Azure 订阅中的订阅 ID

tenantID

应用程序注册中的租户 ID

clientID

应用程序注册中的客户端 ID

clientSecret

应用程序注册中的客户端密钥

serviceLevel

" 标准 " , " 高级 " 或 " 超 " 之一

" (随机)

location

将在中创建新卷的 Azure 位置名称

" (随机)

virtualNetwork

具有委派子网的虚拟网络的名称

" (随机)

subnet

委派给的子网的名称 Microsoft.Netapp/volumes

" (随机)

nfsMountOptions

精细控制 NFS 挂载选项

-o nfsver=3

limitVolumeSize

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

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

备注 Azure NetApp Files 服务不支持小于 100 GB 的卷。为了便于部署应用程序,如果请求的卷较小, Trident 会自动创建 100 GB 的卷。

您可以在配置的特殊部分中使用这些选项来控制默认配置每个卷的方式。

选项 Description Default

exportRule

新卷的导出规则。必须是以 CIDR 表示法表示的任意 IPv4 地址或 IPv4 子网组合的逗号分隔列表。

"0.0.0.0/0 "

snapshotDir

控制的可见性 .snapshot 目录

false

size

新卷的默认大小

"100G"

Azure NetApp Files 配置示例

  • 示例 1 : azure-netapp-files* 的最小后端配置

这是绝对的最低后端配置。使用此配置, Trident 将发现全球每个位置委派给 ANF 的所有 NetApp 帐户,容量池和子网,并随机将新卷放置在其中一个上。

当您刚开始使用 ANF 并尝试执行以下操作时,此配置非常有用: 但实际上,您将需要为您配置的卷提供额外的范围界定,以确保这些卷具有所需的特征,并最终位于一个靠近使用该卷的计算的网络上。有关详细信息,请参见后续示例。

{
    "version": 1,
    "storageDriverName": "azure-netapp-files",
    "subscriptionID": "9f87c765-4774-fake-ae98-a721add45451",
    "tenantID": "68e4f836-edc1-fake-bff9-b2d865ee56cf",
    "clientID": "dd043f63-bf8e-fake-8076-8de91e5713aa",
    "clientSecret": "SECRET"
}
  • 示例 2 : azure-netapp-files* 的单一位置和特定服务级别

此后端配置会将卷放置在 Azure 的 " 东向 " 位置的 " 高级 " 容量池中。Trident 会自动发现该位置委派给 ANF 的所有子网,并随机在其中一个子网上放置一个新卷。

{
    "version": 1,
    "storageDriverName": "azure-netapp-files",
    "subscriptionID": "9f87c765-4774-fake-ae98-a721add45451",
    "tenantID": "68e4f836-edc1-fake-bff9-b2d865ee56cf",
    "clientID": "dd043f63-bf8e-fake-8076-8de91e5713aa",
    "clientSecret": "SECRET",
    "location": "eastus",
    "serviceLevel": "Premium"
}
  • 示例 3 : azure-netapp-files* 的高级配置

此后端配置进一步将卷放置范围缩小为一个子网,并修改了某些卷配置默认值。

{
    "version": 1,
    "storageDriverName": "azure-netapp-files",
    "subscriptionID": "9f87c765-4774-fake-ae98-a721add45451",
    "tenantID": "68e4f836-edc1-fake-bff9-b2d865ee56cf",
    "clientID": "dd043f63-bf8e-fake-8076-8de91e5713aa",
    "clientSecret": "SECRET",
    "location": "eastus",
    "serviceLevel": "Premium",
    "virtualNetwork": "my-virtual-network",
    "subnet": "my-subnet",
    "nfsMountOptions": "nfsvers=3,proto=tcp,timeo=600",
    "limitVolumeSize": "500Gi",
    "defaults": {
        "exportRule": "10.0.0.0/24,10.0.1.0/24,10.0.2.100",
        "size": "200Gi"
    }
}
  • 示例 4 :使用 azure-netapp-files* 的虚拟存储池

此后端配置定义了多个 "存储池" 在单个文件中。如果您有多个容量池支持不同的服务级别,并且您希望在 Kubernetes 中创建表示这些服务级别的存储类,则此功能非常有用。

这只是擦除虚拟存储池及其标签的强大功能表面。

{
    "version": 1,
    "storageDriverName": "azure-netapp-files",
    "subscriptionID": "9f87c765-4774-fake-ae98-a721add45451",
    "tenantID": "68e4f836-edc1-fake-bff9-b2d865ee56cf",
    "clientID": "dd043f63-bf8e-fake-8076-8de91e5713aa",
    "clientSecret": "SECRET",
    "nfsMountOptions": "nfsvers=3,proto=tcp,timeo=600",
    "labels": {
        "cloud": "azure"
    },
    "location": "eastus",

    "storage": [
        {
            "labels": {
                "performance": "gold"
            },
            "serviceLevel": "Ultra"
        },
        {
            "labels": {
                "performance": "silver"
            },
            "serviceLevel": "Premium"
        },
        {
            "labels": {
                "performance": "bronze"
            },
            "serviceLevel": "Standard",
        }
    ]
}