存储配置选项
请参见适用于您的 Astra Trident 配置的配置选项。
全局配置选项
这些配置选项适用于所有 Astra Trident 配置,而不考虑所使用的存储平台。
选项 | Description | 示例 |
---|---|---|
|
配置文件版本号 |
1. |
|
存储驱动程序的名称 |
|
|
卷名称的可选前缀。默认值: "netappdvp_ " 。 |
暂存 _ |
|
卷大小的可选限制。默认值: " " (未强制实施) |
10 G |
请勿使用 storagePrefix 元素后端的(包括默认值)。默认情况下、 solidfire-san 驱动程序将忽略此设置、而不使用前缀。我们建议使用特定的租户 ID 进行 Docker 卷映射,或者在可能已使用任何名称的情况下使用 Docker 中填充的 Docker 版本,驱动程序信息和原始名称的属性数据。
|
您可以使用默认选项来避免在创建的每个卷上指定这些选项。。 size
选项可用于所有控制器类型。有关如何设置默认卷大小的示例,请参见 ONTAP 配置一节。
选项 | Description | 示例 |
---|---|---|
|
新卷的可选默认大小。默认值: "1G" |
10 G |
ONTAP 配置
除了上述全局配置值之外,在使用 ONTAP 时,还可以使用以下顶级选项。
选项 | Description | 示例 |
---|---|---|
|
ONTAP 管理 LIF 的 IP 地址。您可以指定完全限定域名( FQDN )。 |
10.0.0.1 |
|
协议 LIF 的 IP 地址;如果未指定,则派生此地址。。 |
10.0.0.2 |
|
要使用的 Storage Virtual Machine (如果管理 LIF 为集群 LIF ,则为必填项) |
SVM_NFS |
|
用于连接到存储设备的用户名 |
vsadmin |
|
用于连接到存储设备的密码 |
机密 |
|
要配置的聚合(可选;如果设置了聚合,则必须将其分配给 SVM )。。 |
aggr1. |
|
可选,如果使用量超过此百分比,则配置失败 |
75% |
|
对 NFS 挂载选项进行精细控制;默认为 -o nfsver=3 。仅适用于 |
-o nfsver=4 |
|
插件使用的 igroup ;默认为 "netappdvp " 。* 仅适用于 `ontap-san`driver* 。 |
myigroup |
|
可请求的最大卷大小和 qtree 父卷大小。用于 |
300 克 |
|
每个 FlexVol 的最大 qtree 数必须在 50 , 300 范围内,默认值为 200 。*用于 |
300 |
您可以使用默认选项来避免在创建的每个卷上指定这些选项:
选项 | Description | 示例 |
---|---|---|
|
空间预留模式; " 无 " (精简配置)或 " 卷 " (厚) |
无 |
|
要使用的 Snapshot 策略,默认值为 " 无 " |
无 |
|
Snapshot 预留百分比,默认值为 " " 以接受 ONTAP 的默认值 |
10 |
|
创建克隆时将其从父级拆分,默认为 "false" |
false |
|
在新卷上启用NetApp卷加密(NVE);默认为 如果在后端启用了NAE、则在Astra Trident中配置的任何卷都将启用NAE。 有关详细信息、请参见: "Astra Trident如何与NVE和NAE配合使用"。 |
true |
|
已配置 NFS 卷的 NAS 选项,默认为 "777" |
777. |
|
用于访问的NAS选项 |
true |
|
要使用的 NFS 导出策略的 NAS 选项,默认为 " 默认 " |
default |
|
用于访问已配置 NFS 卷的 NAS 选项,默认为 "UNIX" |
混合 |
|
SAN 选项要选择文件系统类型,默认为 "ext4" |
XFS |
|
要使用的分层策略,对于 ONTAP 9.5 SVM-DR 之前的配置,默认为 " 无 " ; " 仅快照 " |
无 |
扩展选项
。 ontap-nas
和 ontap-san
驱动程序会为每个Docker卷创建一个ONTAP FlexVol。对于每个集群节点, ONTAP 最多支持 1000 个 FlexVol ,而集群最多支持 12 , 000 个 FlexVol 。如果您的Docker卷要求符合此限制、则会显示 ontap-nas
由于FlexVol提供了其他功能、例如Docker卷粒度快照和克隆、因此驱动程序是首选NAS解决方案。
如果所需的Docker卷数超过FlexVol 限制所能容纳的数量、请选择 ontap-nas-economy
或 ontap-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 | 示例 |
---|---|---|
|
||
|
iSCSI IP 地址和端口 |
10.0.0.7 : 3260 |
|
要使用的 SolidFireF 租户(如果未找到,则创建) |
Docker |
|
将 iSCSI 流量限制为非默认接口时,请指定接口 |
default |
|
QoS 规范 |
请参见以下示例 |
|
升级后的 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 | 示例 |
---|---|---|
|
CVS 帐户区域(必需)。是此后端将配置卷的 GCP 区域。 |
"us-west2" |
|
GCP 项目编号(必需)。可以在 GCP Web 门户的主屏幕中找到。 |
"123456789012" |
|
GCP 共享 VPC 主机项目编号(如果使用共享 VPC ,则为必填项) |
"098765432109" |
|
具有 CVS 管理员角色的 GCP 服务帐户的 API 密钥(必需)。是 GCP 服务帐户专用密钥文件的 JSON 格式内容(逐字复制到后端配置文件)。服务帐户必须具有 netappcloudvolumes.admin 角色。 |
(私钥文件的内容) |
|
CVS 帐户密钥(必需)。可以在 CVS Web 门户中的 "Account settings" >"API access" 中找到。 |
default |
|
代理服务器需要连接到 CVS 帐户时的代理 URL 。代理服务器可以是 HTTP 代理,也可以是 HTTPS 代理。对于 HTTPS 代理,系统会跳过证书验证,以允许在代理服务器中使用自签名证书。* 不支持已启用身份验证的代理服务器 * 。 |
|
|
NFS 挂载选项;默认为 -o nfsver=3 |
"nfsver=3 , proto=tcp , timeo=600" |
|
性能级别(标准,高级,极高),默认为 " 标准 " |
高级版 |
|
用于 CVS 卷的 GCP 网络,默认为 " 默认 " |
default |
如果使用共享VPC网络、则应同时指定这两者 projectNumber 和 hostProjectNumber 。在这种情况下、 projectNumber 是服务项目和 hostProjectNumber 是主机项目。
|
NetApp Cloud Volumes Service for GCP 不支持小于 100 GiB 的 CVS-Performance 卷或小于 300 GiB 的 CVS 卷。为了便于部署应用程序,如果请求的卷太小, Trident 会自动创建最小大小的卷。 |
在 GCP 上使用 CVS 时,可以使用这些默认卷选项设置。
选项 | Description | 示例 |
---|---|---|
|
NFS 访问列表(地址和 / 或 CIDR 子网),默认为 "0.0.0.0/0 " |
"10.0.1.0/24 10.0.0.2.100" |
|
控制的可见性 |
false |
|
Snapshot 预留百分比,默认值为 " " 以接受 CVS 默认值 0 |
10 |
|
卷大小,默认为 "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" 后端,您需要满足以下要求:
如果您是首次使用 Azure NetApp Files 或在新位置使用,则需要对进行一些初始配置 "《快速入门指南》" 将引导您完成操作。 |
Astra Trident 21.04.0 及更早版本不支持手动 QoS 容量池。 |
选项 | Description | Default |
---|---|---|
|
始终为 1 |
|
|
"azure-netapp-files" |
|
|
存储后端的自定义名称 |
驱动程序名称 + "_" + 随机字符 |
|
Azure 订阅中的订阅 ID |
|
|
应用程序注册中的租户 ID |
|
|
应用程序注册中的客户端 ID |
|
|
应用程序注册中的客户端密钥 |
|
|
" 标准 " , " 高级 " 或 " 超 " 之一 |
" (随机) |
|
将在中创建新卷的 Azure 位置名称 |
" (随机) |
|
具有委派子网的虚拟网络的名称 |
" (随机) |
|
委派给的子网的名称 |
" (随机) |
|
精细控制 NFS 挂载选项 |
-o nfsver=3 |
|
如果请求的卷大小超过此值,则配置失败 |
" (默认情况下不强制实施) |
Azure NetApp Files 服务不支持小于 100 GB 的卷。为了便于部署应用程序,如果请求的卷较小, Trident 会自动创建 100 GB 的卷。 |
您可以在配置的特殊部分中使用这些选项来控制默认配置每个卷的方式。
选项 | Description | Default |
---|---|---|
|
新卷的导出规则。必须是以 CIDR 表示法表示的任意 IPv4 地址或 IPv4 子网组合的逗号分隔列表。 |
"0.0.0.0/0 " |
|
控制的可见性 |
false |
|
新卷的默认大小 |
"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", } ] }