全部产品
Search
文档中心

文件存储 NAS:容器挂载文件系统

更新时间:Dec 12, 2024

本文介绍阿里云容器服务挂载NAS文件系统的方式,您可以使用CSI存储插件或使用容器网络文件系统CNFS挂载NAS文件系统。

重要

请使用以下推荐的方式挂载NAS文件系统。使用其他方式挂载NAS文件系统可能出现稳定性风险,NAS团队无法预估该风险且由于该风险引起的一切损失和后果均由您自行承担。

容器服务存储插件说明

阿里云容器服务Kubernetes版基于Kubernetes容器存储接口(CSI),深度融合阿里云存储服务,并完全兼容Kubernetes原生的存储服务。

容器网络文件系统CNFS则是阿里云容器服务利用CSI插件抽象出的新的容器存储管理方式,与传统CSI使用模式保持兼容。我们推荐您在使用阿里云容器服务时使用CNFS来管理和访问NAS存储卷,从而获得明显的性能提升和强大的管理能力和I/O可观测性。

说明
  • 如果您的容器集群规模较小,很少进行弹性伸缩,且主要用于测试目的,您也可以使用HostPath方式使用NAS。更多信息,请参见HostPath数据卷

  • 如果是自建Kubernetes集群,对于大规模弹性伸缩的集群,建议使用CSI存储插件访问文件系统。对于规模稳定集群,建议使用Kubernetes内置存储卷volume访问文件系统。更多信息,请参见自建Kubernetes挂载NAS

存储插件使用须知如下:

  • 对于新建阿里云容器服务Kubernetes集群,推荐使用CNFS。

  • 对于已经创建的阿里云容器服务Kubernetes集群,建议迁移至CNFS。

  • 对于已经创建的Kubernetes集群,建议沿用已经安装的存储插件类型。

关于CSI存储插件的更多信息,请参见存储

容器网络文件系统CNFS(推荐)

在容器中使用传统的NAS共享文件系统存在小文件读写延迟高,缺少容量配额的精确控制、无法恢复误删文件、缺失存储卷可观测指标等等问题。阿里云容器服务ACK的CNFS将阿里云的文件存储NAS抽象为一个K8s对象(CRD)进行独立管理,包括创建、删除、描述、挂载,监控及扩容等运维操作。并在CSI插件中利用NAS的加速客户端功能,实现NAS访问速度的大幅提升。CNFS是免费功能,开启加速能力后,会消耗Pod中50~100 MB左右内存。

指标

测试场景

未开启CNFS加速客户端

开启CNFS加速客户端

元数据性能

100万文件目录遍历耗时

18min

小于60s

创建写入4 KB文件耗时

3000μs

小于200μs

重复读取4 KB文件耗时

400μs

小于100μs

吞吐性能

单节点读写吞吐性能

200~500 MB/s

大于800 MB/s

综合场景性能

5000张150 KB图片解压缩耗时

52s

约15s

构建Redis项目耗时

27s

约21s

重要

本文以上表格提供的数据仅为理论值(参考值),实际数据以您的操作环境为准。

  • 注解①:测试数据的ECS机型为ecs.hfg6.4xlarge,测试环境的差异可能导致性能数据有一定偏差。

  • 注解②:ECS网络带宽和NAS文件系统规格会影响单节点读写吞吐性能。

CSI存储插件

如果您使用CSI插件挂载NAS文件系统,请先查阅NAS存储卷概述

CSI存储插件支持以下两种挂载方式:

如需更深入地理解和管理CSI插件及CSI Provisioner组件,请参见如下信息:

更多存储相关问题,请参见NAS存储卷FAQ