阿里云文件存储NAS(Network Attached Storage) 是一种分布式的网络文件存储,为ECS、HPC、Docker、BatchCompute等提供安全、无限容量、高性能、高可靠、简单易用的文件存储服务。

前提条件

背景信息

阿里云函数计算支持与NAS无缝集成。这使您的函数可以像访问本地文件系统一样访问存储在其中一个NAS文件系统上的文件。您所要做的是在服务上配置NAS,其中包括NAS的地域、挂载点、分组等信息。配置成功后,该服务下的函数就可以像访问本地文件系统一样访问指定的NAS文件系统。

使用NAS作为函数计算的挂载点的好处如下:
  • 可以将临时文件存储到NAS中,临时文件大小不受系统限制。
  • 多个函数可以共用一个NAS,实现文件共享。

配置NAS

函数计算的NAS配置是服务级别的,为一个服务配置了NAS挂载点后,那么此服务下的所有函数都可以访问指定NAS文件系统上的文件。

  1. 登录函数计算控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,单击服务/函数
  4. 在服务列表,单击目标服务名称。
  5. 选择服务配置 > 修改
    modify
  6. NAS文件系统区域,配置相关参数,然后单击提交
    文件系统配置
    参数 操作 备注
    用户 在文本框中填写自定义的用户ID。 详情请参见下文的NAS用户和用户组
    用户组 在文本框中填写自定义的组ID。
    NAS挂载点 在列表中选择已创建的NAS挂载的目录。 详情请参见下文的地址配置
    远端目录 在文本框中填写远端目录。
    本地目录 在文本框中填写本地目录。

NAS用户和用户组

在配置函数的NAS挂载时,首先需要配置UserID(用户ID)和GroupID(用户组ID),这两个值等同于文件系统中的用户和组的概念,请根据需求设置文件的拥有者和相应的组权限,确保文件读写权限一致。

UserID和GroupID取值范围从-1到65534,不包括0(为了执行安全,函数计算暂时不提供root用户的方式),其中-1代表系统默认值。UserID和GroupID值配置是可选的,如果不填写UserID,系统会使用-1作为UserID值;如果不填写GroupID, 系统会用UserID值作为Group ID值。

建议您将UserId和GroupId设置为具体的值(1-65534的任意数字),这样该服务下不同函数都可以共享这些文件资源。

说明 上传至NAS的文件权限与本地文件权限相同。

地址配置

在NAS配置的第二部分增加挂载点配置(nasMountConfig)。一个服务最多可以挂载5个NAS挂载点。

每个挂载点配置(nasMountConfig)由远程目录(ServerAddr)和本地目录(MountDir)组成。本地目录与远程目录结合,形成了从NAS文件系统中的某个目录到本地文件系统中的一个目录的映射。

  • 远程目录(ServerAddr)

    远程目录描述了服务需要访问的NAS文件系统的目录,由挂载点(MountPoint)和绝对目录(absolute directory)两部分组成。挂载点可以通过NAS控制台来添加。将挂载点和绝对目录拼接就可以得到远程目录。例如,如果NAS文件系统的挂载点是xxxx-nas.aliyuncs.com,您希望被访问的绝对目录是/workspace/document,对应完整的远程目录就是xxxx-nas.aliyuncs.com:/workspace/document

    您可以登录NAS控制台,在文件系统列表中,单击操作列的管理。然后单击左侧导航栏的挂载使用,在挂载点列表中获取挂载点。

  • 本地目录(MountDir)

    本地目录是指本地文件系统的挂载点,请不要使用通用的Linux和Unix系统目录,例如binoptvardev等挂载NAS。函数计算允许您使用mnthome等非系统目录挂载NAS。

相关文档