数据沉降
适用范围
仅适用于极速型L2。
操作步骤
创建规则
- 登录并行文件存储PFS控制台。
- 点击PFS实例ID。
- 在左侧导航栏,选择生命周期。
- 在生命周期页,点击创建规则按钮。
- 在创建规则对话框中,配置如下参数。


| 参数 | 说明 |
|---|---|
| 规则名称 | 请输入规则名称。支持大小写字母、数字、中文、半角冒号(:)、下划线(_)或者短划线(-)。必须以大小字母或中文开头,长度为1~128个英文或中文字符。 |
| 规则作用目录 | 设置规则作用目录,该目录必须已存在,例如目录/pfs或/pfs/test。 |
| 生命周期规则 | 基于文件最后一次访问时间设置生命周期规则。例如设置:最后一次访问时间7天后,系统自动执行数据沉降至bos://test。注意事项: |
| 沉降地址 | 设置文件到期后沉降的目标BOS Bucket地址 |
| AK/SK | 输入Access key和Secret key,可前往安全认证查询。说明:AK/SK仅在数据取回阶段使用,不在数据沉降阶段使用。请务必确保配置正确,否则可能出现“沉降成功但取回失败”的情况;若发现配置错误,可通过 编辑 进行修改。 |
| 规则执行时间 | 设置规则执行时间。例如12点,规则会在每天北京时间12:00:00开始执行。 |
注意:
- 规则在创建1分钟后生效,PFS会自动加载规则并在设置的规则执行时间开始执行。
- 勾选我已确认并知晓使用数据沉降功能的相关注意事项。点击确认。
查看规则
在生命周期页,可以按规则名称、规则ID、规则作用目录进行模糊搜索规则,支持按规则状态筛选。查询到对应目标规则,可以查看规则的详细信息,包括规则名称、规则ID、规则作用目录、生命周期规则、规则执行时间、状态、创建时间。

数据沉降规则状态正常流转如下

规则常见状态说明:
| 状态 | 说明 |
|---|---|
| 初始化中 | 数据沉降规则创建后需完成初始化,期间不支持任何操作。 |
| 生效中(数据未沉降) | 数据沉降规则已创建但未到执行时间,且暂无过期文件沉降至BOS Bucket。支持查看报告、编辑和删除。 |
| 执行中 | 数据沉降规则在设定的执行时间内,正在将已过期文件沉降至指定BOS Bucket。仅支持查看报告。 |
| 生效中(数据已沉降) | 数据沉降规则已创建但未到执行时间,且已有过期文件沉降至BOS Bucket。支持查看报告、编辑和数据取回。注意: |
| 生效中(数据取回中) | 数据沉降规则已创建但未到执行时间,正在将BOS Bucket中的所有沉降文件取回到PFS。仅支持查看报告。注意:数据取回后才能删除规则 |
| 更新中 | 数据沉降规则正在编辑更新中,仅支持查看报告 |
| 异常 | 数据沉降规则状态异常,无法生效与删除,请提交工单处理。 |
编辑规则
在生命周期页,单击规则操作列下的编辑按钮。在编辑规则对话框中修改规则名称、生命周期规则(无法更改规则类型,如无法将数据沉降调整成数据删除、数据转存)、沉降地址、AK/SK、规则执行时间,完成设置后,点击确定。


注意:
1.若调整规则执行时间,已经开始执行的规则将按原时间继续执行,下次执行时间将按照新设置生效。
2.存在已沉降数据时,无法调整过期时间和沉降地址,否则可能导致数据不一致,请先取回数据后再调整。
数据取回
当沉降至BOS的文件数据再次需要高频访问时,可在生命周期页一键执行数据取回。数据取回操作会从BOS Bucket取回该规则目录及子目录下的所有沉降文件至PFS原路径,并删除BOS Bucket中的对应数据。
注意:
1.仅在数据沉降规则生效中(数据已沉降)时,才能执行数据取回。
2.当沉降数据量较大、取回超过1天时,可能触发下一次规则执行并产生新的沉降数据。需再次执行数据取回,才能确保全部数据取回。
删除规则
在生命周期页,单击目录规则操作列下的删除按钮,在删除规则对话框中,点击确定完成删除。
注意:当规则存在已沉降的数据时,无法删除规则,需先取回BOS Bucket中的所有沉降数据后才能删除。
查看报告
规则执行成功后,可在生命周期页,单击目录规则操作列下的查看报告按钮,查看历史执行报告情况。

报告示例:
1Summary
2PFSId: pfs-Ln**fM
3PolicyId: policy-CA**J4
4PolicyType: LifecycleSink
5startTime: 2025-05-28 00:00:16
6endTime: 2025-05-28 00:00:31
7totalCount: 5922
8totalSize(KB): 27540
9skippedCount: 0
10skippedSize(KB): 0
11failedCount: 3131
12failedSize(KB): 16376
13processCount/second: 174.4375
14processMB/second: 0.6814
15
16## 格式:path, type, size, atime, mtime, sink time, result
17/10mi**301/10mil**on301/91, directory, 262144, 2025-06-18 00:00:06, 2025-06-18 00:00:08, 2025-06-20 00:00:12, failed
18/10mil**on301/10mil**ion301/0d, file, 262144, 2025-06-15 00:00:08, 2025-06-18 00:00:08, 2025-06-20 00:00:12, succ
19......
| 类别 | 字段 | 说明 |
|---|---|---|
| 统计信息 | PFSId | PFS实例ID |
| PolicyId | 规则ID | |
| PolicyType | 规则类型,LifecycleSink为数据沉降 | |
| startTime | 规则执行开始时间 | |
| endTime | 规则执行完成时间 | |
| totalCount | 规则执行的文件/空目录总数。 | |
| totalSize(KB) | 规则执行的文件/空目录总大小。 | |
| skippedCount | 规则无法执行跳过的文件/空目录总数,如特殊文件 | |
| skippedSize(KB) | 规则无法执行跳过的文件/空目录总大小,如特殊文件 | |
| failedCount | 规则执行失败的文件/空目录总数。 | |
| failedSize(KB) | 规则执行失败的文件/空目录总大小。 | |
| processCount/second | 规则每秒执行的文件数。 | |
| processMB/second | 规则每秒执行的文件/空目录大小。 | |
| 执行文件/空目录信息 | path | 被执行的文件/空目录名称 |
| type | 被执行的数据类型 |
|
| size | 被执行的文件/空目录大小,单位为字节 | |
| atime | 文件/目录的最后访问时间 | |
| mtime | 文件/目录的最后修改时间 | |
| sink time | 文件/目录数据沉降时间 | |
| status | 被执行的文件/空目录状态信息 |
服务安装
在创建数据转存规则后,PFS系统会在指定时间将过期文件(冷数据)沉降到BOS。沉降完成后,若需要在计算节点(如BCC/百舸/CCE等)访问仅保留元数据的文件时,能自动从BOS按需加载数据块(实现透明访问BOS),请按照以下步骤安装生命周期客户端。
- 在【挂载服务详情页-客户端集群-客户端管理节点】,获取客户端管理节点列表中第一个BCC实例的初始密码(请勿修改管理节点的初始密码并保证实例可正常登录)。
- 在BCC控制台,以root用户远程登录上述实例(客户端管理节点列表中第一个BCC实例),密码为上一步获取的密码。更多登录方式请点击此处。
- 登录成功后,在该客户端管理节点执行以下命令,为需要透明访问BOS的计算节点(如BCC/百舸/CCE等)安装并挂载生命周期客户端:
1pfs lifecycle-add ${ip1} ${ip1} [--mount-point=/pfs/pfs-xxxxyyy]
2
3# 其中,ip1和ip2为需要透明访问BOS的目标计算节点的内网IP地址
4# 若挂载服务绑定多个PFS实例时,则必须通过--mount-point指定生命周期客户端要访问的PFS,即填写该PFS在当前计算节点上的客户端本地挂载路径。
示例:
1# 挂载服务仅绑定1个PFS实例时
2pfs lifecycle-add 192.168.16.18 192.168.16.19
3
4# 挂载服务绑定多个PFS实例时
5pfs lifecycle-add 192.168.16.18 192.168.16.19 --mount-point=/pfs/pfs-drrtdF
说明:
- 在安装并挂载生命周期客户端之前,请确保计算节点(如BCC/百舸/CCE等)已经成功挂载PFS实例。可参考对应文档完成挂载操作,如 BCC挂载与卸载(控制台)、 BCC挂载与卸载(命令行)、CCE通过CSI挂载与卸载(极速型L2)、百舸快速创建大模型训练任务等。
- 生命周期客户端会自动挂载到与PFS客户端对应的本地挂载路径下,目录名称以_lifecycle作为后缀,如:PFS客户端本地挂载路径/pfs/pfs-shortid,则生命周期客户端本地挂载路径/pfs/pfs-shortid_lifecycle。
- 如无需继续使用,可执行以下命令完成生命周期客户端卸载。
1pfs lifecycle-del ${ip1} ${ip1}
示例:
1pfs lifecycle-del 192.168.16.18 192.168.16.19
- 更多限制和使用说明
- PFS中文件沉降后,PFS本地路径与生命周期客户端路径的文件读行为不一致,访问文件时必须通过生命周期客户端;请勿绕过生命周期客户端直接访问底层PFS,否则可能导致部分沉降数据或新写入的数据无法正常读回。
-
生命周期会在PFS根目录下创建 .lifecycle/ 目录及若干以 .lifecycle 开头的系统文件,这些文件和目录均为生命周期数据沉降正常运行所必需,禁止删除。删除后可能导致未定义行为,例如数据无法访问或死锁等问题,包括但不限于:
- 删除 lock 目录可能导致冷数据下沉过程异常,从而造成新写入数据无法下沉而丢失。
- config目录中包含生命周期数据沉降所需的配置信息(其中.lifecycle/config/policy-文件存储BOS的AK/SK)。删除该目录将导致冷数据无法从BOS正常读取。
- 根目录下的 .lifecycle 开头的文件用于检测PFS系统是否发生重启。如被删除,将导致生命周期客户端返回 stale file handle 错误。
- 生命周期客户端必须安装在已挂载PFS客户端的计算节点上,且同一计算节点仅支持运行1个生命周期客户端,不支持多挂载访问场景。例如:当某挂载服务同时绑定PFS-1和PFS-2时,该挂载服务下的所有计算节点只能挂载1个生命周期客户端,用于访问其中任意1个PFS,无法同时对2个PFS进行访问。
- 不建议对已沉降到BOS的文件货PFS本地仅保留元数据的文件进行重命名操作,否则将导致无法从BOS读取/取回数据,即使在PFS端重新创建同名文件也无法恢复。
- 禁止删除沉降到BOS的文件,否则PFS端仅保留元数据的文件将无法读写或无法删除,且无法通过数据取回恢复。
- 相较于计算节点通过PFS客户端直接访问PFS,通过生命周期客户端访问PFS数据时,性能通常会下降1~5倍(数据来源于测试,请以实际情况为准)。
- 从BOS数据取回至PFS本地目录时,若该目录为设置了容量配额的Fileset,且当前目录已用容量已超过容量配额上限,则数据取回将无法执行。
-
支持的文件操作语义如下:
操作类型 详细操作类型 冷数据检查要求 支持情况 数据一致性保证 过期数据(冷数据)处理方式 目录类 mkdir 否 完整支持 是 rmdir 否 完整支持 是 opendir 否 完整支持 是 releasedir 否 完整支持 是 readdir 否 完整支持 是 rename 否 完整支持 否 对冷数据做rename操作会导致数据无法取回, mv a b, 访问b返回空数据 元信息类 access 否 完整支持 是 chmod 否 完整支持 是 chown 否 完整支持 是 utimens 是 局限支持 否 冷数据不支持,返回E_PERM getattr 是 完整支持 是 当size=0或者冷数据时,需要额外进行一次getxattr(""lifecycle""),获取真实的size数据 getxattr 否 局限支持 是 请求中含有""user.lifecycle""的 key均返回E_PERM setxattr 否 局限支持 是 listxattr 否 局限支持 是 removexattr 否 局限支持 是 文件类 open 否 完整支持 是 create 否 完整支持 是 fallocate 是 局限支持 是 冷数据返回E_PERM truncate 是 局限支持 是 冷数据返回E_PERM link 是 局限支持 是 冷数据情况下返回E_PERM,如在热数据期间就做了link,则该文件始终不会被下沉 unlink 是 局限支持 是 冷数据返回E_PERM read 是 局限支持 是 冷数据从BOS取回数据,且冷数据读取不会修改atime write 是 局限支持 是 冷数据返回E_PERM rename 是 局限支持 是 冷数据返回E_PERM flush 是 局限支持 是 冷数据返回E_PERM fsync 是 局限支持 是 冷数据返回E_PERM 锁类 lock(POSIX) 否 局限支持 是 只支持非阻塞型的lock flock(BSD) 否 局限支持 是 只支持非阻塞型的lock 其他 symlink 否 完整支持 是 readlink 否 完整支持 是 mknod 否 完整支持 是 poll 否 局限支持 否 ioctl 否 局限支持 否
