👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
本文以恢复数据盘文件为例,介绍如何使用开源工具Extundelete快速恢复Linux实例中的误删除文件并进行校验。
操作场景
使用云服务器时,如果因为误操作导致数据丢失,且数据丢失后未对磁盘进行写入操作,您可以参考本文使用Extundelete快速恢复被误删除的数据。Extundelete可以恢复主流文件系统ext3及ext4下被误删除的文件,但具体恢复程度与删除后是否被写覆盖等多种因素有关。
说明
修复数据前,请先对分区丢失的数据盘进行备份。建议您定期备份数据,以提高数据安全性。
前提条件
已购买云服务器并绑定公网IP。
云服务器状态为 运行中 。
云服务器开启22端口。
软件版本
云服务器操作系统: CentOS 7.9
Extundelete:Extundelete 0.2.4
操作步骤
步骤一:安装Extundelete
执行以下命令,安装Extundelete所需依赖。
yum -y install e2fsprogs e2fsprogs-libs e2fsprogs-devel bzip2 gcc-c++下载Extundelete安装包。
将下载好的安装包上传至云服务器,本文以上传至/home下为例。详细操作请参考本地数据上传。
执行以下命令,解压Extundelete安装包。
tar -xvif /home/extundelete-0.2.4.tar.bz2执行以下命令,编译安装Extundelete。
cd extundelete-0.2.4 ./configure make && make install
执行/usr/local/bin/extundelete -v查看安装情况,返回如下回显即为安装成功。
步骤二:数据恢复测试
模拟数据误删环境。
对数据盘进行分区格式化,本文设置文件系统为ext3。
依次执行以下命令,新建挂载点并挂载分区。本文以将分区 /dev/vdb1 挂载至 /test 为例。
mkdir /test mount /dev/vdb1 /test df -TH
返回如下回显信息即为挂载成功。
执行以下命令,在挂载点创建测试文件 test.txt。
cd /test vim test.txt
执行以下命令,记录 test.txt 文件md5值。md5值可用于校验删除前和恢复后的两个文件。
md5sum test.txt
返回回显信息如下所示:执行ls -i test.txt,查看文件所在inode,用于后续恢复文件使用。
本文中 test.txt 文件inode为25。执行以下命令,删除 test.txt 文件。
rm -rf test.txt恢复被删除的 test.txt 文件。
cd ~ umount /test
执行extundelete /dev/vdb1 --restore-inode <删除文件所在的inode号码>命令,恢复被删除文件。
执行以下命令,umount 数据盘。
验证被删除文件是否成功恢复。
恢复被删除文件后,文件存储在RECOVERED_FILES目录下。执行ls RECOVERED_FILES/查看目录中存在的文件。
检验被恢复文件。执行md5sum RECOVERED_FILES/<已恢复文件名>查看文件md5值,与删除前文件 md5值保持一致即为恢复成功。