1.8 xfs文件系统的备份和恢复。

XFS文件系统的备份和恢复

XFS提供了 xfsdump 和 xfsrestore 工具协助备份XFS文件系统中的数据。xfsdump 按inode顺序备份一个XFS文件系统。
centos7选择xfs格式作为默认文件系统,而且不再使用以前的ext,仍然支持ext4,xfs专为大数据产生,每个单个文件系统最大可以支持8eb,单个文件可以支持16tb,不仅数据量大,而且扩展性高。还可以通过xfsdump,xfsrestore来备份和恢复。
与传统的UNIX文件系统不同,XFS不需要在备份前被卸载;对使用中的XFS文件系统做备份就可以保证镜像的一致性。XFS的备份和恢复的过程是可以被中断然后继续的,无须冻结文件系统。xfsdump 甚至提供了高性能的多线程备份操作——它把一次dump拆分成多个数据流,每个数据流可以被发往不同的目的地
首先了解一下xfsdump的备份级别有以下两种,默认为0(即完全备份)
0 级别代表: 完全备份
1 到9级别代表: 增量备份
扩展:
完全备份:每次都把指定的备份目录完整的复制一遍,不管目录下的文件有没有变化;
增量备份:每次将之前(第一次、第二次、直到前一次)做过备份之后有变化的文件进行备份;
差异备份:每次都将第一次完整备份以来有变化的文件进行备份。

1.0环境准备

实验环境:
系统Centos添加一块虚拟硬盘(准备一个测试分区),过程如下:
进入虚拟机初始状态,点击编辑虚拟机设置
在这里插入图片描述
点击编辑虚拟机设置后会进入下图界面,将鼠标光标选中硬盘那里,然后点击添加
在这里插入图片描述
点击硬盘在这里插入图片描述
点击下一步
在这里插入图片描述
下一步
在这里插入图片描述
选择大小,此时我选择的是20G,按个人意愿选择。
在这里插入图片描述

可以自己更改目录,此处我选择不变。然后点击完成
在这里插入图片描述
点击确定
在这里插入图片描述
此时可以看到虚拟机已经添加了一块20G的硬盘在这里插入图片描述
对新添加的硬盘进行格式化:(此时要用root用户进行操作)因为前面有博客讲的是新建分区,所以此处就不详细介绍了,大家可以参考代码块来实现。

[root@CHENDAJIE chendajie]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x79bef14c 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):+1G
Last 扇区, +扇区 or +size{K,M,G} (2097152-41943039,默认为 41943039):q
Last 扇区, +扇区 or +size{K,M,G} (2097152-41943039,默认为 41943039):+1G     
分区 1 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):m
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

命令(输入 m 获取帮助):q

[root@CHENDAJIE chendajie]# 
[root@CHENDAJIE chendajie]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x256705f2 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x256705f2

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@CHENDAJIE chendajie]# ls /dev/sdb*
/dev/sdb  /dev/sdb1

使用新的分区,格式化分区,并进行挂载:

[root@CHENDAJIE chendajie]# mkfs.xfs /dev/sdb1	#格式化分区
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@CHENDAJIE chendajie]# mkdir /sdb1		#创建挂载点
[root@CHENDAJIE chendajie]# mount /dev/sdb1 /sdb1	#挂载

准备测试文件:

[root@CHENDAJIE /]# cd /sdb1/
[root@CHENDAJIE sdb1]# ls
[root@CHENDAJIE sdb1]# cp /etc/passwd ./
[root@CHENDAJIE sdb1]# ls
passwd
[root@CHENDAJIE sdb1]# mkdir test
[root@CHENDAJIE sdb1]# touch test/a
[root@CHENDAJIE sdb1]# ls
passwd  test
[root@CHENDAJIE sdb1]# tree /sdb1/
/sdb1/
├── passwd
└── test
    └── a

1 directory, 2 files

此处我把/etc/passwd文件复制过来了,注意,是复制。不是其他的操作,在不熟悉系统的情况下千万不要修改其中内容!
用tree命令可以明显看到/sdb1/下的内容。

备份

1、备份整个分区

注:此功能类似于虚拟机的快照,服务器被黑后,进行快速恢复。我个人觉得还是好好学好网络等相关知识,做到好好排查问题,尽量没事不要使用这个方法。(虽然我还是个菜鸟,但是还是要好好努力啊。)

xfsdump -f 备份存放位置 要备份路径或设备文件
注意:备份的路径这里不能写成/sdb1/。 可以是/dev/sdb1 或/sdb1

[root@CHENDAJIE sdb1]# xfsdump -f /opt/dump_sdb1 /dev/sdb1
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control

 ============================= dump label dialog ==============================

please enter label for this dump session (timeout in 300 sec)
 -> dump_sdb1  #指定备份会话标签
session label entered: "dump_sdb1"

 --------------------------------- end dialog ---------------------------------

xfsdump: level 0 dump of CHENDAJIE.cn:/sdb1
xfsdump: dump date: Sun Sep 29 20:04:33 2019
xfsdump: session id: e0fce977-714c-4d6b-ad69-3ba0cf4aa5c1
xfsdump: session label: "dump_sdb1"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 25856 bytes
xfsdump: /var/lib/xfsdump/inventory created

 ============================= media label dialog =============================

please enter label for media in drive 0 (timeout in 300 sec)
 -> sdb1	#指定设备标签
media label entered: "sdb1"

 --------------------------------- end dialog ---------------------------------

xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 24544 bytes
xfsdump: dump size (non-dir files) : 2592 bytes
xfsdump: dump complete: 33 seconds elapsed
xfsdump: Dump Summary:
xfsdump:   stream 0 /opt/dump_sdb1 OK (success)
xfsdump: Dump Status: SUCCESS

2、 指定备份时免交互操作,方便后期做定时备份

-L :xfsdump 纪录每次备份的 session 标头,这里可以填写针对此文件系统的简易说明
-M :xfsdump 可以纪录储存媒体的标头,这里可以填写此媒体的简易说明

[root@CHENDAJIE sdb1]# xfsdump -f /opt/dump_passwd /sdb1 -L dump passwd -M meda1
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control
xfsdump: level 0 dump of CHENDAJIE.cn:/sdb1
xfsdump: dump date: Sun Sep 29 20:08:21 2019
xfsdump: session id: fb6f5875-d2c0-45bd-b671-4348cc845761
xfsdump: session label: "dump"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 25856 bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 24544 bytes
xfsdump: dump size (non-dir files) : 2592 bytes
xfsdump: dump complete: 0 seconds elapsed
xfsdump: Dump Summary:
xfsdump:   stream 0 /opt/dump_passwd OK (success)
xfsdump: Dump Status: SUCCESS

3、指定只备份分区中某个目录

参数:-s 文件路径 只对指定的文件进行备份,-s指定时,路径写的是相对路径(-s可以是文件或目录)

[root@CHENDAJIE sdb1]# xfsdump -f /opt/dump_grub2 -s grub2/grub.cfg /boot -L dump_grub2 -M boot-sda1
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control
xfsdump: level 0 dump of CHENDAJIE.cn:/boot
xfsdump: dump date: Sun Sep 29 20:11:28 2019
xfsdump: session id: ee20de82-3008-420d-a80f-5fdc438f5e42
xfsdump: session label: "dump_grub2"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 29632 bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 28040 bytes
xfsdump: dump size (non-dir files) : 4640 bytes
xfsdump: dump complete: 5 seconds elapsed
xfsdump: Dump Summary:
xfsdump:   stream 0 /opt/dump_grub2 OK (success)
xfsdump: Dump Status: SUCCESS

4、查看备份信息与内容

备份成功后,我们就可以在/var/lib/xfsdump/inventory目录下看到生成的档案信息.
此处用的是特定的代码,反正现在的我还是看不出来的0.0.

[root@CHENDAJIE sdb1]# ls /var/lib/xfsdump/inventory 
11db7c50-1308-4d69-8dd7-a72a54f2b5bd.InvIndex
5afa13f0-803a-4e70-8934-4d7dde572ac6.StObj
6695baee-5973-4b80-b9e9-b933ddd5994b.StObj
b7bc2979-6d1b-43c4-9ee9-fe5f25b212ac.InvIndex
fstab

xfsdump -I(字母大写i)

[root@CHENDAJIE sdb1]# xfsdump -I
file system 0:
        fs id:          11db7c50-1308-4d69-8dd7-a72a54f2b5bd
        session 0:
                mount point:    CHENDAJIE.cn:/sdb1
                device:         CHENDAJIE.cn:/dev/sdb1
                time:           Sun Sep 29 20:04:33 2019
                session label:  "dump_sdb1"
                session id:     e0fce977-714c-4d6b-ad69-3ba0cf4aa5c1
                level:          0
                resumed:        NO
                subtree:        NO
                streams:        1
                stream 0:
                        pathname:       /opt/dump_sdb1
                        start:          ino 67 offset 0
                        end:            ino 70 offset 0
                        interrupted:    NO
                        media files:    1
                        media file 0:
                                mfile index:    0
                                mfile type:     data
                                mfile size:     24544
                                mfile start:    ino 67 offset 0
                                mfile end:      ino 70 offset 0
                                media label:    "sdb1"
                                media id:       f7f40ea2-2ac0-402a-993d-4f755d0f26b2
        session 1:
                mount point:    CHENDAJIE.cn:/sdb1
                device:         CHENDAJIE.cn:/dev/sdb1
                time:           Sun Sep 29 20:08:21 2019
                session label:  "dump"
                session id:     fb6f5875-d2c0-45bd-b671-4348cc845761
                level:          0
                resumed:        NO
                subtree:        NO
                streams:        1
                stream 0:
                        pathname:       /opt/dump_passwd
                        start:          ino 67 offset 0
                        end:            ino 70 offset 0
                        interrupted:    NO
                        media files:    1
                        media file 0:
                                mfile index:    0
                                mfile type:     data
                                mfile size:     24544
                                mfile start:    ino 67 offset 0
                                mfile end:      ino 70 offset 0
                                media label:    "meda1"
                                media id:       951007d7-f19c-41aa-96cd-22b173f54394
file system 1:
        fs id:          b7bc2979-6d1b-43c4-9ee9-fe5f25b212ac
        session 0:
                mount point:    CHENDAJIE.cn:/boot
                device:         CHENDAJIE.cn:/dev/sda1
                time:           Sun Sep 29 20:11:28 2019
                session label:  "dump_grub2"
                session id:     ee20de82-3008-420d-a80f-5fdc438f5e42
                level:          0
                resumed:        NO
                subtree:        YES
                streams:        1
                stream 0:
                        pathname:       /opt/dump_grub2
                        start:          ino 393335 offset 0
                        end:            ino 393336 offset 0
                        interrupted:    NO
                        media files:    1
                        media file 0:
                                mfile index:    0
                                mfile type:     data
                                mfile size:     28040
                                mfile start:    ino 393335 offset 0
                                mfile end:      ino 393336 offset 0
                                media label:    "boot-sda1"
                                media id:       cce01905-d65d-488a-80e4-88384150ed08
xfsdump: Dump Status: SUCCESS

测试恢复:先删除之前创建的内容

[root@CHENDAJIE sdb1]# ls
passwd  test
[root@CHENDAJIE sdb1]# pwd
/sdb1
[root@CHENDAJIE sdb1]# rm -rf ./*		#删库跑路的就是这个命令了,慎重啊同志们!

5、文件系统恢复

语法:xfsrestore -f 指定恢复文件的位置 指定存放恢复后的文件的路径

[root@CHENDAJIE sdb1]# xfsrestore -f /opt/dump_sdb1 /sdb1
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.4 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description: 
xfsrestore: hostname: CHENDAJIE.cn
xfsrestore: mount point: /sdb1
xfsrestore: volume: /dev/sdb1
xfsrestore: session time: Sun Sep 29 20:04:33 2019
xfsrestore: level: 0
xfsrestore: session label: "dump_sdb1"
xfsrestore: media label: "sdb1"
xfsrestore: file system id: 11db7c50-1308-4d69-8dd7-a72a54f2b5bd
xfsrestore: session id: e0fce977-714c-4d6b-ad69-3ba0cf4aa5c1
xfsrestore: media id: f7f40ea2-2ac0-402a-993d-4f755d0f26b2
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 2 directories and 3 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore:   stream 0 /opt/dump_sdb1 OK (success)
xfsrestore: Restore Status: SUCCESS

查看恢复情况:

[root@CHENDAJIE sdb1]# ls /sdb1/
passwd  test

恢复单个文件如下:

xfsrestore -f /opt/dump_grub2 -s grub2/grub.cfg /var/test/	#恢复单个文件
xfsrestore -f /opt/dump_grub2 -s grub2 /var/test/  #恢复目录
[root@CHENDAJIE sdb1]# xfsrestore -f /opt/dump_grub2 -s grub2/grub.cfg /var/test/
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.4 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description: 
xfsrestore: hostname: CHENDAJIE.cn
xfsrestore: mount point: /boot
xfsrestore: volume: /dev/sda1
xfsrestore: session time: Sun Sep 29 20:11:28 2019
xfsrestore: level: 0
xfsrestore: session label: "dump_grub2"
xfsrestore: media label: "boot-sda1"
xfsrestore: file system id: b7bc2979-6d1b-43c4-9ee9-fe5f25b212ac
xfsrestore: session id: ee20de82-3008-420d-a80f-5fdc438f5e42
xfsrestore: media id: cce01905-d65d-488a-80e4-88384150ed08
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 2 directories and 19 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore:   stream 0 /opt/dump_grub2 OK (success)
xfsrestore: Restore Status: SUCCESS
[root@CHENDAJIE sdb1]# xfsrestore -f /opt/dump_grub2 -s grub2 /var/test/  xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.4 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description: 
xfsrestore: hostname: CHENDAJIE.cn
xfsrestore: mount point: /boot
xfsrestore: volume: /dev/sda1
xfsrestore: session time: Sun Sep 29 20:11:28 2019
xfsrestore: level: 0
xfsrestore: session label: "dump_grub2"
xfsrestore: media label: "boot-sda1"
xfsrestore: file system id: b7bc2979-6d1b-43c4-9ee9-fe5f25b212ac
xfsrestore: session id: ee20de82-3008-420d-a80f-5fdc438f5e42
xfsrestore: media id: cce01905-d65d-488a-80e4-88384150ed08
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 2 directories and 19 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore:   stream 0 /opt/dump_grub2 OK (success)
xfsrestore: Restore Status: SUCCESS

注:
使用 xfsdump 时,请注意下面下面的几个限制:
1、xfsdump 不支持没有挂载的文件系统备份!所以只能备份已挂载的!
2、xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系)
3、xfsdump 只能备份 XFS 文件系统
4、xfsdump 备份下来的数据 (档案或储存媒体) 只能让 xfsrestore 解析
5、xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统

6、增量备份

概念:
增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。这就意味着,第一次增量备份的对象是进行全备后所产生的增加和修改的文件;第二次增量备份的对象是进行第一次增量备份后所产生的增加和修改的文件,以此类推。
优缺点
优点:没有重复的备份数据,因此备份的数据量不大,备份所需的时间很短。
缺点:数据恢复相对比较麻烦,它需要上一次全备份和所有增量备份的内容才能够完全恢复成功,并且它们必须沿着从全备份到依次增量备份的时间顺序逐个反推恢复,因此可能会延长的恢复时间

增量备份文件系统

准备一个备份目录进行备份

[root@CHENDAJIE sdb1]# tree /sdb1/
/sdb1/
├── passwd
└── test
    └── a

1 directory, 2 files
[root@CHENDAJIE sdb1]# touch /sdb1/1.txt /sdb1/2.txt
[root@CHENDAJIE sdb1]# tree /sdb1/                  
/sdb1/
├── 1.txt
├── 2.txt
├── passwd
└── test
    └── a

1 directory, 4 files

做一个等级为1的备份

[root@CHENDAJIE sdb1]#  xfsdump -l 1 -f /opt/test-back1 /sdb1 -L test-bak1 -M media0
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control
xfsdump: level 1 incremental dump of CHENDAJIE.cn:/sdb1 based on level 0 dump begun Sun Sep 29 20:08:21 2019
xfsdump: dump date: Sun Sep 29 20:26:35 2019
xfsdump: session id: 14241c81-7ae6-429f-b467-2bfd11740e19
xfsdump: session label: "test-bak1"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 26496 bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 25168 bytes
xfsdump: dump size (non-dir files) : 2592 bytes
xfsdump: dump complete: 0 seconds elapsed
xfsdump: Dump Summary:
xfsdump:   stream 0 /opt/test-back1 OK (success)
xfsdump: Dump Status: SUCCESS

再次增加内容,然后做一个等级2的增量备份

[root@CHENDAJIE sdb1]# touch /sdb1/test/a.txt /sdb1/test/b.txt
[root@CHENDAJIE sdb1]# tree /sdb1/
/sdb1/
├── 1.txt
├── 2.txt
├── passwd
└── test
    ├── a
    ├── a.txt
    └── b.txt

1 directory, 6 files
[root@CHENDAJIE sdb1]# xfsdump -l 2 -f /opt/test-back2 /sdb1 -L test-bak2 -M media0
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control
xfsdump: level 2 incremental dump of CHENDAJIE.cn:/sdb1 based on level 1 dump begun Sun Sep 29 20:26:35 2019
xfsdump: dump date: Sun Sep 29 20:29:10 2019
xfsdump: session id: 50961c8f-2e28-48c9-9df1-59ae2fbaed85
xfsdump: session label: "test-bak2"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: pruning unneeded subtrees
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 21760 bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 22048 bytes
xfsdump: dump size (non-dir files) : 0 bytes
xfsdump: dump complete: 0 seconds elapsed
xfsdump: Dump Summary:
xfsdump:   stream 0 /opt/test-back2 OK (success)
xfsdump: Dump Status: SUCCESS

将数据全部删除:

[root@CHENDAJIE sdb1]# rm -rf /sdb1/*
[root@CHENDAJIE sdb1]# ls
[root@CHENDAJIE sdb1]# 

现在进行恢复,要想恢复全部全部数据,包括新添加的文件,如何恢复?
步骤:
1、先恢复完全备份
2、情况1: 恢复最后一次增量备份(如果两次增量备份都是1级的,所以只需要恢复最后一个增量就可以了。
3、情况2:如果你做的是第一次是1级备,第二次是2级备,那么你在恢复的时候就需要先恢复完全备份,然后是1级备,最后是2级备)

[root@CHENDAJIE sdb1]# xfsrestore -f /opt/test-back2 /sdb1/  #故意先恢复back2,查看
[root@CHENDAJIE sdb1]# tree /sdb1/  #查看,发现没有1.txt ,2.txt 
/sdb1/
├── passwd
└── test
    ├── a
    ├── a.txt
└── b.txt 
[root@CHENDAJIE sdb1]# xfsrestore -f /opt/test-back1 /sdb1/   
[root@CHENDAJIE sdb1]# tree /sdb1/  
[root@CHENDAJIE sdb1]# tree /sdb1/
/sdb1/
├── 1.txt
├── 2.txt
├── passwd
└── test
    └── a

1 directory, 4 files

到此,数据恢复成功了。

写这篇博客的时候,状态并不如前几天状态好,所以,后期可能会有改动,但是一般来说,这样说的结果就是没有改动。0.0,还是希望自己改掉一些坏毛病!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当Linux系统中的XFS文件系统误删除文件并且没有备份时,有几种方法可以尝试恢复丢失的文件。 首先,使用一些文件恢复工具可以尝试从未使用的磁盘空间中恢复被删除的文件。有一些工具如TestDisk、PhotoRec等,它们可以扫描磁盘,并通过识别文件的签名来恢复被删除的文件。它们可以在终端中运行,并且通常可以免费获取。 其次,可以尝试使用XFS文件系统自带的一些工具来恢复误删除的文件。XFS文件系统提供了一些工具如xfs_restore、xfs_ls、xfs_quota等,它们可以帮助用户查找和恢复被删除的文件。通过这些工具,用户可以在文件系统中搜索并找回之前删除的文件。 另外,还可以考虑使用数据恢复服务来找回被误删除的文件。这些服务通常需要费用,并且可能需要将受损的磁盘发送给专业的数据恢复公司。这些专业的公司有着更高级的设备和技术,可以尝试从磁盘中恢复丢失的数据。 最后,鉴于误删除文件可能会导致数据的永久丢失,因此在使用Linux系统时,定期进行数据备份非常重要。通过定期备份,即使误删除了文件,也可以从备份恢复数据,减少数据损失风险。 总之,虽然在Linux系统中误删除文件且没有备份恢复是一项具有挑战性的任务,但仍然有一些方法可以尝试恢复丢失的文件。无论采取哪种方法,都应该牢记数据备份的重要性,以避免类似情况的再次发生。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值