内容预知
实验一EXT 类型文件恢复
extundelete 是一个开源的 Linux 数据恢复工具,支持 ext3、ext4文件系统。(ext4只能在centos6版本恢复),本实验模拟ext3文件系统损坏,借助extundelete,修复文件数据
该工具下载网站:
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
所需依赖包: yum -y install e2fsprogs-devel e2fsprogs-libs
该软件涉及到c++,所以安装一个c++编译工具: yum install -y gcc gcc-c++ make
准备一台centos 的虚拟机,新添加一块硬盘,开辟出一块主分区,建立ext3文件系统。(本次实验是要centos7运行)
- fdisk /dev/sdb
- mkfs.ext3 /dev/sdb1
- mkdir /test
- mount /dev/sdb1 /test
- lsblk
3.1 安装extundelete 以及涉及到的工具
- yum -y install e2fsprogs-devel e2fsprogs-libs
-
- cd /test
- wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
- tar xf extundelete-0.2.4.tar.bz2
- cd extundelete-0.2.4/
- yum install -y gcc gcc-c++ make
- ./configure --prefix=/usr/local/extundelete && make && make install
- ln -s /usr/local/extundelete/bin/* /usr/bin/
- echo 123>a.txt
- echo 123>b.txt //创建两个文件 ab ,写入数据
- extundelete /dev/sdb1 --inode 2
- //查看文件系统/dev/sdc1下存在哪些文件,i 节点是从 2 开始的,2 代表该文件系统最开始的目录。
- rm -rf a.txt
- rm -rf b.txt //将两个ext3文件删除
- umount /test
- extundelete /dev/sdb1 --restore-all
-
结果验证:
- ls
- ls RECOVERED_FILES/
实验结论: 以上实验来看,文件最后并没有恢复成功,这个工具也连续用了几次,都是概率性的恢复文件,无法确保文件的百分百恢复。所以对文件做备份,一定是最优的选择
实验二xfs 类型文件备份和恢复
CentOS 7 系统默认采用 xfs类型的文件,xfs 类型的文件可使用 xfsdump 与 xfsrestore 工具进行备份恢复,目前市面上并没有开源的xfs文件恢复工具,但是利用备份恢复依旧是最优的选择方案。本次实验就是模拟对重要的xfs文件进行备份,在误删后,进行恢复
xfsdump的使用限制:
xfsdump 的命令格式为: xfsdump -f 备份存放位置 要备份的路径或设备文件
常用选项:
-f:指定备份文件目录
-L:指定标签 session label
-M:指定设备标签 media label
-s:备份单个文件,-s 后面不能直接跟路径
- #使用fdisk创建分区/dev/sdb1,格式化xfs文件系统
- fdisk /dev/sdb
- partprobe /dev/sdb
- mkfs.xfs [-f] /dev/sdb1
- mkdir /date
- mount /dev/sdb1 /date/
- cd /data
- cp /etc/passwd ./
- mkdir test
- touch test/a
- #使用 xfsdump 命令备份整个分区
-
- xfsdump -f /opt/dump_sdb1 /dev/sdb1 [-L dump_sdb1 -M sdb1]
-
- #如果没有xfsdump
- rpm -qa | grep xfsdump
- yum install -y xfsdump
- #模拟数据丢失并使用 xfsrestore 命令恢复文件
- cd /data/
- rm -rf ./*
- ls
-
xfsrestore -f /opt/dump_sdb1 /date/
实验总结:
对创建好的文件系统进行一整个分区的备份,存放在足够的空间中。当该分区中的重要文件被误删后,可以利用备份分区,进行数据还原。
总结
两个实验都展示了重要数据丢失后的恢复手段,但是第二个实验比第一个完成的更加顺利,数据保存的更加完整。在运维环境中,一定要本着数据无价的态度来进行工作,对重要的数据文件进行好备份处理