4.4 实战1:XFS文件系统的备份和恢复

XFS文件系统是由SGI开发的高级日志文件系统,XFS极具伸缩性,非常健壮。所幸的是,SGI将其移植到了Linux系统中,XFS特别擅长处理大文件,同时提供平滑的数据传输。在Linux环境中,目前版本可用的最新XFS文件系统为1.2版本,在CentOS 7版本中开始支持XFS文件系统。

XFS提供了xfsdump和xfsrestore两个工具,协助备份XFS文件系统中的数据。xfsdump按inode顺序备份一个XFS文件系统。

CentOS 7选择XFS格式作为默认文件系统,而不再使用以前的ext格式,但仍然支持ext4。XFS专为大数据而生,每个文件系统最大可以支持8EB,单个文件可以支持16TB,不仅数据量大,而且扩展性高。还可以通过xfsdump和xfsrestore进行备份和恢复。

与传统的UNIX文件系统不同,XFS不需要在备份前被卸载,对使用中的XFS文件系统做备份就可以保证镜像的一致性。XFS的备份和恢复过程是可以被中断然后继续的,无须冻结文件系统。xfsdump甚至提供了高性能的多线程备份操作——把一次dump拆分成多个数据流,每个数据流可以被发往不同的目的地。

xfsdump的备份级别有以下两种(默认为0)。

0级别代表完全备份。

1~9级别代表增量备份。

知识扩展

完全备份:每次都把指定的备份目录完整地复制一遍,不管目录下的文件有没有变化。

增量备份:每次将之前(第一次、第二次……直到前一次)做过备份以后有变化的文件进行备份。

差异备份:每次都将第一次完整备份以后有变化的文件进行备份。

1.环境准备

为系统CentOS 7.5添加一块虚拟磁盘(准备一个测试分区)。

正常使用一块磁盘过程如下。

(1)添加新磁盘,步骤如下。

① 单击“编辑虚拟机设置”,在“虚拟机设置”对话框中单击“添加(A)”按钮,然后在弹出的“添加硬件向导”对话框中选择“硬盘”选项并单击“下一步(N)”按钮,如图4-4所示。

图4-4 添加磁盘

② 在图4-5所示的对话框中选择磁盘类型为“SCSI(S)(推荐)”,并单击“下一步(N)”按钮。

图4-5 选择磁盘类型

③ 在图4-6所示的对话框中选择磁盘为“创建新虚拟磁盘(V)”并单击“下一步(N)”按钮。

图4-6 选择磁盘

④ 在图4-7所示的对话框中指定“最大磁盘大小(GB)(S)”为20GB,选择“将虚拟磁盘存储为单个文件(O)”单选按钮,并单击“下一步(N)”按钮。

图4-7 指定磁盘容量

⑤ 在图4-8所示的对话框中指定磁盘文件,此处默认即可,直接单击“完成”按钮。

图4-8 指定磁盘文件

⑥ 在图4-9所示的对话框中确认此前操作,确认无误后,单击“确定”按钮,完成新磁盘的添加。

图4-9 完成设置

(2)使用fdisk命令对新添加的磁盘进行分区。

欢迎使用fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到用户决定将更改写入磁盘。

使用写入命令前请三思。

使用磁盘标识符0x06d5a427创建新的DOS磁盘标签。

(3)命令(输入m获取帮助):n。表示创建一个新的分区。

(4)Select (default p): p。表示创建一个主分区。

(5)Last扇区,+扇区or +size{K,M,G} (2048-41943039,默认为41943039):+1G

#指定分区大小。

(6)命令(输入m获取帮助):p。表示打印分区表。

(7)命令(输入m获取帮助):w #保存并退出。

(8)格式化新的分区,并进行挂载。

(9)准备备份测试文件。

2.文件系统备份

(1)备份整个分区(这个功能就像虚拟机的快照,服务器被黑后,能够进行快速恢复)。

命令使用格式:xfsdump -f存放位置 目标文件的路径。

注意:备份的路径这里不能写成/sdb1/,可以是/dev/sdb1或/sdb1。

把/dev/sdb1设备文件备份到/opt/dump_sdb1。

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

(3)指定只备份分区中的某个目录。

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

备份grub2/grub.cfg到/opt/目录下,并命名为dump_grub2。

(4)查看备份信息与内容。

备份成功后,可以在/var/lib/xfsdump/inventory目录下看到生成的文件信息。

(5)测试恢复准备:先删除之前创建的内容。

3.文件系统恢复

命令使用格式:xfsrestore -f恢复文件的位置 指定存放恢复后文件的路径。

查看恢复情况如下。

恢复单个文件如下。

4.使用xfsdump时,请注意以下几个限制

① xfsdump不支持没有挂载的文件系统,所以只能备份已挂载的。

② xfsdump必须使用root的权限才能操作(涉及文件系统的关系)。

③ xfsdump只能备份XFS文件系统。

④ xfsdump备份的数据(档案或储存媒体)只能让xfsrestore解析。

⑤ xfsdump是通过文件系统的UUID来分辨各个备份档的,因此,不能备份两个具有相同UUID的文件系统。

5.增量备份

增量备份是指在一次完全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加和修改的文件。这就意味着,第一次增量备份的对象是进行完全备份后所产生的增加和修改的文件;第二次增量备份的对象是进行第一次增量备份后所产生的增加和修改的文件,以此类推。

增量备份的优缺点如下。

优点:不需要重复备份数据,因此备份的数据量不大,备份所需的时间很短。

缺点:数据恢复相对比较麻烦,它需要上一次完全备份和所有增量备份的内容才能够完全恢复成功,并且必须沿着从完全备份到每次增量备份的时间顺序逐个反向恢复,因此会延长恢复时间。