文章目录
xfsdump命令介绍
1. XFS 提供了 xfsdump 和 xfsrestore 工具协助备份 XFS 文件系统中的数据。xfsdump 按 inode顺序备份一个 XFS 文件系统。
2. centos7 选择 xfs 格式作为默认文件系统,centos7 选择 xfs 格式作为默认文件系统,而且不在使用以前的ext,仍然支持 ext4, xfs 专为大数据产生,每个单个文件系统量最大支持8eb,单个文件可以支持16tb,不仅数据量大,而且扩展性搞。还可以通过xfsdump,xfsrestore来备份和恢复。原始备份数据防范:cp
3. 与传统的 UNIX 文件系统不同,XFS 不需要再备份前被卸载;对使用的 XFS 文件系统做备份就可以保证镜像的一致性。XFS 的备份和恢复的过程是可以被中断后继续的,无须冻结文件系统。xfsdump 甚至提供了高性能的多线程备份操作–它把一次dump拆分成多个数据流,每个数据流可以被发往不通的目的地。
4. xfs不支持缩减空间,使用xfsdump
安装:
yum -y install xfsdump
使用:
xfsdump -f /tmp/dump_data /opt/data #将/opt/data数据备份到/tmp/dump_data
#提示让你输入label for session和label for dump
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control
============================= dump label dialog ==============================
please enter label for this dump session (timeout in 300 sec)
-> data_dump ##指定备份会话标签
session label entered: "data_dump"
xfsdump: level 0 dump of localhost.localdomain:/opt/data
xfsdump: dump date: Fri Oct 18 01:42:12 2019
xfsdump: session id: 39a550cd-ec47-4890-a1ea-63a07c12a7e3
xfsdump: session label: "data_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: 10507840 bytes
xfsdump: /var/lib/xfsdump/inventory created
============================= media label dialog =============================
please enter label for media in drive 0 (timeout in 300 sec)
-> media0 ##指定设备标签,就是对要备份的设备做一个描述
media label entered: "media0"
指定备份时免交互操作,方便后期做定时备份
xfsdump -f /opt/dump_passwd /sdb1 -L dump_passwd -M media1
-L (session label) :xfsdump 纪录每次备份的 session 标头,这里可以填写针对此文件系统的简易说明
-M (media label):xfsdump 可以纪录储存媒体的标头,这里可以填写此媒体的简易说明(哪个设备)
xfsdump -f /tmp/data_dump /data -L data_dump -M data_dump
#不会出现会话模式
指定只备份分区中某个目录
参数:-s 文件路径 只对指定的文件进行备份,-s指定时,路径写的是相对路径(-s可以是文件或目录)
xfsdump -f /opt/dump_grub2 -s grub2/grub.cfg /boot -L dump_grub2 -Mboot-sda1
xfsdump -f /tmp/dump_data_test -s test /opt/data -L dump_data_test -M sdb #-s指定相对路径
查看备份信息
cd /var/lib/xfsdump/inventory
xfsdump -I
测试:
cd /opt/data #创建内容
dd if=/dev/zero of=/opt/data/test bs=1M count=10
mkdir test.{1,2,3}
xfsdump备份
rm -rf ./* #删除内容
xfsrestore还原
xfsrestore -f /tmp/dump_data /opt/data/
cd /opt/data/
ls
xfsrestore -f /tmp/data_dump -L data_dump -s lustre-client-el5.8-2.1.6 /data
xfsrestore -f /tmp/dump_data_test -L dump_data_test -s test /opt/data
#根据会话标识,只恢复某个文件或者是子目录
使用 xfsdump 时,请注意下面下面的几个限制:
1、xfsdump 不支持没有挂载的文件系统备份!所以只能备份已挂载的!
2、xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系)
3、xfsdump 只能备份 XFS 文件系统
4、xfsdump 备份下来的数据 (档案或储存媒体) 只能让 xfsrestore 解析
5、xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统
报错
xfsdump -f /tmp/dump_data /opt/data/ #这么写就报错
xfsdump: ERROR: /opt/data/ does not identify a file system
xfsdump -f /tmp/dump_data /opt/data #data后面不加/就可以了
xfs 备份级别
-
完全备份:每次都能把指定的备份目录完整的复制一遍,不管目录下的文件有没有变化;
-
增量备份:每次讲之前(第一次、第二次、直到前一次)做过备份之后有变化的文件进行备份;
- 优点:没有重复的备份数据,因此备份的数据量不大,备份所需的时间很短。
- 缺点:数据恢复相对比较麻烦,它需要上一次全备份和所有增量备份的内容才能够完全恢复成功,并且它们必须沿着从全备份到依次增量备份的时间顺序逐个反推恢复,因此可能会延长的恢复时间
-
差异备份:每次都将第一次完整备份以来有变化的文件进行备份;
0 级别(默认) 完全备份
1 - 9 级别 增量备份
只是增量备份的还原顺序是:还原全局——还原1级——还原2级——如果类推
使用
对于新目录第一次进行完全备份,之后进行增量备份
xfsdump -f /tmp/dump_data /opt/data -L dump_data -M sdb
增量备份
cd /opt/data
touch hello.{1,2,3,4,5} #新建文件
xfsdump -l 1 -f /tmp/dump_data1 /opt/data -L dump_data1 -M sdb #等级为1的备份,以此类推
xfsrestore -f /tmp/dump_data1 -t #没有进行恢复之前可以通过这个命令查看dump_data1内容
还原增量备份
1.先恢复完整备份
2.如果两次备份都是1级的,那么只需要恢复最后一次增量备份;但如果第一次是1级备份,第二次是2级备份,那么需要先恢复完整备份,然后恢复1级备份,最后2级备份(有待查证)
xfsrestore -f /tmp/dump_data /opt/data #恢复完整备份
xfsrestore -f /tmp/dump_data1 /opt/data #恢复增量备份等级1
克隆目录