概述
云 HDFS(CHDFS)回收站功能为文件系统中的数据提供了一层重要的误删除保护机制。开启该功能后,通过
hdfs fs -rm 命令删除的文件不会被永久删除,而是被移动至回收站目录进行保留。用户可以在保留期内对文件进行恢复和管理,有效降低了数据丢失的风险,并提升了数据管理的效率。为满足不同用户的使用习惯,CHDFS 的回收站功能提供了两种工作模式:HDFS 回收站模式与原生回收站模式,以满足大数据、AI 训练等不同业务架构下的数据安全管理需求。
注意:
两种回收站模式不可共存,同一个文件系统只允许选择其中一种回收站模式。
功能优势
防止误删除:为数据删除操作提供缓冲期,拦截误删操作,是构建数据安全防线的重要一环。
灵活恢复:用户可以在保留期内,轻松找到并恢复被删除的文件或目录。
兼容多生态:提供 HDFS 标准兼容模式和原生优化模式,适应不同的技术栈和用户习惯。
自动清理:系统会根据用户配置的保留时间自动清理过期数据,无需手动干预,简化运维管理。
工作原理
回收站功能开启后,系统会在后台自动处理被删除的数据。根据您选择的模式,其内部工作原理如下:
HDFS 回收站模式
此模式旨在完全兼容 Apache Hadoop 分布式文件系统(HDFS)的回收站行为,便于使用 HDFS 生态工具的用户无缝过渡。
回收站目录:系统会自动在文件系统内维护
/user/<username>/.Trash/ 目录结构作为回收站路径。每日轮转:每天,回收站
.Trash 目录下的 Current 目录会被自动重命名(Rename)为以当前日期(例如 20260101)命名的目录,并创建一个新的 Current 目录以接收当天的删除文件。自动清理:后台进程会定期扫描这些以日期命名的目录,根据目录名中的日期和您在控制台配置的保留时间,自动删除超过保留期限的目录及其内容。
注意:
HDFS 回收站模式的相关功能需要客户端(即 Hadoop FileSystem Shell 或其他大数据组件)与服务端(即 CHDFS)配合完成。客户端侧需要确保:
开启回收站功能,即将
core-site.xml 中的 fs.trash.interval 配置为大于 0 的值。删除行为不会实际删除文件,而是重命名到
/user/<username>/.Trash/Current 目录下。原生回收站模式
此模式是腾讯云为 CHDFS 设计的原生回收站方案,更贴合文件系统的使用逻辑。
回收站目录:开启后,系统会在您的文件系统的根目录下自动创建一个专用的回收站目录。该目录名称通常由请求 ID 的前 8 位与
_trash 后缀组成,如 /a1b2c3d4_trash。删除操作:当发生删除操作时,文件或目录并不会被立即移除,而是被重命名(Rename)到上述回收站目录下的一个以当前日期命名的子目录中,并添加一个毫秒级的时间戳后缀,如
/a1b2c3d4_trash/20260101/data/file1.log_1698765432000。自动清理:与 HDFS 模式类似,后台服务会定期根据日期子目录的名称和您配置的保留时间,自动清理过期的数据。
注意:
无论是来自用户的删除操作,还是内部发起的删除操作(如生命周期规则触发的删除),都会把文件移入回收站目录。
注意事项与限制
模式不可变更:回收站模式一旦选定后不可修改,仅支持开启/关闭操作,请谨慎选择。
存储费用:开启回收站后,被删除的数据会临时保留在回收站中。在数据保留期间,会正常产生存储费用。
生命周期规则:回收站目录下的文件同样受生命周期规则管理。若配置了生命周期规则,回收站中的文件可能被自动沉降至低频或归档存储层。
客户端配置(HDFS 模式):使用 HDFS 回收站模式时,需确保客户端
core-site.xml 中 fs.trash.interval 配置大于 0,否则删除操作将绕过回收站直接永久删除。保留时间到期:两种回收站模式均支持最长3天的文件保留时间。超过保留时间后,回收站中的文件将被系统自动永久删除,无法恢复。请务必在保留时间内完成文件恢复操作。
前提条件
使用回收站功能前,请确保已完成以下准备工作:
已创建 CHDFS 文件系统和 CHDFS 挂载点,并配置好权限信息。详情请参见 快速入门。
已完成 CHDFS 挂载操作。详情请参见 挂载 CHDFS。
操作步骤
开启回收站功能
您可以通过 CHDFS 控制台为文件系统开启回收站功能。操作步骤如下:
1. 登录 CHDFS 控制台。
2. 在左侧导航栏中,单击文件系统,进入文件系统列表页面。
3. 单击需要开启回收站的文件系统,进入文件系统详情页面。
4. 选择回收站选项卡,当前状态显示为未开启。


5. 单击编辑,进入回收站配置编辑页面。
6. 开启回收站开关,选择您需要的模式(HDFS 回收站或原生回收站),并设置文件保留时间。
选择 HDFS 回收站模式

选择原生回收站模式


7. 确认信息后,单击保存,即可开启文件系统的回收站功能。
配置完成后,回收站状态将显示为已开启,并展示所选模式和保留时间等配置信息:


注意:
回收站模式仅在首次开启回收站功能时可以选择。一旦开启回收站功能,后续只支持关闭或再次开启,不支持修改为其他回收站模式。请根据业务需要,谨慎选择需要的回收站模式。
管理与恢复文件
开启回收站后,您可以在回收站路径下查看被删除的文件,并根据需要恢复误删除的文件。
1. 在回收站路径下找到需要还原的文件或目录。
2. 将该文件或目录通过
hdfs fs -mv 命令移动回原目录下,即可将数据恢复至原始路径。示例:
HDFS 回收站模式下恢复文件
hadoop fs -mv ofs://mountpoint/user/hadoop/.Trash/Current/data/file.txt ofs://mountpoint/data/file.txt
命令说明:
路径部分 | 说明 | 是否需要替换 |
ofs://mountpoint | 您的 CHDFS 挂载点地址,格式为 ofs://<挂载点名称> | 需替换为您的实际挂载点名称 |
/user/hadoop | 提交删除操作的用户名对应的目录 | 需替换为实际用户名(如 /user/root) |
/.Trash/Current | 回收站固定目录路径 | 固定值,无需修改 |
/data/file.txt | 被删除文件相对于文件系统根目录的原始路径 | 需替换为实际文件路径 |
原生回收站模式下恢复文件
hadoop fs -mv ofs://mountpoint/a1b2c3d4_trash/20260101/data/file.txt_1698765432000 ofs://mountpoint/data/file.txt
命令说明:
路径部分 | 说明 | 是否需要替换 |
ofs://mountpoint | 您的 CHDFS 挂载点地址 | 需替换为您的实际挂载点名称 |
/a1b2c3d4_trash | 系统自动生成的回收站目录名称(由请求 ID 前 8 位 + _trash 组成) | 需替换为您文件系统中实际的回收站目录名 |
/20260101 | 文件被删除时的日期(格式:YYYYMMDD) | 需替换为文件实际删除日期 |
/data/file.txt_1698765432000 | 原始文件路径 + 毫秒级时间戳后缀 | 需替换为回收站中的实际文件路径 |
/data/file.txt(目标路径) | 要恢复到的目标路径 | 需替换为您希望恢复到的实际路径 |