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

ONTAP中的S3多协议支持

贡献者

从ONTAP 9.12.1开始、您可以使运行S3协议的客户端访问为使用NFS和SMB协议的客户端提供的相同数据、而无需重新格式化。通过此功能、可以继续为NAS客户端提供NAS数据、同时向运行S3应用程序(如数据挖掘和人工智能)的S3客户端提供对象数据。

S3多协议功能可解决两种使用情形:

  1. 使用S3客户端访问现有NAS数据

    如果您的现有数据是使用传统NAS客户端(NFS或SMB)创建的、并且位于NAS卷(FlexVol 或FlexGroup 卷)上、则现在可以使用S3客户端上的分析工具访问此数据。

  2. 为能够使用NAS和S3协议执行I/O的现代客户端提供后端存储

    现在、您可以为Spark和Kafka等应用程序提供集成访问、这些应用程序可以使用NAS和S3协议读写相同的数据。

S3多协议支持的工作原理

通过ONTAP多协议支持、您可以将相同的数据集呈现为文件层次结构或存储分段中的对象。为此、ONTAP 会创建"S3 NAS分段"、以使S3客户端能够使用S3对象请求在NAS存储中创建、读取、删除和枚举文件。此映射符合NAS安全配置、可观察文件和目录访问权限、并根据需要写入安全审核记录。

此映射是通过将指定的NAS目录层次结构显示为S3分段来实现的。目录层次结构中的每个文件都表示为S3对象、该对象的名称与映射的目录相对、目录边界由斜杠字符("/")表示。

根据为映射到NAS目录的存储分段定义的分段策略、ONTAP定义的S3用户可以访问此存储。为此、必须在S3用户和SMB/NFS用户之间定义映射。SMB/NFS用户的凭据将用于NAS权限检查、并包含在这些访问所产生的任何审核记录中。

当文件由SMB或NFS客户端创建时、文件会立即放置在目录中、因此在写入任何数据之前、客户端可以看到该文件。S3客户端希望使用不同的语义、在写入新对象的所有数据之前、新对象不会显示在命名空间中。将S3映射到NAS存储会使用S3语义创建文件、从而使这些文件在外部不可见、直到S3创建命令完成为止。

S3 NAS存储分段的数据保护

S3 NAS的"分段"只是S3客户端的NAS数据映射、而不是标准S3分段。因此、无需使用NetApp SnapMirror S3功能保护S3 NAS分段。相反、您可以使用SnapMirror异步卷复制来保护包含S3 NAS分段的卷。不支持SnapMirror同步和SVM灾难恢复。

从ONTAP 9.14.1开始、MetroCluster IP和FC配置的镜像和未镜像聚合支持S3 NAS分段。

了解 "SnapMirror异步"

审核S3 NAS存储分段

由于S3 NAS存储分段不是传统的S3存储分段、因此无法配置S3审核来审核其访问权限。了解更多信息 "S3审核"

但是、可以使用传统的ONTAP 审核过程审核S3 NAS存储分段中映射的NAS文件和目录以查看访问事件。因此、S3操作可能会触发NAS审核事件、但以下情况除外:

  • 如果S3策略配置(组或存储分段策略)拒绝S3客户端访问、则不会对此事件启动NAS审核。这是因为在执行SVM审核检查之前会检查S3权限。

  • 如果S3 GET请求的目标文件大小为0、则会将0个内容返回到GET请求、并且不会记录读取访问权限。

  • 如果S3 GET请求的目标文件位于用户无遍历权限的文件夹中、则访问尝试将失败、并且事件不会记录。

了解相关信息 "审核SVM上的NAS事件"

对象多部分上传

从ONTAP 9.16.1开始,启用FlexGroup卷上的时,支持对象多部分上载"高级容量平衡"

通过在NAS文件存储上进行对象多部分上传、S3协议客户端可以将大型对象作为较小的部分进行上传。对象多部分上传具有以下优势:

  • 它支持并行上传对象。

  • 如果上传失败或暂停、则只需要上传尚未上传的部件。无需重新启动整个对象的上传。

  • 如果事先不知道对象大小(例如、当仍在写入大型对象时)、则客户端可以立即开始上传对象的部分内容、并在创建整个对象后完成上传。

多部分上传支持以下S3操作:

  • AbortMultipartUpload

  • CompleteMultipartUpload

  • CreateMultipartUpload

  • ListMultipartUpload

S3和NAS互操作性

ONTAP S3 NAS分段支持标准NAS和S3功能、但此处列出的功能除外。

S3 NAS存储分段当前不支持NAS功能

FabricPool 容量层

无法将S3 NAS分段配置为FabricPool的容量层。

S3 NAS存储分段当前不支持S3功能

AWS用户元数据
  • 在当前版本中、作为S3用户元数据一部分收到的键值对不会与对象数据一起存储在磁盘上。

  • 前缀为"x-AMZ-meta"的请求标头将被忽略。

AWS标记
  • 在PUT对象和Multipart启动请求上、会忽略前缀为"x-AMZ-Tagging"的标头。

  • 更新现有文件上的标记的请求(即使用"标记查询字符串"的PUT、GET和Delete请求)将被拒绝、并显示错误。

版本控制

无法在存储分段映射配置中指定版本控制。

  • 包含非空版本规范(versionId=xyz query-string)的请求会收到错误响应。

  • 影响存储分段版本控制状态的请求将被拒绝、但出现错误。