计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive

配置磁盘挂载

更新时间:2024-08-07 GMT+08:00

概述

FuncitonGraph提供了文件系统挂载功能,多个函数可以通过共用一个文件系统,实现文件共享。相比于对单个函数实例分配的临时磁盘空间限制,可以极大扩展函数的执行和存储空间。

场景介绍

须知:

使用磁盘挂载功能需要开放如下端口:

  1. 111、445、2049、2051、2052、20048。
  2. 对于Ubuntu系统还需再开放3个端口,获取方式请在任意目录下执行如下命令。
    rpcinfo -p|grep mountd|grep tcp

具体请参见弹性文件服务会占用用户的哪些资源

目前FunctionGraph函数支持以下文件系统配置。

  • SFS Turbo文件系统

    SFS Turbo分为SFS Turbo标准型(500GB~32TB)、SFS Turbo标准型-增强版(10TB~320TB)、SFS Turbo性能型(500GB~32TB)和SFS Turbo性能型-增强版(10TB~320TB)。SFS Turbo为用户提供一个完全托管的共享文件存储,能够弹性伸缩至320TB规模,具备高可用性和持久性,为海量的小文件、低延迟高IOPS型应用提供有力支持。适用于多种应用场景,包括高性能网站、日志存储、压缩解压、DevOps、企业办公、容器应用等。详情请参见SFS产品介绍

  • ECS共享目录

    ECS共享目录是通过nfs服务,把ECS上的指定目录设置为共享文件系统(详情请参见添加ECS共享目录),函数(和ECS相同的VPC配置)可以挂载对应目录进行读写等操作,实现计算资源的动态扩展。此类型适合业务不太频繁的场景。

使用文件系统挂载功能具有以下优势:

  • 函数执行空间相比于/tmp,可以极大扩展存储空间。
  • 多个函数之间可以共享访问已经配置好的文件系统。
  • ECS计算资源动态扩展,利用ECS已有的存储能力实现更大的计算能力。
    说明:

    您可以在/tmp路径下写临时文件,最大不能超过10,240MB。

创建委托

为函数添加文件系统配置需要先给函数设置相关服务的委托。

创建委托时,委托类型选择云服务,云服务选择FunctionGraph,因为委托数目有限,而且目前界面上不支持修改,建议可以创建一个权限较大的委托(Tenant Administrator),可以支持在函数中操作当前区域内的所有资源,请参见配置委托权限

添加sfs turbo文件系统

设置委托

挂载sfs turbo文件系统需要给函数设置委托(至少拥有sfs administrator以及VPC administrator权限)。如果没有对应权限的委托,需要新创建。

设置VPC

sfs turbo涉及VPC内部网络访问,添加sfs turbo文件系统前需要给函数配置sfs turbo对应的VPC。

  1. 在弹性文件服务中,获取需要挂载的文件系统的VPC和子网信息,具体操作请参见管理文件系统
  2. 参见配置网络开启VPC访问,输入1中获取的VPC和子网。

添加挂载-SFS Turbo

添加sfs turbo和添加sfs过程相似,只要选好需要挂载的文件系统,设置好函数访问路径即可。

添加ECS共享目录

添加委托

挂载ECS共享目录需要给函数设置委托(至少拥有tenant guest以及VPC administrator权限),如果没有对应权限的委托,需要新创建,详情请参见创建委托

配置VPC

添加ECS共享目录前,也需要给函数配置ECS对应的VPC,可以到ECS详情页的“基本信息”页签中查看“虚拟私有云”。单击虚拟私有云名称,进入虚拟私有云的详情页,查看子网。

获取到这两个信息后,可以在函数配置中配置对应的VPC。

添加挂载-ECS

需要在界面上输入ECS上的共享目录路径信息和函数访问路径。

图1 填写路径信息

后续操作

当函数挂载了文件系统配置后,对函数访问路径的读写就相当于对相关文件系统的读写。

如果把日志路径配置为函数访问路径的子目录,就可以轻松实现函数日志的持久化。

ECS创建nfs共享目录

  1. Linux系统
    • CentOS、SUSE、Euler OS、Fedora或OpenSUSE等系统
      1. 配置yum源

        ①在/etc/yum.repos.d目录下创建文件euleros.repo(文件名可随意取,但是必须以“.repo”结尾)。

        ②使用如下命令进入euleros.repo编辑配置信息。

        vi /etc/yum.repos.d/euleros.repo

        Euler 2.0SP3 yum配置信息如下:

        [base] 
        name=EulerOS-2.0SP3 base
        baseurl=http://repo.cloud.com/euler/2.3/os/x86_64/
        enabled=1
        gpgcheck=1
        gpgkey=http://repo.cloud.com/euler/2.3/os/RPM-GPG-KEY-EulerOS

        Euler 2.0SP5 yum配置信息如下:

        [base] 
        name=EulerOS-2.0SP5 base
        baseurl=http://repo.cloud.com/euler/2.5/os/x86_64/
        enabled=1
        gpgcheck=1
        gpgkey=http://repo.cloud.com/euler/2.5/os/RPM-GPG-KEY-EulerOS
        说明:

        参数说明

        name:仓库的名称。

        baseurl:仓库的地址。
        • 使用http协议的网络地址:http://path/to/repo
        • 使用本地仓库地址:file:///path/to/local/repo

        gpgcheck:表示是否进行gpg(GNU Private Guard)校验,以确定RPM包来源的有效性和安全性。gpgcheck设置为1表示进行gpg校验,0表示不进行gpg校验。如果没有这一项,默认是检查的。

        ③保存配置的repo文件。

        ④执行如下命令清理缓存。

        yum clean all
      2. 使用如下命令安装nfs-utils
        yum install nfs-utils
      3. 设置共享文件夹

        打开/etc/exports,比如要把/sharedata目录设置为共享目录,可以填入如下内容:

        /sharedata 192.168.0.0/24(rw,sync,no_root_squash)

        说明:

        上述内容的含义是:把/sharedata这个目录共享给192.168.0.0/24这个子网段的其他服务器。

        命令输入完成后,可以执行命令exportfs -v 显示共享的目录,从而判断是否设置成功。

      4. 使用如下命令启动nfs服务
        systemctl start rpcbind
        service nfs start
      5. 修改共享目录

        比如需要新增/home/myself/download到共享目录,可以在/etc/exports中新增如下内容。

        /home/myself/download 192.168.0.0/24(rw,sync,no_root_squash)

        然后重启nfs服务。

        service nfs restart

        或者用如下命令,无需重启nfs服务。

        exportfs -rv
      6. 设置rpcbind开机启动(可选)

        如果需要设置rpcbind服务开机启动,可执行如下命令。

        systemctl enable rpcbind
    • Ubuntu系统
      1. 使用如下命令安装nfs-kernel-server
        sudo apt-get update
        sudo apt install nfs-kernel-server
      2. 设置共享文件夹
        vim /etc/exports

        打开/etc/exports,比如要把/sharedata目录设置为共享目录,可以填入如下内容。

        /sharedata 192.168.0.0/24(rw,sync,no_root_squash)

        说明:

        上述内容的含义是:把/sharedata这个目录共享给192.168.0.0/24这个子网段的其他服务器。

      3. 启动nfs服务
        service nfs-kernel-server restart
        说明:

        命令输入完成后,可以执行命令exportfs -v 显示共享的目录,从而判断是否设置成功。

      4. 修改共享目录

        比如需要新增/home/myself/download到共享目录,可以在/etc/exports中新增如下内容:

        /home/myself/download 192.168.0.0/24(rw,sync,no_root_squash)

        然后重启nfs服务

        service nfs restart

        或者用如下命令,无需重启nfs服务:

        exportfs -rv
  1. Windows系统
  1. 安装nfs server软件

    目前可用的收费软件有:hanewin nfs server,可到对应官网下载。

    免费的有:FreeNFS、winnfsd等,可到sourceforge上下载。

  2. 打开nfs功能
    • 如果是winnfsd,可参见:https://github.com/winnfsd/winnfsd
      1. 下载winnfsd并解压,同时在解压后目录中创建一个文件夹“nfs”。
      2. 设置“nfs”文件的共享和读写权限。
        1. 在“nfs”文件单击右键,然后选择“属性”。
        2. 选择“共享”页签,然后单击“共享(S)...”。
        3. 添加“Everyone”用户,然后单击“共享(H)”。
          图2 添加Everyone用户
        4. 选择“安全”页签,在“组或用户名(G)”列表中选择“Everyone”,然后单击“编辑(E)...”。
        5. 在弹出的“安全”设置窗口中,在“组或用户名(G)”列表中选择“Everyone”,在“Everyone的权限(P)”列表中的“允许”勾选框下勾选“读取”和“写入”,最后单击“确定”。
      3. 关闭所有的防火墙,包括“域网络”、“专用网络”和“公用网络”,等使用完后,再打开防火墙。
      4. 进入路由器的虚拟服务器进行端口映射,打开外部网络的端口111、2049及1058。(注意:需要有个外网IP)
      5. 最后执行如下命令即可,更多的命令解释请参考https://github.com/winnfsd/winnfsd
        WinNFSd.exe -addr {你自己的本机IP地址192.168.xxx.xxx} F:\nfs /nfs
    • 如果是hanewin nfs server,可以参见如下步骤。
      1. 以Windows系统管理员身份运行下载好的hanewin nfs server的“.exe”文件。
      2. 安装完成后,打开“NFS Server”文件,选择“Edit > Preferences”。
      3. “NFS”、“Server”和“PortMapper”三个页签下配置保持默认,选择“Exports”页签,单击“Edit exports file”,配置共享目录,配置完成后单击“Save”。
        说明:

        配置共享目录格式可参考“D:\share -public -name:nfs”:将“share”文件夹权限设置为“public”,同时定义了一个别名“nfs”。

      4. 最后单击“确定”。
      5. 关闭所有的防火墙,包括“域网络”、“专用网络”和“公用网络”,等使用完后,再打开防火墙。
        说明:

        在Linux系统中执行如下命令挂载目录,验证文件共享是否成功。

        mount -t nfs -o nolock 192.168.xxx.xxx:/nfs /mnt
        • “192.168.xxx.xxx”是windows系统的IP地址。
        • “nfs”是配置共享目录时创建的别名。
        • “/mnt”是指定将远程目录挂载到本地的“/mnt”目录下。

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容