XFS 备份 及恢复 

  安装 xfs 工具

yum -y install xfsprogs xfsdump

 XFS 文件系统格式化磁盘  

⑴强制分区信息读入内存: 
[root@super ~]# partprobe 
⑵查看分区信息: 
[root@super ~]# cat /proc/partitions

Ⅱ、xfs文件系统的完全备份

xfs文件系统备份使用的命令是xfsdump,用法如下:
xfsdump [ options ] -f dest [ -f dest2 … ] filesystem

该命令的选项说明:
-f:其后指定备份文件的存放位置
-L:指定备份会话标签(免交互,不指定时需要在命令执行过程中指定)
-M:指定设备标签(免交互,不指定时需要在命令执行过程中指定)
-s:指定需要备份的文件(见Ⅳ)
-I:查看文件系统所有备份的详细信息

举个例子呗:
完全备份例子

xfsdump -f /opt/xfsdump_sdb1 /media –L xfsdump_sdb1 -M media0

-I选项来一发,查看备份的详细信息: 

[root@super ~]# xfsdump –I 
file system 0: 
fs id: c2f86da4-ad4b-451c-97cd-467836b3a82c 
session 0: 
mount point: super.feng:/media 
device: super.feng:/dev/sdb1 
time: Sun Dec 4 00:34:13 2016 
session label: "xfsdump_sdb1" 
session id: 7531c8ac-71d9-4619-ad59-0e7bc804bbcc 
level: 0 
resumed: NO 
subtree: NO 
streams: 1 
stream 0: 
pathname: /opt/xfsdump_sdb1 
start: ino 131 offset 0 
end: ino 3145859 offset 0 
interrupted: NO 
media files: 1 
media file 0: 
mfile index: 0 
mfile type: data 
mfile size: 121197672 
mfile start: ino 131 offset 0 
mfile end: ino 3145859 offset 0 
media label: "media0" 
media id: 65efe44b-dbb6-4c13-a6fd-0c9c6003b6ee 
xfsdump: Dump Status: SUCCESS

 看最后一句:备份状态:成功 

Ⅲ、xfs文件系统的完全恢复

xfs文件系统的恢复用到的命令是xfsrestore,用法与xfsdump类似:
xfsrestore [ options ] -f source [ -f source2 … ] dest

选项:
-f:其后指定备份文件的存放位置
-s:恢复备份文件中指定的文件(见Ⅳ)
-t:可查看文件的内容及其详细信息

下来举例子就是干:
(1)先删除挂载点目录下的所有文件(模拟文件丢失):

rm -rf /mnt

(2)先等一等[尔康脸],在恢复之前先来看看备份文件里面都有啥: 

[root@super media]# xfsrestore -f /opt/xfsdump_sdb1 –t

xfsrestore: using file dump (drive_simple) strategy 
xfsrestore: version 3.1.4 (dump format 3.0) - type ^C for status and control 
... ...智能省略 
passwd 
shadow 
boot/.vmlinuz-3.10.0-327.el7.x86_64.hmac 
… …智能省略 
boot/grub2/grub.cfg 
boot/grub2/fonts/unicode.pf2 
xfsrestore: table of contents display complete: 2 seconds elapsed 
xfsrestore: Restore Summary: 
xfsrestore: stream 0 /opt/xfsdump_sdb1 OK (success) 
xfsrestore: Restore Status: SUCCESS

⑵now! 趁现在,备份走起: 

[root@super ~]# xfsrestore -f /opt/xfsdump_sdb1 /media

xtrabackup 备份 too many open files xfile怎么备份_备份文件

又一次看见SUCCESS乐呵呵

③那么现在我们来校验一下恢复文件的完整性
[root@super ~]# ll -h /media/passwd /media/shadow /etc/passwd /etc/shadow
[root@super ~]# ll -h /boot /media/boot

Ⅳ、部分备份和部分恢复

xfsdump和xfsrestore都有-s选项,该选项就是用于部分备份和部分恢复的。 
⑴使用xfsdump部分备份举例:

[root@super media]# xfsdump -f /opt/xfsdump2_sdb1 /media -s ./passwd ./shadow -L xfsdump2_sdb1 -M media1

xfsdump: using file dump (drive_simple) strategy 
xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control 
... ...智能省略 
xfsdump: stream 0 /opt/xfsdump2_sdb1 OK (success) 
xfsdump: Dump Status: SUCCESS

老方法:看到最后一行的SUCCESS就知道完美啦

上例指定将/media目录下的passwd和shadow文件进行备份 
(注意:备份时使用-s参数必须要进入要备份的目录下,即必须使用相对路径,

使用xfsrestore部分恢复举栗(从Ⅱ步骤备份文件xfsdump_sdb1中恢复)

 

[root@super media]# xfsrestore -f /opt/xfsdump_sdb1 -s passwd /tmp/test

xfsrestore: using file dump (drive_simple) strategy 
xfsrestore: version 3.1.4 (dump format 3.0) - type ^C for status and control 
... ...智能省略 
xfsrestore: stream 0 /opt/xfsdump_sdb1 OK (success) 
xfsrestore: Restore Status: SUCCESS

又一次SUCCESS了呢,你今天真漂亮!

Ⅴ、增量备份及其恢复

这个块也hin重要的喔~
情景:我们磁盘中的文件一般都只是部分的变更,每次完全备份会浪费大量空间,也很耗时;然而使用部分备份又母鸡哪些文件改变了。那么这时,增量备份就派上用场啦。叔来给你们说说啊~
小白问:啥是增量备份捏?(上科普↓o↓)
增量备份:表示在原来备份的基础上只备份新的内容;使用-l选项,其后接数字1-9,表示备份等级;xfsdump不使用-l参数时默认为0级,即完全备份。

⑴我们先来在挂载点目录/media目录下增加一些内容:

[root@super ~]# touch /media/{a.txt,b.txt}

⑵下面来个一级备(在原来备份好xfsdump_sdb1的情况下):

[root@super ~]# xfsdump -l 1 -f /opt/xfsdumpadd1_sdb1 /media –L xfsback1_sdb1 –M media0

⑶在/media目录下再动点手脚,嘿嘿

[root@super ~]# touch /media/{c.txt,d.txt}

⑷接着下面(不要污~)来个二级备:

[root@super ~]# xfsdump -l 2 -f /opt/xfsdumpadd2_sdb1 /media –L xfsback2_sdb1 –M media0

⑸下面不备了,恢复!
恢复时只需要先恢复全量备份再恢复增量备份即可完全恢复数据:
(如果进行了多个增量备份,则第二步只需恢复最后一个增量备就能完全恢复(看码↓O↓))

[root@super ~]# xfsrestore –f /opt/xfsdump_sdb1 /media
[root@super ~]# xfsrestore –f /opt/xfsdumpadd2_sdb1 /media

置于本节命令执行后会出现什么活久见的神奇天象,大家自己试试看呗~

Ⅵ、一些注意事项
xfsdump 不支持没有挂载的文件系统备份,只能备份已挂载过的;
xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系);
xfsdump 只能备份 XFS 文件系统;
xfsdump 备份下来的数据 (档案或储存媒体) 只能让 xfsrestore 解析;
xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统。