XFS文件系统备份恢复
什么是xfs系统
XFS提供了 xfsdump 和 xfsrestore 工具协助备份XFS文件系统中的数据。xfsdump
inode顺序备份一个XFS文件系统。
centos7选择xfs格式作为默认文件系统,而且不再使用以前的ext,仍然支持ext4,xfs专
大数据产生,每个单个文件系统最大可以支持8eb,单个文件可以支持16tb,不仅数据
大,而且扩展性高。还可以通过xfsdump,xfsrestore来备份和恢复。
与传统的UNIX文件系统不同,XFS不需要在备份前被卸载;对使用中的XFS文件系统做
份就可以保证镜像的一致性。XFS的备份和恢复的过程是可以被中断然后继续的,无须
结文件系统。xfsdump 甚至提供了高性能的多线程备份操作——它把一次dump拆分成多
数据流,每个数据流可以被发往不同的目的地
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
级别
首先了解一下xfsdump的备份级别有以下两种,默认为0(即完全备份)
0 级别代表: 完全备份
1 到9级别代表: 增量备份
- 1
- 2
扩展:
完全备份:每次都把指定的备份目录完整的复制一遍,不管目录下的文件有没有变化;
增量备份:每次将之前(第一次、第二次、直到前一次)做过备份之后有变化的文件进
备份;
差异备份:每次都将第一次完整备份以来有变化的文件进行备份。
- 1
- 2
- 3
- 4
环境准备
实验环境:
系统CENTOS7.2 添加一块虚拟硬盘(准备一个测试分区)
正常使用一块磁盘过程如下:
添加磁盘大小:20G 分区-->格式化--->挂载
- 1
- 2
- 3
分区
[root@wyh ~]# fdisk /dev/sdb #指定分区的设备
(n--->p--->回车-->回车-->+500M-->w)
[root@wyh ~]#partporbe #刷新下磁盘
[root@wyh sdb1]# ls /dev/sdb* #查看下是否成功
/dev/sdb /dev/sdb1
[root@wyh sdb1]#
- 1
- 2
- 3
- 4
- 5
- 6
- 7
格式化
[root@wyh ~]mkfs.xfs /dev/vdb1
- 1
- 2
挂载
[root@wyh ~]mkdir /sdb1 #创建挂载点
[root@wyh ~]mount /dev/sdb1 /sdb1 #挂载
- 1
- 2
- 3
准备备份测试文件
[root@wyh ~]# cd /sdb1/ #进入挂载目录
[root@wyh sdb1]# cp /etc/passwd ./ #复制文件到当前目录
[root@wyh sdb1]# mkdir test #创建一个测试目录
[root@wyh sdb1]# touch test/a #在在目录创建一个文件a
#
[root@wyh sdb1]# tree /sdb1/ #验证下
/sdb1/
├── passwd
└── test
└── a
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
备份
[root@wyh sdb1] xfsdump -f /opt/dump_sdb1 /dev/sdb1
//备份、/dev/sdb1磁盘到 /opt/下面,名字叫dump_sdb1
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control
========== dump label dialog ==============================
please enter label for this dump session (timeout in 300 sec)
-> dump_sdb1 指定备份会话标签 这里输入一个标签
session label entered: "dump_sdb1"
--------------------------------- end dialog ---------------------------------
xfsdump: level 0 dump of xuegod63.cn:/sdb1
xfsdump: dump date: Fri Nov 17 12:24:53 2017
xfsdump: session id: b5a25fcd-d43d-4308-bf29-142066f89d9a
xfsdump: session label: "dump_sdb1"
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: 25856 bytes
============== media label dialog =============================
please enter label for media in drive 0 (timeout in 300 sec)
-> sdb1 指定设备标签,就是对要备份的设备做一个描述
media label entered: "sdb1"
--------------------------------- end dialog --------------------------------
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 24544 bytes
xfsdump: dump size (non-dir files) : 2592 bytes
xfsdump: dump complete: 46 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /opt/dump_sdb1 OK (success)
xfsdump: Dump Status: SUCCESS #说名成功了
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
指定备份是免交互操作
指定备份时免交互操作,方便后期做定时备份
[root@wyh sdb1]# xfsdump -f /opt/dump_passwd /sdb1 -L dump_passwd -M media1
-L :xfsdump 纪录每次备份的 session 标头,这里可以填写针对此文件系统的简易说明
-M :xfsdump 可以纪录储存媒体的标头,这里可以填写此媒体的简易说明
- 1
- 2
- 3
- 4
指定只备份分区中某个目录
参数:-s 文件路径 只对指定的文件进行备份,-s指定时,路径写的是相对路径(-s可以是文件或目录)
[root@wyh sdb1]# xfsdump -f /opt/dump_grub2 -s grub2/grub.cfg /boot -L dump_grub2 -M boot-sda1
//将/boot 下面的grup2/grub.cfg 备份到/opt /下名字叫dump_grup2
会话标签是dunp_grub2 媒体表头为boot-sta1 (标签随便下写)
- 1
- 2
- 3
- 4
查看备份信息与内容
[root@wyh sdb1]# ls /var/lib/xfsdump/inventory/ #查看这个目录,但是看不懂,一般不用这
3e40f0db-ba3b-4941-b5a5-05b814ea3e4b.StObj
7fe72f8a-3a24-4a1f-b431-16c342d6119f.InvIndex
8c294471-093e-4936-ab0a-1ebdeaa45239.StObj
ab4340da-cf50-435a-b7bc-b1f70a2059fe.StObj
c968d13e-111a-40f8-9f91-692f1a08ceec.InvIndex
fstab
[root@wyh sdb1]#
---------------
[root@wyh sdb1]# xfsdump -I #常用这个查看备份成功的详细信息
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
测试恢复:
测试恢复:先删除之前创建的内容
文件系统恢复
语法:xfsrestore -f 指定恢复文件的位置 指定存放恢复后的文件的路径
[root@wyh sdb1]# rm -rf ./*
[root@wyh sdb1]# xfsrestore -f /opt/dump_sdb1 /sdb1
[root@wyh sdb1]# ls #查看恢复情况
passwd test
[root@wyh sdb1]#
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
恢复单个文件如下:
[root@wyh sdb1]# mkdir /var/test/
[root@wyh sdb1]# xfsrestore -f /opt/dump_grub2 -s grub2/grub.cfg /var/test/
[root@wyh sdb1]# xfsrestore -f /opt/dump_grub2 -s grub2 /var/test/
- 1
- 2
- 3
- 4
注:
使用 xfsdump 时,请注意下面下面的几个限制:
1、xfsdump 不支持没有挂载的文件系统备份!所以只能备份已挂载的!
2、xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系)
3、xfsdump 只能备份 XFS 文件系统
4、xfsdump 备份下来的数据 (档案或储存媒体) 只能让 xfsrestore 解析
5、xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统
补:增量备份
增量备份
概念
增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。这就意味着,第一次增量备份的对象是进行全备后所产生的增加和修改的文件;第二次增量备份的对象是进行第一次增量备份后所产生的增加和修改的文件,以此类推。
- 1
优缺点
优点:没有重复的备份数据,因此备份的数据量不大,备份所需的时间很短。
缺点:数据恢复相对比较麻烦,它需要上一次全备份和所有增量备份的内容才能够完全恢复成功,并且它们必须沿着从全备份到依次增量备份的时间顺序逐个反推恢复,因此可能会延长的恢复时间
详细看博客
其他博客介绍
文章来源: rivers.blog.csdn.net,作者:宝山的博客,版权归原作者所有,如需转载,请联系作者。
原文链接:rivers.blog.csdn.net/article/details/97000240
- 点赞
- 收藏
- 关注作者
评论(0)