完全备份:完全备份即将被备份的数据完整的备份下来,恢复完全备份即恢复所有.
增量备份:在之前的备份基础上进行仅对更改和新增的内容进行备份
例如:
a b c d e 完全备份
新增 f,更改b 第一次增量备份,仅备份 f,b
新增g,h 更改e 第二次增量备份,仅备份g,h,e (相当于上一个备份来看)
===>恢复:完全备份-->第一次增量--->第二次增量
差异备份:仅针对完全备份,无论是哪次做差异备份,都是针对在完全备份基础上备份变化部分的内容
例如:
a b c d e 完全备份
新增 f 更改b 第一次差异备份:f,b
新增g h 第二次差异备份:f,b,g,h
新增k 更改h 第三次差异备份:f,b,g,h,k
======>恢复:完全备份--->最后一次的差异备份
xfsdump:
>备份只能由xfsrestore解析恢复
>只能针对处于挂载的xfs文件系统
>只有root用户有权限可操作
==================
![]() |
-l (level) 0 完全备份
1 增量备份
2
![]() |
一、XFS文件系统备份和恢复
创建XFS分区及测试文件
[root@localhost ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb
[root@localhost ~]# fdisk /dev/sdb
#扫描新的分区
[root@localhost ~]# partprobe /dev/sdb
#格式化
[root@uplooking home]# mkfs.xfs -f /dev/sdb1
#挂载
[root@uplooking home]# mount /dev/sdb1 /mnt/xfs
#查看挂载文件系统
[root@uplooking home]# df -TH
#针对分区做完全备份
[root@uplooking home]# xfsdump -f /opt/sdb1-fully /mnt/xfs
被备份目标也可以为分区设备
[root@uplooking home]# xfsdump -f /opt/sdb1-fully /dev/sdb1
#如果用于脚本实现xfs自动备份,则命令可以非交互式-L指定标签 -M 指定media标签
[root@uplooking home]# xfsdump -f /opt/sdb1-fully-3 /dev/sdb1 -L "sdb1-fully说明备份文件信息" -M "sdb-media说明备份分区信息"
# “-t” 不进行恢复只查看备份文件中的内容
# xfsrestore -tf 20201231-lv_xfs_fully
#恢复
[root@uplooking home]# xfsrestore -f /opt/sdb1-fully /mnt/xfs/
#针对某个文件或目录备份
参数:-s 文件路径 只对指定的文件进行备份,-s指定时,路径写的是相对路径(-s可以是文件或目录)
#例如:备份/dev/sdb1分区中 ssh/ssh_config 文件 (写相对路径)
#如果采取的是增量备份方式,则需要恢复 完全备份 以及所有增量备份 才会恢复所有数据
---------------------------------------------------------------------------------------------------------
xfsdump命令实现备份 将再/var/lib/xfsdump/inventory 记录备份档案
# xfsdump -I ---查看所有备份档案信息
# xfsrestore -f /opt/sdb1_fully -t 查看备份文件的详细信息
当做了一次全量备份之后,再多次的增量备份时,不改变增量level值,实现 差异 备份
# xfsdump -f /opt/sdb1_fully /dev/sdb1 -L "sdb1_fully" -M"sdb1"
# xfsdump -l1 -f /opt/sdb1_L1 /dev/sdb1 -L "sdb1_level1" -M"sdb1"
# xfsdump -l1 -f /opt/sdb1_L1_2 /dev/sdb1 -L "sdb1_level1_2" -M"sdb1
练习:
需求:
1.创建一个lv逻辑卷组,格式化为xfs文件系统类型,挂载在/var/xfs 目录
2.向分区拷贝 /etc/ssh/* 所有文件 并做一次完全备份到/opt/backup 目录中
xfsdump -l0 -L"vg0-lv_data-fully-dump" -M"vg0-lv_data" -f /opt/backup/vg0-lv_data-fully.dump /var/xfs
3.向分区复制 /etc/services文件 并做第一次增量备份
xfsdump -l1 -L"vg0-lv_data-l1-dump" -M"vg0-lv_data" -f /opt/backup/vg0-lv_data-l1.dump /var/xfx
4.向分区新建文件a1..a10,并做第二次增量备份
xfsdump -l2 -L"vg0-lv_data-l2-dump" -M"vg0-lv_data" -f /opt/backup/vg0-lv_data-l2.dump /var/xfs
5.在分区中创建目录 dir1/dir2/ 并在dir2/目录下建立一个文件file写入"I Love Study Linux" 并做第三次增量备份
xfsdump -l3 -L"vg0-lv_data-l3-dump" -M"vg0-lv_data" -f /opt/backup/vg0-lv_data-l3.dump /var/xfs
6.删除分区中 /dir1/dir2/file文件,并用恰当的备份进行恢复
xfsrestore -f vg0-lv_data-l3.dump -s dir1/dir2/file /var/xfs/
7.向分区中复制 /usr/lib/systemd/ 目录,此时并做一个针对完全备份的 差异备份
xfsdump -l1 -L"vg0-lv_data-diff-1-dump" -M"vg0-lv_data" -f /opt/backup/vg0-lv_data-diff-1.dump /var/xfs
8.删除分区中所有内容,然后进行完整恢复
=======================================================
二、XFS文件系统的检查和修复
#模拟文件系统分区故障<卸载分区执行破坏命令>
#dd if=/dev/zero of=/dev/sdb2 bs=100 count=1
自动检查并修复XFS文件系统
[root@localhost file]# xfs_repair /dev/sdb2