最近更新时间:2025-09-19 16:57:09
为避免由于误删除KFS文件系统中的文件/目录导致业务受阻或数据丢失,强烈建议您使用文件系统时开启回收站功能。开启回收站后,被删除的文件或目录将暂存在回收站目录中,并在规定的保留时间之后彻底删除。您可以在保留时间期间恢复这些文件及其UID、GID和ACL等元数据信息。
KFS文件系统开启回收站功能后,被删除的文件或目录将暂存在回收站目录中,包括但不限于以下几种场景:
手动误删除NAS文件的找回
恶意删除文件的找回
应用程序使用NAS文件系统产生的临时文件找回
使用应用程序在计算节点上自动删除的NAS中的文件或目录找回
应用程序自动轮转的日志文件找回
名词 | 解释 |
|---|---|
回收站目录是否可见 | 设置为“可见”时,系统会显示回收站目录.recyclebininternal。 只要启用过回收站功能且在启用期间有文件被删除过,就会有回收站目录(若仅启用了回收站功能,但无文件删除,也不会有回收站目录)。 |
回收站内文件的用户权限管理 | 系统根据用户名和用户ID为每个用户创建自己的目录,只有“root用户”具有操作所有用户目录的权限,“普通用户”有操作个人目录下文件的权限。 |
回收站功能的IAM权限管理 | 回收站的功能使用权限(如开启、关闭、配置保留时长),功能合并在“创建文件系统”、“回收站配置管理”的IAM权限内。 |
回收站功能默认关闭,您可在创建文件系统时根据业务需要开启或关闭,也可以在使用过程中修改该开关。
系统根据以下情况判断删除的文件是否可进入回收站,需满足下列5个条件:
条件 | 描述 |
|---|---|
1 | 文件系统实例的回收站开关为开启状态。 |
2 | 回收站内被删除的文件不在回收站内,回收站内文件删除时会彻底删除。 |
3 | 空目录删除不会进入回收站(非空目录删除会包含所有文件全部进入回收站)。 |
4 | 进入回收站的文件路径长度需小于4000字节,超出此限制的文件不能进入回收站。 |
5 | 硬链接不进入回收站。当删除文件的最后一个链接时,文件才会进入回收站。 |
回收站功能本身不收取任何费用,文件从原来的位置移入回收站并不会真正删除,也不会释放存储空间或释放配额,仍然按照删除前的容量来收取存储费用。为节省不必要的存储费用,请您合理配置文件保留时间。
标准协议(NFS/CIFS)不支持界面/API恢复操作。若想恢复回收站内的数据,需手动拷贝或者移动该数据到预期的目录下。
开启:该开关只对回收站功能开启后删除的文件生效。
关闭:回收站功能关闭后删除的文件不进入回收站(关闭回收站不影响回收站内现存数据的保留)。
用户可访问回收站内的目录与文件由回收站操作权限控制,有权限的用户可以“读取”、“修改”、“删除”该目录以及目录下的文件:
普通用户权限:用户可访问归属于自己的目录与文件
root用户权限:可以添加权限以便其他用户能访问
不建议用户向回收站目录中直接写入文件,避免与回收站内的文件产生冲突。
同一个目录下反复创建删除同名文件的场景下,文件移入回收站时可能已经存在同名文件。系统检测到存在同名文件时,会在文件名前加上copy#SN #+文件名,其中SN为系统加上的一个序列号,在同一个dtree内是唯一的,不会存在相同的情况。
快照功能与回收站功能不互斥,可共同使用。
开启回收站后文件系统仍可删除。
文件系统欠费/到期后会禁止读写,但不影响回收站内数据继续保留。
回收站根目录不允许rename。
回收站中的文件被删除时不会再次进入回收站。
仅创建时间在2025-08-31以后文件系统支持回收站能力。
文件源路径获取
在用户删除文件时,检测对应“文件系统实例”的“回收站开关”是否开启,如果“开启”系统进行“路径回溯”,在删除文件时会进行目录回溯,获取到“文件的全路径”。如果文件可以进入回收站,在删除时只“召回待删除文件对应的锁”,并在“隐藏该文件”。同时“记录后台操作日志”,日志中记录了该文件在回收站中的相对路径和文件名,数据存放的对象等信息。
系统在后台回放后台操作日志,读取每一条日志,根据相对路径在对应文件系统下创建在回收站中的目录,再把存放数据的对象和文件名绑定在一起,这样就可以在回收站中访问该文件。
回收站目录创建
在开启回收站后,文件系统首次删除文件时,会为文件系统的根目录下创建回收站目录.recyclebininternal。
删除文件入回收站
每个文件系统的回收站目录是独立的,文件在回收站中保持删除前的相对路径。文件进入回收站时会首先放入“/.recyclebininternal/用户目录/current”目录下。
如归属于root用户的文件在Dtree中的相对路径为/a/b/c.txt,在回收站中的路径为/.recyclebininternal/root/current/a/b/c.txt。
在同一个目录下反复创建删除同名文件的场景下,文件移入回收站时可能已经存在同名文件。系统检测到存在同名文件时,会在文件名前加上copy#SN #+文件名,其中SN为系统加上的一个序列号,在同一个dtree内是唯一的,不会存在相同的情况。
为了不占用多余空间,客户可以配置文件在回收站内的保留时长,系统会定期检查回收站内的目录以及数据。系统会自动删除回收站内超过保留时长的文件。
设定文件系统数据保留时长
保留时长可以设置为长期保留,此时回收站内的文件不能被自动删除,必须由管理员或其他具有权限的用户手动删除。
系统定期扫描保留时长为“固定定期”的文件系统
系统会按照设置好的扫描周期定时扫描该“current”目录。在执行扫描时,如果“current”目录下存在文件,则系统会新建一个以扫描当前时间戳(时间戳格式:年月日时分秒)为名称的目录,并将“current”目录下的所有文件移动到该新建目录。
在之后执行扫描时,系统会检测该新建目录的时间戳与当前时间的时间差,并判断是否超过保留时长。如果超过保留时长,系统会在后台递归删除该目录,从而释放空间。
所有回收站内的文件管理均需“客户端挂载”后才可操作,且需用于相应的操作权限。
执行以下命令,删除文件到回收站。
[root@localhost current]# rm -rf n3
执行以下命令,进入回收站目录。
[root@localhost current]# cd .recyclebininternal/root/current/
执行以下命令,拷贝出来删除到回收站的文件(自定义路径)。
[root@localhost current]# cp n3 /mnt/spe/
执行以下命令,彻底删除回收站的文件。
[root@localhost current]# rm -rf n3
纯净模式
