linux-xfs文件系统备份

简介

在CentOS7上默认使用的文件系统是xfs。xfs 专为大数据产生,每个单个文件系统量最大支持8eb,单个文件可以支持16tb,不仅数据量大,而且扩展性搞。还可以通过xfsdump,xfsrestore来备份和恢复。

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

xfs 备份级别

0 级别(默认)   完全备份

1 - 9 级别     增量备份

扩展:

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

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

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

实验

如果有虚拟机可以直接添加一个虚拟磁盘进行操作。

# 不分区也可以直接使用,如果需要多个分区就使用fdisk进行分区就可以了。

mkfs.xfs /dev/sdb

mount /dev/sdb /mnt

date > /mnt/1.txt

mkdir -p /mnt/a /mnt/b

date > /mnt/a/1.txt

date > /mnt/2.txt

1、安装

yum -y install xfsdump

2、备份操作

0x00备份整个分区

xfsdump -f 备份存放位置 要备份的路径

#运行过程会提示输入会话标签和备份标签

xfsdump -f /root/bakxfs /mnt

# 提前指定标签

xfsdump -f /root/bakxfs2 /mnt -L sdb -M dumps_sdb

0x01 指定只备份分区中某个目录

xfsdump -f /root/bakxfs_a /mnt -s a 3.txt -L sdb -M dumps_sdb_some

0x02 全量恢复

xfsrestore -f /root/bakxfs /mnt

0x03 部分回复

xfsdump -f /root/backxfs /mnt -s ./1.txt

0x04 增量备份

a)先进行全量备份

xfsdump -f /root/bakxfs_full0 /mnt -L sdb -M sdb_full_0

b)再进行增量备份

date > /mnt/inc.txt

xfsdump -l 1 -f /root/bakxfs_inrc1 /mnt -L sdb -M sdb_inrc1

c)先进行全量恢复,再增量恢复(如果有多个增量备份,只需恢复最后一个即可)

xfsrestore -f /root/bakxfs_full0 /mnt

xfsrestore -f /root/bakxfs_inrc1 /mnt

总结

xfsdump 不支持没有挂载的文件系统备份,只能备份已挂载过的;

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

xfsdump 只能备份 XFS 文件系统;

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190925A0R1R900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券