温馨提示×

如何从CentOS镜像中恢复误删除的数据

小樊
43
2025-10-30 12:27:03
栏目: 智能运维

从CentOS镜像恢复误删除数据的步骤(以ext4/ext3分区为例)

一、准备工作:停止写入并卸载分区

误删除数据后,立即停止对目标分区的任何写入操作(如复制、修改文件),避免新数据覆盖已删除文件的inode信息。若目标分区是系统盘(如/),需重启至单用户模式或救援模式;若为数据盘(如/dev/vdb1),可通过以下命令卸载:

umount /dev/vdb1  # 替换为目标分区设备名

若卸载失败(提示“target is busy”),可使用fuser命令查找并终止占用进程:

fuser -v -m /dev/vdb1  # 查看占用进程
fuser -k /dev/vdb1     # 终止占用进程
umount /dev/vdb1       # 再次尝试卸载

二、安装extundelete工具(支持ext3/ext4恢复)

extundelete是CentOS下常用的开源数据恢复工具,可通过YUM仓库直接安装(需EPEL仓库):

yum install epel-release -y  # 安装EPEL仓库(若未安装)
yum install extundelete -y   # 安装extundelete

三、使用extundelete恢复数据

extundelete的恢复效果与删除后是否写入新数据密切相关,建议尽快执行以下步骤:

1. 查看磁盘分区信息

使用fdisk命令确认目标分区设备名(如/dev/vdb1):

fdisk -l
2. 恢复单个文件

若需恢复特定文件,需指定文件的完整路径(如/data/test.txt):

extundelete /dev/vdb1 --restore-file /data/test.txt

恢复的文件会保存在当前目录下的RECOVERED_FILES文件夹中。

3. 恢复整个目录

若需恢复整个目录(如/data/documents),使用--restore-directory参数:

extundelete /dev/vdb1 --restore-directory /data/documents
4. 恢复分区所有文件

若不确定文件路径,可使用--restore-all参数恢复分区内的所有已删除文件:

extundelete /dev/vdb1 --restore-all

四、验证恢复结果

恢复完成后,检查RECOVERED_FILES目录中的文件:

ls -l RECOVERED_FILES/  # 查看恢复的文件列表
md5sum RECOVERED_FILES/test.txt  # 校验文件完整性(需提前记录原文件的MD5)

五、注意事项

  • 恢复成功率:取决于文件被删除后是否被新数据覆盖,越早恢复成功率越高
  • 备份优先:定期使用xfsdump(XFS分区)或tar(普通分区)备份重要数据,避免依赖恢复工具。
  • 系统盘恢复:若目标分区是系统盘,建议使用Live CD/USB启动,避免挂载为读写模式。
  • XFS分区恢复:若数据位于XFS分区,需使用xfsdumpxfsrestore工具(安装:yum install xfsdump),步骤类似但命令不同。

通过以上步骤,可从CentOS镜像或系统中恢复大部分误删除的数据。若恢复失败,建议联系专业数据恢复服务。

0