• Linux中“EXT 类型文件恢复与xfs 类型文件备份和恢复”


    内容预知

     实验一EXT 类型文件恢复

     1. 实验目的

    2.实验前的准备 

     3. 实验操作

     3.2 删除ext3文件系统中的文件

      3.3   恢复删除ext3文件系统中的文件

     实验二xfs 类型文件备份和恢复

    1. 实验目的

     2. 实验前了解xfsdump的用法

    3. 实验过程 

     3.1创建xfs系统文件环境

     3.2备份整个分区

    3.3 模拟数据丢失 

    3.4 恢复操作 

     总结


     实验一EXT 类型文件恢复

     1. 实验目的

    extundelete 是一个开源的 Linux 数据恢复工具,支持 ext3、ext4文件系统。(ext4只能在centos6版本恢复),本实验模拟ext3文件系统损坏,借助extundelete,修复文件数据

     

     

    2.实验前的准备 

    该工具下载网站:

    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运行)

    1. fdisk /dev/sdb
    2. mkfs.ext3 /dev/sdb1
    3. mkdir /test
    4. mount /dev/sdb1 /test
    5. lsblk

     

     

     

     3. 实验操作

     3.1 安装extundelete 以及涉及到的工具

    1. yum -y install e2fsprogs-devel e2fsprogs-libs

     

    1. cd /test
    2. wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2

     

    1. tar xf extundelete-0.2.4.tar.bz2
    2. cd extundelete-0.2.4/
    3. yum install -y gcc gcc-c++ make

     

    1. ./configure --prefix=/usr/local/extundelete && make && make install
    2. ln -s /usr/local/extundelete/bin/* /usr/bin/

     

     3.2 删除ext3文件系统中的文件

    1. echo 123>a.txt
    2. echo 123>b.txt //创建两个文件 ab ,写入数据

     

     

    1. extundelete /dev/sdb1 --inode 2
    2. //查看文件系统/dev/sdc1下存在哪些文件,i 节点是从 2 开始的,2 代表该文件系统最开始的目录。

     

    1. rm -rf a.txt
    2. rm -rf b.txt //将两个ext3文件删除

      3.3   恢复删除ext3文件系统中的文件

    1. umount /test
    2. extundelete /dev/sdb1 --restore-all

     

     结果验证:

    1. ls
    2. ls RECOVERED_FILES/

     实验结论: 以上实验来看,文件最后并没有恢复成功,这个工具也连续用了几次,都是概率性的恢复文件,无法确保文件的百分百恢复。所以对文件做备份,一定是最优的选择

     

     实验二xfs 类型文件备份和恢复

    1. 实验目的

     CentOS 7 系统默认采用 xfs类型的文件,xfs 类型的文件可使用 xfsdump 与 xfsrestore 工具进行备份恢复,目前市面上并没有开源的xfs文件恢复工具,但是利用备份恢复依旧是最优的选择方案。本次实验就是模拟对重要的xfs文件进行备份,在误删后,进行恢复

     

     2. 实验前了解xfsdump的用法

     

     xfsdump的使用限制:

    • 只能备份已挂载的文件系统
    • 必须使用root的权限才能操作
    • 只能备份XFS文件系统
    • 备份后的数据只能让xfsrestore解析
    • 不能备份两个具有相同UUID的文件系统(可用 blkid命令查看)

     

    xfsdump 的命令格式为 xfsdump -f  备份存放位置   要备份的路径或设备文件

    常用选项:
     -f:指定备份文件目录

    -L:指定标签 session label

    -M:指定设备标签 media label

    -s:备份单个文件,-s 后面不能直接跟路径

    3. 实验过程 

     3.1创建xfs系统文件环境

    1. #使用fdisk创建分区/dev/sdb1,格式化xfs文件系统
    2. fdisk /dev/sdb
    3. partprobe /dev/sdb
    4. mkfs.xfs [-f] /dev/sdb1
    5. mkdir /date
    6. mount /dev/sdb1 /date/
    7. cd /data
    8. cp /etc/passwd ./
    9. mkdir test
    10. touch test/a

     3.2备份整个分区

    1. #使用 xfsdump 命令备份整个分区
    2. xfsdump -f /opt/dump_sdb1 /dev/sdb1 [-L dump_sdb1 -M sdb1]
    3. #如果没有xfsdump
    4. rpm -qa | grep xfsdump
    5. yum install -y xfsdump

    3.3 模拟数据丢失 

    1. #模拟数据丢失并使用 xfsrestore 命令恢复文件
    2. cd /data/
    3. rm -rf ./*
    4. ls

     

     

    3.4 恢复操作 

    xfsrestore -f /opt/dump_sdb1 /date/

     实验总结:

    对创建好的文件系统进行一整个分区的备份,存放在足够的空间中。当该分区中的重要文件被误删后,可以利用备份分区,进行数据还原。

     

     总结

    两个实验都展示了重要数据丢失后的恢复手段,但是第二个实验比第一个完成的更加顺利,数据保存的更加完整。在运维环境中,一定要本着数据无价的态度来进行工作,对重要的数据文件进行好备份处理 

  • 相关阅读:
    Elasticsearch:Dynamic templates
    Elasticsearch压测工具esrally详解
    【python初级】No module named ‘fcntl‘
    odoo javascript参考(六)
    【36C++STL-常用容器----3、stack容器详解】
    PHP毕业设计项目作品源码选题(7)旅游景区景点售票系统毕业设计毕设作品开题报告
    CMU 15-213 CSAPP. Ch11. Dynamic Memory Allocation
    项目质量管理
    Java整合Kafka实现生产及消费
    【全志T113-S3_100ask】16-1 linux系统驱动四线电阻屏(tpadc、tslib)
  • 原文地址:https://blog.csdn.net/qq_62462797/article/details/126285886