本文档主要以CentOS7操作系统为例,介绍如何使用开源工具Extundelete快速恢复被误删除掉的数据。
Extundelete能够利用inode信息结合日志去查询该inode所在的block位置,以次来查找和恢复所需的数据,该工具最给力的一点就是支持ext3/ext4双格式分区恢复,基于整个磁盘的恢复功能较为强大。
部署extundelete工具
wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2
yum -y install bzip2 e2fsprogs-devel e2fsprogs gcc-c++ make #安装相关依赖和库
tar -xvjf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4 #进入程序目录
./configure #如下图表示安装成功
make && make install
这个时候会出现src目录,下面有个extundelete可执行文件以及相应路径,如下图,其实默认文件安装在usr/local/bin下面,下面演示就在usr/local/bin目录下。
使用extundelete,模拟数据误删除然后恢复的过程
fdisk -l
mkdir /zhuyun #新建zhuyun目录
mount /dev/vdb1 /zhuyun #将磁盘挂载到zhuyun目录下
echo test > hello #写入测试文件
md5sum hello
rm -rf hello
cd ~
fuser -k /zhuyun #结束使用某分区的进程树(确认没有资源占用的话,可以跳过此步)
umount /dev/vdb1 #任何的文件恢复工具,在使用前,均要将要恢复的分区卸载或挂载为只读,防止数据被覆盖使用
extundelete --inode 2 /dev/vdb1 #为查找某i节点中的内容,使用2则说明为整个分区搜索,如果需要进入目录搜索,只须要指定目录I节点即可。这是可以看到删除的文件名和inode
/usr/local/bin/extundelete --restore-inode 12 /dev/vdb1 #恢复删除的文件
这个时候会在执行命令的同级目录下出现RECOVERED_FILES目录,查看是否恢复。
通过md5值查看,前后俩个文件,一样说明恢复成功。
--restore-inode 12 # --restore-inode 按指定的I节点恢复
--extundelete --restore-all # --restore-all 全部恢复
联系客服