linux - xfs文件系统备份

简介

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

linux - xfs文件系统备份

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


linux - xfs文件系统备份

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
¥506
领50元券

总结

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

linux - xfs文件系统备份

相关推荐