华为云用户手册

  • 复制生命周期规则 您可以新建生命周期规则,也可以从其他文件系统复制已有的生命周期规则。请参考以下操作步骤复制生命周期规则。 登录管理控制台,选择“弹性文件服务”。 左侧导航栏选择“通用文件系统”,跳转到通用文件系统控制台。 在文件系统列表中,单击文件系统名称进入文件系统基本信息页面。 在“生命周期管理”页签,单击“更多”下的“复制”,弹出如图3所示对话框。 图3 复制生命周期规则 选择复制源,即生命周期规则所在的源文件系统。 从源文件系统复制生命周期规则的操作为增量复制,不会删除当前文件系统已存在的生命周期规则,与已存在的生命周期规则冲突的规则不会复制。 您可以按需移除不需要复制的生命周期规则。 单击“确定”,将源文件系统的生命周期规则复制到当前文件系统。
  • 场景介绍 高性能计算通常指以计算为目的,使用了很多处理器的单个计算机系统或者使用了多台计算机集群的计算机系统和环境。能够执行一般个人电脑无法处理的大资料量与高性能的运算。高性能计算具有超高浮点计算能力,可用于解决计算密集型、海量数据处理等业务的计算需求,如应用于工业设计CAD/CAE,生物科学,能源勘探,图片渲染和异构计算等涉及高性能计算集群来解决大型计算问题的领域。根据其业务特性对共享的文件系统有如下要求:
  • 其他操作 修改生命周期规则:单击生命周期规则所在行右侧的“编辑”进行编辑,参数设置请参考该步骤。 启用和禁用生命周期规则:单击“禁用”,可以禁用状态为“已启用”的生命周期规则;单击“启用”,可启用状态为“未启用”的生命周期规则。 批量启用需要所选生命周期规则都是禁用状态;批量禁用需要所选生命周期规则都是已启用状态。 图4 禁用生命周期规则 图5 启用生命周期规则 批量操作:您可以选中多条生命周期规则,单击列表上方的“启用”或“禁用”,批量启用或禁用生命周期规则。 删除生命周期规则:单击生命周期规则所在行右侧的“删除”,或选中规则名称前的复选框,单击列表上方的“删除”进行删除。也可以进行批量删除。 图6 删除生命周期规则
  • 配置参考 登录弹性文件服务管理控制台。 在左侧导航栏,选择“SFS容量型”。在页面右上角单击“创建文件系统”。 在创建文件系统页面,根据界面提示配置参数。 配置完成后,单击“立即创建”,完成文件系统创建。 Linux系统E CS 挂载操作请参见挂载NFS文件系统到云服务器(Linux);Windows系统ECS挂载操作请参见挂载NFS文件系统到云服务器(Windows)和挂载CIFS文件系统到云服务器(Windows)。 登录头节点,将需要上传的基因测序文件上传到挂载的文件系统。 启动基因测序任务,计算节点从挂载的文件系统中获取基因测序文件进行计算。
  • 配置参考 登录弹性文件服务管理控制台。 在左侧导航栏,选择“SFS容量型”。在页面右上角单击“创建文件系统”。 在创建文件系统页面,根据界面提示配置参数。 配置完成后,单击“立即创建”,完成文件系统创建。 Linux系统ECS挂载操作请参见挂载NFS文件系统到云服务器(Linux);Windows系统ECS挂载操作请参见挂载NFS文件系统到云服务器(Windows)和挂载CIFS文件系统到云服务器(Windows)。 配置日志目录为共享文件系统(建议每个主机使用不同的日志文件)。 启动应用程序。
  • 监控指标 表1 SFS容量型(已售罄)支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) read_bandwidth 读带宽 该指标用于统计文件系统在周期内的读数据量。 单位:字节/秒 ≥ 0 bytes/s 文件共享 4分钟 write_bandwidth 写带宽 该指标用于统计文件系统在周期内的写数据量 单位:字节/秒 ≥ 0 bytes/s 文件共享 4分钟 rw_bandwidth 读写带宽 该指标用于统计文件系统在周期内的读写数据量。 单位:字节/秒 ≥ 0 bytes/s 文件共享 4分钟 read_ops 读OPS 该指标用于统计文件系统在周期内的读次数。 单位:次/秒 ≥ 0 counts/s 文件共享 4分钟 write_ops 写OPS 该指标用于统计文件系统在周期内的写次数。 单位:次/秒 ≥ 0 counts/s 文件共享 4分钟 rw_ops 读写OPS 该指标用于统计文件系统在周期内的读写次数。 单位:次/秒 ≥ 0 counts/s 文件共享 4分钟 used_capacity 已用容量 该指标用于统计文件系统在周期内的已用容量。 单位:字节 ≥ 0 bytes 文件共享 4分钟 表2 通用文件系统支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) capacity_standard 容量型存储用量 容量型存储数据所占用的存储空间容量。 单位:字节/秒 ≥ 0 bytes/s 用户 文件共享 30分钟 capacity_infrequent_access 低频型存储用量 低频型存储数据所占用的存储空间容量。 单位:字节/秒 ≥ 0 bytes/s 用户 文件共享 30分钟 read_bandwidth 读带宽 该指标用于统计文件系统在周期内的读数据量。 单位:字节/秒 ≥ 0 bytes/s 文件共享 4分钟 write_bandwidth 写带宽 该指标用于统计文件系统在周期内的写数据量 单位:字节/秒 ≥ 0 bytes/s 文件共享 4分钟 read_tps 读TPS 该指标用于统计文件系统在周期内的读次数。 单位:次/秒 ≥ 0 counts/s 文件共享 4分钟 write_tps 写TPS 该指标用于统计文件系统在周期内的写次数。 单位:次/秒 ≥ 0 counts/s 文件共享 4分钟 通用文件系统的监控指标仅在有业务访问时展示数据。
  • 操作步骤 登录弹性云服务器管理控制台。 登录已创建好的Linux系统云服务器,用于同时访问SFS容量型文件系统和SFS Turbo文件系统。 输入以下挂载命令,用于访问文件系统1。文件系统1可以是SFS容量型文件系统或SFS Turbo文件系统。 mount -t nfs -o vers=3,timeo=600,noresvport,nolock 文件系统1挂载地址 /mnt/src 输入以下挂载命令,用于访问文件系统2。文件系统2可以是SFS容量型文件系统或SFS Turbo文件系统。 mount -t nfs -o vers=3,timeo=600,noresvport,nolock 文件系统2挂载地址 /mnt/dst 下载并安装rclone工具。下载地址请参见https://rclone.org/downloads/。 执行以下命令,进行数据同步。 rclone copy /mnt/src /mnt/dst -P --transfers 32 --checkers 64 --links --create-empty-src-dirs 参数说明如下,transfers和checkers数目可以根据系统规格自行配置: /mnt/src :源路径 /mnt/dst:目标路径 --transfers:传输文件的并发数目。 --checkers:扫描本地文件的并发数目。 -P:数据拷贝进度。 --links:复制源端的软链接,目的端保持为软链接的形式。 --copy-links:复制源端软链接指向的文件内容,目的端变成文件的形式,不再是软链接。 --create-empty-src-dirs:复制源端的空目录到目的端。 等待数据完成同步后,可前往目标文件系统查看是否已成功迁移。
  • 通用测试配置样例 以下提供的预估值为单台弹性 云服务器ECS 测试的结果。建议使用多台ECS测试,以达到弹性文件服务的性能指标。 本文以SFS Turbo性能型,云服务器规格如下为例说明。 规格:通用计算增强型 | c3.xlarge.4 | 4vCPUs | 16GB 镜像:CentOS 7.564bit fio命令: fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/nfs/test_fio --bs=1M --iodepth=128 --size=10240M --readwrite=rw --rwmixwrite=30 --fallocate=none 其中,“/mnt/nfs/test_fio”为待测试的目标文件的挂载路径,需具体到文件名,即这里要测试的是“/mnt/nfs”目录下的“test_fio”文件,请根据实际填写。 fio结果: fio命令: fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/nfs/test_fio --bs=1M --iodepth=128 --size=10240M --readwrite=rw --rwmixwrite=70 --fallocate=none 其中,“/mnt/nfs/test_fio”为待测试的目标文件的挂载路径,需具体到文件名,即这里要测试的是“/mnt/nfs”目录下的“test_fio”文件,请根据实际填写。 fio结果: 顺序读IOPS fio命令: fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=read --bs=4k --size=1G --iodepth=128 --runtime=120 --numjobs=10 其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。 fio结果: 随机读IOPS fio命令: fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=randread --bs=4k --size=1G --iodepth=128 --runtime=120 --numjobs=10 其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。 fio结果: 顺序写IOPS fio命令: fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=write --bs=4k --size=1G --iodepth=128 --runtime=120 --numjobs=10 其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。 fio结果: 随机写IOPS fio命令: fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=randwrite --bs=4k --size=1G --iodepth=128 --runtime=120 --numjobs=10 其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。 fio结果: 顺序读带宽 fio命令: fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/sfs-turbo/test_fio --bs=1M --iodepth=128 --size=10240M --readwrite=read --fallocate=none 其中,“/mnt/sfs-turbo/test_fio”为待测试的目标文件的挂载路径,需具体到文件名,即这里要测试的是“/mnt/sfs-turbo”目录下的“test_fio”文件,请根据实际填写。 fio结果: 随机读带宽 fio命令: fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=randread --bs=1M --size=10G --iodepth=128 --runtime=120 --numjobs=1 其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。 fio结果: 顺序写带宽 fio命令: fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=write --bs=1M --size=10G --iodepth=128 --runtime=120 --numjobs=1 其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。 fio结果: 随机写带宽 fio命令: fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=randwrite --bs=1M --size=10G --iodepth=128 --runtime=120 --numjobs=1 其中,“/mnt/sfs-turbo/”为待测试的目标文件的挂载路径,需具体到文件名,请根据实际填写。 fio结果:
  • 购买资源包 通用文件系统同时提供包年包月计费模式,您可以购买资源包实现包年包月计费。暂不支持退订资源包,请提前规划资源的使用额度和时长。 在SFS管理控制台左侧导航栏选择“资源包管理”。 单击页面右上角“购买资源包”。 图1 购买通用文件系统资源包 配置资源包参数。 表1 配置资源包参数 参数 说明 区域 选择资源包所属区域。 区域专属资源包,不支持共享给其他区域使用,请根据您资源所在地谨慎选择。 资源包规格 选择资源包规格。 通用文件系统资源包无法扩容,但可以叠加购买。 购买时长 选择购买时长。 购买数量 输入购买数量。 购买数量必须在1~3000之间。 生效时间 选择生效时间:支付完成后立即生效/指定时间生效。 如果支付时间晚于指定生效时间,资源包将在支付后立即生效。 企业项目 勾选“限定企业项目使用”可限定企业项目使用资源包,即仅在所选企业项目下的通用文件系统才能使用此资源包进行抵扣,同时也需满足资源包所属区域匹配的要求。如果未限定则全部企业项目均可使用。该选项仅对企业账号展示。 资源包示意 根据以上配置显示资源包示意图,包括资源包的基础配置和折合单价,以及相比按需计费所节省费用的百分比。 单击“立即购买”。 确认订单无误后,单击“去支付”。 如果发现订单有误,也可单击“上一步”修改订单后再继续购买。 根据界面提示进行订单支付。 支持续订,暂不支持退订。资源包到期后,不会影响您通用文件系统的使用和数据安全。您只要保证云服务账号上有足够的余额,系统会自动以按需计费的模式进行结算。
  • 加密挂载教程-Linux 安装stunnel。 stunnel是一个开源网络中继。stunnel会监听本地端口,并将发到其上的流量加密转发到SFS Turbo文件系统,要使用加密传输功能需要先安装stunnel。请执行以下命令进行安装: ubuntu或Debian操作系统安装命令 sudo apt updatesudo apt-get install stunnel CentOS,EulerOS或HCE OS操作系统安装命令 sudo yum install stunnel 推荐使用Stunnel版本为5.56或以上。 选取未被占用的端口作为本地监听端口。 如下示例,执行如下命令查看本地已被占用的端口: netstat -anp | grep 127.0.0.1 图1 本地已被占用端口 由于20049已被占用,所以需要在20050到21049之间选择一个未被占用的端口作为本地监听端口。 配置stunnel配置文件。 在/etc/stunnel路径下新建stunnel_[本地监听端口].conf文件,在此文件中写入: client = yessslVersion = TLSv1.2[nfs]ciphers = ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256accept = 127.0.0.1:[本地监听端口]connect = [dns name]:2052 执行如下命令拉起stunnel进程。 stunnel /etc/stunnel/stunnel_[本地监听端口].conf 执行如下挂载命令。 mount -t nfs -o vers=3,nolock,tcp,port=[本地监听端口],mountport=[本地监听端口] 127.0.0.1:/ [挂载点] 加密挂载完成后,在此挂载点上的所有文件操作与非加密场景的文件操作一致。 如果stunnel进程异常退出会导致文件操作卡住,可以利用crontab等linux能力,保证stunnel进程退出后自动拉起。
  • 续费资源包 在SFS管理控制台左侧导航栏选择“资源包管理”。 选择所要续费的资源包。 在需要续费的资源包操作列,单击“续费”。 选择续费时长。 页面将显示资源包在续费后的到期时间,以及对应的费用。 (可选)根据需要,选择是否统一到期日为每月1号。 将到期时间延长至统一到期日,可能产生额外的续费天数,进而产生额外的费用。选择此项后,请务必核对清楚续费时长和费用信息。 确认无误后,单击“去支付”,并在支付页面完成付款。
  • 添加授权地址操作步骤 本章节介绍如何通过控制台完成添加授权地址进行权限管理。 如果您想通过API调用完成文件系统权限管理,请参考《弹性文件服务API参考》权限管理章节。 登录弹性文件服务管理控制台。 在SFS Turbo文件系统列表中,找到待添加授权地址的SFS Turbo文件系统并单击目标文件系统名称,进入文件系统详情界面。 在“权限列表”页签,单击“添加”。 图1 添加授权地址 在“添加授权地址”弹窗内,参考表3完成授权地址的添加。 一个文件系统最多可以配置64条权限规则,单次最多可新增5个授权地址。 表3 添加授权地址说明 参数 说明 授权地址 只能输入一个的IP或网段。 输入的IPv4地址/地址段必须合法,且不能为除0.0.0.0/0以外之前0开头的IP地址或地址段,其中当设置为0.0.0.0/0时表示VPC内的任意IP。同时,不能为127以及224~255开头的IP地址或地址段,例如127.0.0.1,224.0.0.1,255.255.255.255,因为以224-239开头的IP地址或地址段是属于D类地址,用于组播;以240-255开头的IP地址或地址段属于E类地址,用于研究。使用非合法的IP或IP地址段可能会导致添加访问规则失败或者添加的访问规则无法生效。 如果要表示一个地址段,如192.168.1.0-192.168.1.255的地址段应使用掩码形式:192.168.1.0/24,不支持192.168.1.0-255等其他地址段表示形式。掩码位数的取值为0到31的整数,且只有为0.0.0.0/0时掩码位数可取0,其他情况均不合法。 网段类型请参见网段类型。 读写权限 支持选择以下读写权限。默认选择“rw”。 rw:用户拥有读写权限。 ro:用户拥有只读权限。 none:用户无权限访问。 用户权限 支持选择以下用户权限。默认选择“all_squash”。 all_squash:所有的用户访问时权限降为nobody。 root_squash:root用户访问时权限降为nobody。 no_root_squash:包括root用户在内的任何用户访问时权限都不会降为nobody。 确认授权地址信息,单击“确定”。
  • 网段类型 网段类型配置可以采用两种配置方式。 * : 代表任何ip地址 CIDR格式网段 : CIDR格式地址使用可变长度子网掩码来表示 IP 地址中网络地址位和主机地址位之间的比例。 CIDR IP地址在普通IP地址的基础上附加了一个后缀值,这个后缀值就是网络地址前缀位数。例如,192.1.1.0/24 是一个 IPv4 CIDR地址,其中前 24 位(即 192.1.1)是网络地址。 任何前24位与192.1.1.0相同的ip都适用于这一条鉴权规则,即192.1.1.1 与 192.1.1.1/32 表达的含义相同。
  • 权限类型 权限分为两部分:access权限和squash权限。 表1 access权限 权限 描述 rw 用户拥有读写权限 ro 用户拥有只读权限 none 用户无权限访问 表2 squash权限 权限 描述 all_squash 所有的用户访问时权限降为nobody root_squash root用户访问时权限降为nobody no_root_squash 包括root用户在内的任何用户访问时权限都不会降为nobody
  • FAQ 什么情况下会发生数据淘汰? 从OBS导入到SFS Turbo的文件,当文件在设定数据淘汰时间内没有被访问时,会自动对该文件进行淘汰。 在SFS Turbo上创建的文件,只有已经导出到OBS并且满足数据淘汰时间,才会进行淘汰,如果还没有导出到OBS,则不会淘汰。 数据淘汰之后,怎么重新将数据导入到SFS Turbo文件系统? 对文件进行读写操作时会重新从OBS桶加载文件数据到SFS Turbo文件系统; 使用数据导入功能重新将数据从OBS桶加载到SFS Turbo文件系统。 什么场景下会发生数据导入失败? 当只导入了文件元数据,或者SFS Turbo中发生了数据淘汰,SFS Turbo中只剩下文件元数据,但OBS桶中的对象又被删除时,进行数据导入或访问文件内容时会发生失败。 导入/导出任务是同步的,还是异步的? 是异步的,任务提交后马上返回,您可以通过任务id查询异步任务完成状态。 删除SFS Turbo联动目录内的文件,OBS桶里对应的对象会删除吗? 不会。如果没有开启自动同步策略,则不会。如果开启了自动同步策略,则会删除。 SFS Turbo绑定OBS桶时或者绑定之后可以指定导入目录和文件的权限吗? 一般情况下,您可以指定导入目录和文件的权限。如果无法指定,请提交工单申请。指定权限详情如下所示: 绑定OBS桶时或绑定OBS桶后,支持设置导入目录和文件的默认权限,请参考《高性能弹性文件服务API参考》的“绑定后端存储”和“更新后端存储属性”章节。如果未设置,默认为750(目录权限)和640(文件权限)。 元数据导入(快速导入)和数据导入时,支持指定导入目录和文件的权限,请参考《高性能弹性文件服务API参考》的“创建数据导入导出任务”章节。如果未指定,则以上述默认权限为准。 历史版本导入目录和文件的默认权限为755(目录权限)和644(文件权限),现逐步按区域切换为750(目录权限)和640(文件权限),如有疑问,请提交工单咨询。 SFS Turbo绑定OBS桶时或者绑定之后,建议指定导入目录和文件的默认权限。如果您未指定,非root用户无权限访问对应的目录和文件。
  • 使用限制 支持存储联动的SFS Turbo文件系统规格有:20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB。 SFS Turbo目录和OBS配置联动后不支持以下操作:硬链接、重命名和目录配额。 单个SFS Turbo文件系统最多可配置16个OBS联动目录。 创建 OBS 后端存储库,依赖的服务是 对象存储服务 OBS。用户需要额外配置OBS Adminstrator权限。 同一层目录下不允许同样名称的文件和目录存在。 不支持超长路径,数据流动支持的路径最大长度是1023字符。 数据流动导入时,不支持长度大于255字节的文件名或子目录名。 开启WORM策略的OBS桶,只能从OBS桶导入数据到SFS Turbo,无法从SFS Turbo导出数据到OBS桶。 不支持绑定OBS并行文件系统和已配置服务端加密的OBS存储桶进行联动。
  • 数据导入功能 SFS Turbo文件系统绑定OBS桶后,可以使用数据导入功能。 默认情况下,元数据导入完成后,数据不会导入到SFS Turbo文件系统中,初次访问会按需从OBS中加载数据,对文件的第一次读取操作可能耗时较长。如果您的业务对时延比较敏感,并且您知道业务需要访问哪些目录和文件,比如AI训练等场景涉及海量小文件,对时延比较敏感,可以选择提前导入指定目录和文件。 数据导入功能会同时导入元数据和数据内容,元数据将会采用快速导入方式,不会导入其他附加元数据(如uid、gid、mode),如果您想指定导入目录和文件的权限,请参考《高性能弹性文件服务API参考》的“创建数据导入导出任务”章节,该操作仅针对本次导入任务生效。 在绑定OBS桶之后,单击“数据导入”选项。 图5 数据导入 “对象路径”请填写绑定OBS桶内对象的路径(不包含桶名)。 OBS桶中的对象路径(不包含桶名),目录需以“/”结尾。 如果要导入OBS桶内所有对象,则不用填写对象路径。SFS Turbo会将数据导入到联动目录下,且联动目录下的文件路径和OBS桶里的对象路径保持一致。 对象路径示例(“/mnt/sfs_turbo”为您的挂载目录,“output-1”为您的联动目录名称): 如对象路径为dir/,则会导入到“/mnt/sfs_turbo/output-1/dir” 如对象路径为dir/file, 则会导入到“/mnt/sfs_turbo/output-1/dir/file” 如对象路径为空,则会直接导入到“/mnt/sfs_turbo/output-1” 单击“确定”,提交导入任务。 在OBS数据导入到SFS Turbo之后,如果OBS桶中的数据发生新增或修改,需要重新导入到SFS Turbo中。 通过API使用数据导入功能的具体操作请参考创建SFSTurbo 和 OBS 之间的联动任务。 不支持长度大于255字节的文件名或子目录名。
  • 概述 AI训练和推理、高性能数据预处理、EDA、渲染、仿真等场景下,您可以通过SFS Turbo文件系统来加速OBS对象存储中的数据访问。SFS Turbo文件系统支持无缝访问存储在OBS对象存储桶中的对象。您可以指定SFS Turbo内的目录与OBS对象存储桶进行关联,然后通过创建导入导出任务实现数据同步。您可以在上层训练等任务开始前将OBS对象存储桶中的数据提前导入到SFS Turbo中,加速对OBS对象存储中的数据访问;上层任务产生的中间和结果等数据可以直接高速写入到SFS Turbo缓存中,中间缓存数据可被下游业务环节继续读取并处理,结果数据可以异步方式导出到关联的OBS对象存储中进行长期低成本存储。同时,您还可以配置缓存数据淘汰功能,及时将长期未访问的数据从SFS Turbo缓存中淘汰,释放SFS Turbo高性能缓存空间。
  • 绑定OBS桶 登录高性能弹性文件服务管理控制台。 在文件系统列表中,单击创建的文件系统名称,进入文件系统详情页面。 进入“绑定后端存储”页签,单击“绑定OBS桶”。 图1 绑定OBS桶 在右侧弹窗“绑定OBS桶”中,填写如下参数。 表1 参数说明 参数 含义 限制 配置后可编辑 联动目录名称 SFS Turbo文件系统根目录下会以该名称创建一个子目录,该目录将绑定对应的OBS桶,且该目录名称不能和已有目录重名。 子目录名称不能重复,子目录名称长度不能超过63个字符。 子目录名称必须是文件系统根目录下不存在的目录名。 子目录名称不能是“.”或“..”。 不支持 桶名 OBS存储桶桶名。 无法绑定不存在的存储桶。 不支持绑定OBS并行文件系统和已配置服务端加密的OBS存储桶进行联动。 不支持 OBS区域 域名 OBS区域域名,即OBS的终端节点。 OBS存储桶必须和SFS Turbo文件系统在同一个Region。 不支持 自动导出 打开开关后,当文件系统发生数据更新时,将自动导出到OBS桶。 - 支持 导出数据 打开“自动导出”开关,则会出现该参数。 选择导出到OBS桶的数据更新类型“新增数据”、“修改数据”或“删除数据”后,SFS Turbo会以异步方式导出到OBS。 新增数据:SFS Turbo联动目录下创建的文件,及之后对这些文件进行的元数据和数据修改,会被自动同步到OBS桶里。 修改数据:从OBS桶里导入到SFS Turbo联动目录下的文件,在SFS Turbo上对这些文件所进行的数据和元数据的修改,会被自动同步到OBS桶里。 删除数据:在SFS Turbo联动目录下删除文件,OBS桶对应的对象也会被删除,只有被SFS Turbo写入的OBS对象才会被删除。 - 支持 勾选“将OBS桶的读写权限通过桶策略授权给SFS Turbo云服务”,并单击“确定”,完成绑定。 如果您想指定导入目录和文件的权限,请参考《高性能弹性文件服务API参考》的“绑定后端存储”和“更新后端存储属性”执行操作。 不支持绑定OBS并行文件系统和已配置服务端加密的OBS存储桶进行联动。 绑定OBS桶时,会在OBS桶上添加Sid为“PolicyAddedBySFSTurbo”的桶策略,请不要修改或删除该桶策略,否则可能导致联动功能异常。 如果您已将一个或多个SFS Turbo文件系统绑定了OBS存储桶,在删除文件系统或删除绑定之前,请不要删除该OBS存储桶,否则可能导致联动功能异常。 以桶名为“obs-test”的OBS桶为例,桶策略“PolicyAddedBySFSTurbo”的内容如下所示: { "Statement": [ { "Sid": "PolicyAddedBySFSTurbo", "Effect": "Allow", "Principal": { "ID": [ "domain/xxx:user/xxx" ] }, "Action": [ "ListBucket", "HeadBucket", "GetBucketStorage", "GetBucketPolicy", "GetBucketAcl", "GetBucketNotification", "GetBucketQuota", "GetObject", "PutObject", "DeleteObject", "GetObjectAcl", "PutObjectAcl", "ModifyObjectMetaData" ], "Resource": [ "obs-test", "obs-test/*" ] } ]}
  • 元数据导入功能 SFS Turbo文件系统绑定OBS桶后,可以使用元数据导入功能。 当您使用SFS Turbo文件系统访问OBS桶的数据时,您需要使用元数据导入功能提前将OBS数据文件的元数据(名称、大小、最后修改时间)导入到SFS Turbo文件系统中。只有元数据导入之后,您才可以在文件系统的联动子目录中去访问OBS存储桶中的数据。元数据导入功能仅会导入文件元数据,文件内容会在首次访问时从OBS存储桶中加载并缓存在SFS Turbo中,后续重复访问会直接命中,无需再从OBS存储桶中加载。 SFS Turbo文件系统提供快速导入和附加元数据导入两种元数据导入方式。元数据导入之后,您可以在联动子目录下看到导入的目录和文件列表。 快速导入:当您绑定的OBS桶中存储的数据不是来源于SFS Turbo导出时,可以选择快速导入方式,快速导入方式仅会导入OBS的元数据(名称、大小、最后修改时间),不会导入其它附加元数据(如uid、gid、mode),SFS Turbo会生成默认的附加元数据(uid、gid、目录权限、文件权限),如果您想指定导入目录和文件的权限,请参考《高性能弹性文件服务API参考》的“创建数据导入导出任务”章节,该操作仅针对本次导入任务生效。快速导入能够提供更快的元数据导入性能,推荐您使用快速导入。 附加元数据导入:当您绑定的OBS桶中存储的数据是来源于SFS Turbo导出时,可以使用附加元数据导入方式,附加元数据导入方式会导入OBS的元数据(名称、大小、最后修改时间)以及来源于SFS Turbo导出时的附加元数据(如uid、gid、mode)。如果没有来源于SFS Turbo的附加元数据则以指定导入目录和文件的权限为准。 在绑定OBS桶之后,单击“元数据导入”选项。 图4 元数据导入 “导入前缀”请填写绑定OBS桶内对象的前缀,可以具体到某个对象名。如果要导入整个OBS桶内的所有对象,则不用填写。 勾选“附加元数据导入”将会采用附加元数据导入方式,不勾选“附加元数据导入”将采用快速导入方式。 单击“确定”,提交导入任务。 在OBS数据导入到SFS Turbo之后,如果OBS桶中的数据发生新增或修改,需要重新导入到SFS Turbo中。 不支持长度大于255字节的文件名或子目录名。
  • 数据淘汰功能 SFS Turbo文件系统绑定OBS桶之后,可以使用数据淘汰功能。淘汰时会释放数据内容,仅保留元数据,释放后不占用SFS Turbo文件系统上的存储空间。再次访问该文件时,将重新从OBS中加载文件数据内容。 按时间淘汰 SFS Turbo文件系统绑定OBS桶之后,支持数据按时间淘汰功能。设定时间内没有被访问过的文件会被淘汰。 按时间淘汰功能支持设置(冷)数据淘汰时间,设置步骤请参考以下操作。 登录高性能弹性文件服务管理控制台。 在文件系统列表中,单击创建的SFS Turbo文件系统名称,进入文件系统详情页面。 在“基本信息”页签,设置(冷)数据淘汰时间。 图7 设置冷数据淘汰时间 按容量淘汰 SFS Turbo文件系统绑定OBS桶后,支持数据按容量淘汰功能。 容量达到95%及以上按照30分钟淘汰时间进行淘汰,淘汰至容量低于85%。 淘汰规则:按时间淘汰和按容量淘汰哪个先达到就先按哪个淘汰。 数据淘汰默认开启,淘汰时间默认为60小时。设置(冷)数据淘汰时间的API请参考更新文件系统。 如果SFS Turbo文件系统存储空间写满,会影响业务运行,建议在 云监控服务 CES上配置SFS Turbo已用容量的监控告警。 当触发容量阈值告警时请手动缩短数据淘汰时间,例如从60小时配置成40小时,加速(冷)数据淘汰,或者对SFS Turbo存储空间进行扩容。
  • 加速加载checkpoint 在加载checkpoint的时候,利用内存快恢、checkpoint广播等技术,大大减少后端存储的带宽压力,提升加载效率。具体地,对于训练中进程级故障、硬件仍然健康的故障场景,主机侧客户端内存缓存仍会保留,本机缓存中的checkpoint仍可正常访问,此时可从主机侧客户端内存中直接加载checkpoint进行原地秒级快速恢复;为避免所有GPU/NPU卡同时从存储中加载checkpoint致使存储带宽成为拥塞瓶颈,在具有相同checkpoint的冗余组内,采用部分代表节点先从远端存储加载checkpoint并将checkpoint广播到剩余其他节点的恢复机制,这种策略显著降低大规模训练集群故障恢复过程对远端存储带宽的需求,加速大规模训练集群checkpoint快速恢复。 图2 加载checkpoint流程
  • 背景 当前,大模型训练往往使用成百上千加速卡训练几周到几个月不等。在训练过程中,故障导致训练中断经常发生。训练程序一般采用周期checkpoint方案来将训练状态持久化到存储,当发生故障时,训练程序能恢复到故障之前的模型和优化器的状态继续训练。原生Pytorch系框架在保存checkpoint时均直接持久化到存储系统,耗时与模型大小、存储的IO性能等密切相关,往往需要几分钟到几十分钟不等,为了保证训练状态的一致性,保存checkpoint时训练必须暂停,保存时间影响了训练过程的整体效率。当发生故障,训练程序从已有checkpoint恢复时,每张卡都需要从持久化存储中加载,在训练集群规模较大,存储带宽较低的场景下,加载耗时可能会达到小时级,严重影响训练恢复。因此,我们在AITurbo SDK中提供了快速保存和加载checkpoint的功能,当前流行的两种大模型训练框架Megatron进行简单适配便可使用。
  • 安装AITurbo SDK 请提交工单获取AITurbo SDK的安装包huawei_aiturbo_xxx.whl(xxx为具体版本号信息),并上传到环境。 安装AITurbo SDK依赖包。 AITurbo SDK依赖rpyc,setproctitle,PyYAML,pathlib2、psutil、loguru、numpy等三方库,安装方式如下: pip install rpyc setproctitle pathlib2 PyYAML numpy loguru psutil 安装AITurbo SDK,checkpoint的保存和加载优化依赖于AITurbo SDK: pip install huawei_aiturbo_xxx.whl
  • 加速保存checkpoint 在保存checkpoint的时候,利用两阶段写、内存副本、异步持久化等技术保证checkpoint的快速、高可靠存储。具体地,第一阶段,各个节点将自己的checkpoint高速同步写入HOST侧的内存缓存中,同时写入配置好的backup节点内存缓存中,backup的内存副本可以在主节点进程异常退出时不会丢失内存checkpoint;第二阶段,拥有相同checkpoint的节点会选择代表节点异步写一份完整的checkpoint到SFS Turbo服务端进行持久化存储,通过异步方式最大程度隐藏了checkpoint持久化到远端存储的耗时,实现checkpoint秒级同步保存,避免训练任务长时间阻塞,异步保存阶段,主节点持久化过程中,内存中写入了相同检查点的备节点会持续监听主节点的保存结果。保存失败之后,备节点会接管主节点的持久化操作,代替主节点将检查点持久化下去,保证可靠性。 图1 保存checkpoint流程
  • 示例流程 图1 给用户授权SFS权限流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予只读权限如下所示: 弹性文件服务(SFS容量型文件系统):“SFS ReadOnlyAccess” 弹性文件服务(SFS Turbo文件系统):“SFS Turbo ReadOnlyAccess” 弹性文件服务(通用文件系统):“SFS3 ReadOnlyAccess” 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 选择弹性文件服务,进入SFS主界面,单击右上角“创建文件系统”,尝试创建文件系统,如果无法创建文件系统,则表示以下权限已生效: 弹性文件服务(SFS容量型文件系统):“SFS ReadOnlyAccess” 弹性文件服务(SFS Turbo文件系统):“SFS Turbo ReadOnlyAccess” 弹性文件服务(通用文件系统):“SFS3 ReadOnlyAccess” 选择除弹性文件服务外的任一服务,如果提示权限不足,则表示以下权限已生效: 弹性文件服务(SFS容量型文件系统):“SFS ReadOnlyAccess” 弹性文件服务(SFS Turbo文件系统):“SFS Turbo ReadOnlyAccess” 弹性文件服务(通用文件系统):“SFS3 ReadOnlyAccess”
  • 迁移说明 SFS Turbo默认只能被云上同一个VPC内的ECS/CCE访问,用户可通过云专线/VPN/对等连接等方式打通网络,实现多种访问方式。 云下或其他云访问: 云专线/VPN 云上同区域同一账号不同VPC: VPC对等连接 云上同区域跨账号访问: VPC对等连接 不同区域访问: 云连接 迁移数据分为两种网络条件,通过可访问公网的ECS直接挂载迁移。 通过mount方式挂载访问SFS Turbo,将本地NAS存储中的数据迁移至SFS Turbo。 通过云专线迁移 无法打通网络直接挂载,可以通过公网访问华为云ECS绑定的EIP,也可进行传输迁移。 使用公网迁移 父主题: 数据迁移
  • 操作步骤 以root账号登录弹性云服务器。 给非root的普通用户添加root权限。 执行chmod 777 /etc/sudoers命令修改sudoers文件权限为可编辑权限。 使用which命令查看mount和umount命令的路径。 图1 查看命令路径 执行vi /etc/sudoers命令编辑sudoers文件。 在root账号下添加普通用户账号,下图以添加普通用户Mike为例。 图2 添加用户 编辑完成后,单击“Esc”,并输入:wq,保存文件并退出。 执行chmod 440 /etc/sudoers命令恢复sudoers文件权限为只读权限。 切换到普通用户Mike登录弹性云服务器。 执行如下命令挂载文件系统。挂载参数参见表1。 sudo mount -t nfs -o vers=3,timeo=600,noresvport,nolock 挂载地址 本地路径 表1 参数说明 参数 说明 挂载地址 SFS容量型文件系统的格式为:文件系统域名:/路径,例如:example.com:/share-xxx。SFS Turbo文件系统的格式为:文件系统IP:/,例如192.168.0.0:/。 说明: x是数字或字母。 由于挂载地址名称较长,需要拉宽该栏以便完整显示。 本地路径 云服务器上用于挂载文件系统的本地路径,例如“/local_path”。 挂载完成后,执行如下命令,查看已挂载的文件系统。 mount -l 如果回显包含如下类似信息,说明挂载成功。 example.com:/share-xxx on /local_path type nfs (rw,vers=3,timeo=600,nolock,addr=)
  • 设置配额 登录管理控制台,选择“弹性文件服务”。 左侧导航栏选择“通用文件系统”,跳转到通用文件系统控制台。 在文件系统列表页,单击指定文件系统右侧的“配额管理”进入配额管理页面。 在配额管理页面,单击“设置配额”,系统弹出如图2所示对话框。 图1 配额管理页面 图2 设置配额 设置文件系统配额。 容量配额:必填,输入容量配额,必须大于0且不可低于已用容量。单位是GB。 文件数限制:选填,输入文件数限制,必须大于0且不可低于当前文件数。单位是个。 单击“确定”,完成文件系统配额设置。在配额管理页面可以看到配额详情。 图3 配额详情
  • 创建加密文件系统 当您需要使用文件系统加密功能时,创建SFS容量型文件系统需要授权文件系统访问KMS。如果您拥有“Security Administrator”权限,则可直接授权。如果权限不足,需要联系系统管理员获取安全管理员权限,然后再重新操作。 如果创建SFS Turbo文件系统时,则不需要授权。 可以新创建加密或者不加密的文件系统,无法更改已有文件系统的加密属性。 创建加密文件系统的具体操作请参见创建文件系统。
共99354条