配置函数的磁盘挂载
本章节介绍如何通过函数工作流控制台,配置函数的磁盘挂载,扩展函数的存储空间。
操作场景
FuncitonGraph支持通过挂载文件系统为函数提供持久化存储能力,挂载文件系统可为函数带来如下优势:
- 多个函数之间可以挂载同一个文件系统,共享访问已经配置好的文件系统。
- 利用ECS已有的存储能力,可实现计算资源的动态扩展。
- 相比于临时存储空间/tmp,可以极大的扩展函数的执行存储空间。

函数的临时存储空间/tmp路径下可存储临时文件,默认为512MB,最大不能超过10,240MB。
FunctionGraph当前支持挂载以下文件系统:
- SFS Turbo文件系统
专属弹性文件服务(SFS Turbo)为用户提供一个完全托管的共享文件存储,能够弹性伸缩至PB级规模,最高可提供亚毫秒级低时延、千万级IOPS、百GB带宽。具备高可用性和持久性,为海量的小文件、低延迟高IOPS型应用提供有力支持。文件系统支持使用的区域详情请参见SFS功能总览。
- SFS通用文件系统
弹性文件服务(Scalable File Service,SFS)通用文件系统为用户提供一个完全托管的共享文件存储,能够弹性伸缩至PB规模、TB级带宽,具备高可用性和持久性,为海量数据、高带宽型应用提供有力支持。通用文件系统支持使用的区域详情请参见SFS功能总览。
- 弹性云服务器ECS共享目录
ECS共享目录,是通过NFS(网络文件系统)把ECS上的指定目录设置为共享目录,函数可以挂载对应目录进行读写等操作,实现计算资源的动态扩展,同时通过配置特定用户权限能有效进行共享数据的资源管理。适用于轻量级数据处理、文件共享等业务不太频繁的场景。
- SFS容量型文件系统(仅存量用户支持使用)
弹性文件服务(Scalable File Service,SFS)容量型文件系统为用户提供一个完全托管的共享文件存储,能够弹性伸缩至PB规模,具备高可用性和持久性,为海量数据、高带宽型应用提供有力支持。详情请参见SFS产品介绍。
约束与限制
- 当前挂载SFS容量型文件系统仅支持存量用户使用,请选择SFS Turbo文件系统、通用文件系统和ECS共享目录进行挂载。各文件系统支持挂载的区域请以控制台展示为准。
- 请勿在初始化函数中执行挂载磁盘的读写操作,这将导致函数无法读取磁盘中的内容。
- 使用磁盘挂载功能需要文件系统开放端口:111、445、2049、2051、2052、20048。
具体请参见弹性文件服务会占用用户的哪些资源。
前提条件
文件系统来源 |
前提条件 |
---|---|
|
|
挂载SFS Turbo文件系统
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 单击函数的名称,进入函数详情页。
- 在“设置”页签下选择“权限”,配置函数访问SFS Turbo文件系统的委托。
- “函数配置委托”参数选择前提条件中已创建的委托权限。
- 单击“保存”完成配置。
- 在“设置”页签下选择“网络配置”,配置函数访问SFS Turbo文件系统的VPC网络。
- 开启“函数访问VPC内资源”。
- 配置“VPC”和“子网”为前提条件中记录的VPC和子网。
- 单击“保存”完成配置。
- 在“设置”页签下选择“磁盘挂载”。
- 单击“添加挂载”,在弹窗中配置SFS Turbo文件系统的挂载信息。
表2 挂载SFS Turbo文件系统参数说明 参数
说明
取值样例
用户ID
函数访问文件系统所需要的身份标识,取值范围为-1或1~65534的整数且不包含1000和1002,默认值为-1,表示由系统自动分配用户ID。
对于SFS Turbo文件系统,保持默认值-1。
-1
用户组ID
函数访问文件系统所需要的身份标识,取值范围为-1或1~65534的整数且不包含1000和1002,默认值为-1,表示由系统自动分配用户组ID。
对于SFS Turbo文件系统,保持默认值-1。
-1
文件系统来源
选择要挂载的文件系统类型,此处选择“SFS Turbo”,即SFS Turbo文件系统。
SFS Turbo
文件系统名称
选择要挂载的SFS Turbo文件系统名称。
sfs-turbo-fg
共享目录路径
文件系统共享的目录路径,路径须以“/”开头,例如:/a。
不配置表示函数能访问文件系统所有的目录路径。如果配置具体目录路径,则表示函数只能访问该目录路径。
/a
函数访问路径
函数访问文件系统中文件时所使用的目录路径,路径须以“/”开头,且最多设置为两级,建议配置为/mnt或/home开头的二级目录。
不能使用系统已存在的目录,否则会报“failed to mount exist system path”错误。
例如,共享目录路径为“/a”,其下有文件“/a/b”和“/a/c/d”,函数访问路径为“/mnt/test”,则函数访问文件b和文件d的路径为“/mnt/test/b”和“/mnt/test/c/d”。
/mnt/test
- 单击“确定”,完成挂载配置。
挂载通用文件系统
当前仅“华北-乌兰察布一”区域支持挂载通用文件系统。
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 单击函数的名称,进入函数详情页。
- 在“设置”页签下选择“权限”,配置函数访问通用文件系统的委托。
- “函数配置委托”参数选择前提条件中已创建的委托权限。
- 单击“保存”完成配置。
- 在“设置”页签下选择“网络配置”,配置函数访问通用文件系统的VPC网络。
- 开启“函数访问VPC内资源”。
- 配置“VPC”和“子网”为前提条件中记录的VPC和子网。
- 单击“保存”完成配置。
- 在“设置”页签下选择“磁盘挂载”。
- 单击“添加挂载”,在弹窗中配置通用文件系统的挂载信息。
表3 挂载通用文件系统参数说明 参数
说明
取值样例
用户ID
函数访问文件系统所需要的身份标识,取值范围为-1或1~65534的整数且不包含1000和1002,默认值为-1,表示由系统自动分配用户ID。
对于SFS Turbo文件系统,保持默认值-1。
-1
用户组ID
函数访问文件系统所需要的身份标识,取值范围为-1或1~65534的整数且不包含1000和1002,默认值为-1,表示由系统自动分配用户组ID。
对于SFS Turbo文件系统,保持默认值-1。
-1
文件系统来源
选择要挂载的文件系统类型,此处选择“通用文件系统”。
通用文件系统
文件系统名称
选择要挂载的通用文件系统名称。
sfs-fg
函数访问路径
函数访问文件系统中文件时所使用的目录路径,路径须以“/”开头,且最多设置为两级,建议配置为/mnt或/home开头的二级目录。
不能使用系统已存在的目录,否则会报“failed to mount exist system path”错误。
例如,共享目录路径为“/a”,其下有文件“/a/b”和“/a/c/d”,函数访问路径为“/mnt/test”,则函数访问文件b和文件d的路径为“/mnt/test/b”和“/mnt/test/c/d”。
/mnt/test
- 单击“确定”,完成挂载配置。
挂载ECS共享目录
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 单击函数的名称,进入函数详情页。
- 在“设置”页签下选择“权限”,配置函数访问ECS共享目录的委托权限。
- “函数配置委托”参数选择前提条件中已创建的委托。
- 单击“保存”完成配置。
- 在“设置”页签下选择“网络配置”,配置函数访问ECS共享目录的VPC网络。
- 开启“函数访问VPC内资源”。
- 配置“VPC”和“子网”为前提条件中记录的VPC和子网。
- 单击“保存”完成配置。
- 在“设置”页签下选择“磁盘挂载”。
- 单击“添加挂载”,在弹窗中配置ECS共享目录的挂载信息。
表4 挂载ECS共享目录参数说明 参数
说明
取值样例
用户ID
函数访问文件系统所需要的身份标识,取值范围为-1或1~65534的整数且不包含1000和1002,默认值为-1,表示由系统自动分配用户ID。
- 对于使用Windows系统的ECS,保持默认值-1。
- 对于使用Linux系统的ECS,为系统中的uid。例如Linux系统的用户名为test-user,则可以在系统中使用用id test-user命令查询uid和gid。
-1
用户组ID
函数访问文件系统所需要的身份标识,取值范围为-1或1~65534的整数且不包含1000和1002,默认值为-1,表示由系统自动分配用户组ID。
- 对于使用Windows系统的ECS,保持默认值-1。
- 对于使用Linux系统的ECS,为系统中的gid。例如Linux系统的用户名为test-user,则可以在系统中使用用id test-user命令查询gid。
-1
文件系统来源
选择要挂载的文件系统类型,此处选择“ECS”,即ECS共享目录。
ECS
云服务器名称
选择要挂载的ECS名称。
ecs-fg
共享目录路径
文件系统共享的目录路径,请输入实际存在的路径,路径须以“/”开头,例如:/a。
不配置表示函数能访问文件系统所有的目录路径,如果配置具体目录路径,则表示函数只能访问该目录路径。
/a
函数访问路径
函数访问文件系统中文件时所使用的目录路径,路径须以“/”开头,且最多设置为两级,建议配置为/mnt或/home开头的二级目录。
不能使用系统已存在的目录,否则会报“failed to mount exist system path”错误。
例如,共享目录路径为“/a”,其下有文件“/a/b”和“/a/c/d”,函数访问路径为“/mnt/test”,则函数访问文件b和文件d的路径为“/mnt/test/b”和“/mnt/test/c/d”。
/mnt/test
- 单击“确定”,完成挂载配置。
挂载SFS容量型文件系统(仅存量用户支持使用)
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 单击函数的名称,进入函数详情页。
- 在“设置”页签下选择“权限”,配置函数访问SFS容量型文件系统的委托权限。
- “函数配置委托”参数选择前提条件中已创建的委托。
- 单击“保存”完成配置。
- 在“设置”页签下选择“磁盘挂载”。
- 单击“添加挂载”,在弹窗中配置SFS容量型文件系统的挂载信息。
表6 挂载SFS容量型文件系统参数说明 参数
说明
取值样例
用户ID
函数访问文件系统所需要的身份标识,取值范围为-1或1~65534的整数且不包含1000和1002,默认值为-1,表示由系统自动分配用户ID。
对于SFS容量型文件系统,保持默认值-1。
-1
用户组ID
函数访问文件系统所需要的身份标识,取值范围为-1或1~65534的整数且不包含1000和1002,默认值为-1,表示由系统自动分配用户组ID。
对于SFS容量型文件系统,保持默认值-1。
-1
文件系统来源
选择要挂载的文件系统类型,此处选择“SFS”,即SFS容量型文件系统。
SFS
文件系统名称
选择要挂载的SFS容量型文件系统名称。
SFS-fg
共享目录路径
文件系统共享的目录路径,路径须以“/”开头,例如:/a。
不配置表示函数能访问文件系统所有的目录路径,如果配置具体目录路径,则表示函数只能访问该目录路径。
/a
函数访问路径
函数访问文件系统中文件时所使用的目录路径,路径须以“/”开头,且最多设置为两级,建议配置为/mnt或/home开头的二级目录。
不能使用系统已存在的目录,否则会报“failed to mount exist system path”错误。
例如,共享目录路径为“/a”,其下有文件“/a/b”和“/a/c/d”,函数访问路径为“/mnt/test”,则函数访问文件b和文件d的路径为“/mnt/test/b”和“/mnt/test/c/d”。
/mnt/test
- 单击“确定”,完成挂载配置。