项目实战——xfs文件系统的备份与恢复

xfs文件系统

XFS是centos7中默认的文件系统,从centos7开始,XFS专为大数据产生。可以存储大量的数据
优点:
1单个系统文件最大可以支持8eb
2单个文件可以支持16eb
3可以通过xfsdump和xfsrestore进行恢复
4XFS不需要在备份前卸载
5保证镜像的一致性——主要体现在当数据进行变化时,仍然可以得到正确的备份
6xfsdump提供了高性能的多线程备份,可以一次将xfsdump拆分成多个数据流,每个数据流被发送到不同的目的地

XFS的备份级别,默认级别为0

级别说明
0完全备份
1-9增量备份

3备份

名字说明
完全备份每次都将指定的备份目录完整的复制一遍,不管目录下的文件有没有变化
增量备份每次将之前做过备份之后有变化的文件进行备份
差异备份每次都将第一次完整备份以来有变化的文件进行备份

环境准备

1centos7操作系统
2增加一块硬盘用来测试

步骤详解

1准备一块测试硬盘,我使用的是虚拟机,直接点击设置,然后添加硬盘即可,如下图所示,我已经添加好了一块大小为20G的硬盘

在这里插入图片描述

2对新建的硬盘进行分区->格式化->挂载->使用

##1查找硬盘设备
ls /dev/sd* 
##2对其进行格式化
fdisk /dev/sdb

以下为使用中的具体过程。1——简单备份

[root@break sdb1]# ls -a /dev/sd //查找磁盘
/dev/sda /dev/sda2 /dev/sda4 /dev/sda6 /dev/sda8 /dev/sdb
/dev/sda1 /dev/sda3 /dev/sda5 /dev/sda7 /dev/sda9
[root@break sdb1]# fdisk /dev/sdb //对磁盘进行操作
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助):n //新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p //创建主分区
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G //分区大小
分区 1 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):w //保存到硬盘上
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。

挂载,测试文件

 mkfs.xfs /dev/sdb1                将/dev/sdb1格式化为xfs的文件系统
 mkdir /sdb1 					创建新的挂载点
 mount /dev/sdb1 /sdb1          将/dev/sdb1挂载到/sdb1上
 cd /sdb1                          切换目录
 cp /etc/passwd ./                   复制文件
  mkdir test                        创建目录

[root@break sdb1]# mkfs.xfs /dev/sdb1
mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
[root@break sdb1]# mkdir /sdb1
[root@break sdb1]# mount /dev/sdb1 /sdb1
[root@break sdb1]# cd /sdb1
[root@break sdb1]# cp /etc/passwd ./
cp:是否覆盖"./passwd"? y
[root@break sdb1]# mkdir test

备份

[root@break opt]# xfsdump -f /opt/dump_sdb1 /dev/sdb1 //将/dev/sdb1备份到/opt/dump_sdb1中
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)
-> dump_sdb1 //指定备份会话标签
session label entered: “dump_sdb1”

--------------------------------- end dialog ---------------------------------

xfsdump: WARNING: most recent level 0 dump was interrupted, but not resuming that dump since resume (-R) option not specified
xfsdump: level 0 dump of break.cn:/sdb1
xfsdump: dump date: Tue Mar 19 11:10:11 2019
xfsdump: session id: 88857b55-f508-4ffa-a06c-c8683b3c8740
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: 25536 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 24232 bytes
xfsdump: dump size (non-dir files) : 2592 bytes
xfsdump: dump complete: 65 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /opt/dump_sdb1 OK (success)
xfsdump: Dump Status: SUCCESS //显示备份成功

查看备份文件

cat /opt/dump_sdb1

在这里插入图片描述

上述的是一个详细而简单的备份过程。2——指定备份时免交互,方便后期做备份

xfsdump的参数说明
-L  :xfsdump  纪录每次备份的 session 标头,这里可以填写针对此文件系统的简易说明
-M  :xfsdump 可以纪录储存媒体的标头,这里可以填写此媒体的简易说明
 xfsdump -f /opt/dump_sdb2 /dev/sdb1 -L dump_sdb2 -M sdb2

[root@break opt]# xfsdump -f /opt/dump_sdb2 /dev/sdb1 -L dump_sdb2 -M sdb2
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsdump: level 0 dump of break.cn:/sdb1
xfsdump: dump date: Tue Mar 19 11:21:18 2019
xfsdump: session id: c62813f9-b2ca-4a8c-9236-998eddfecce3
xfsdump: session label: “dump_sdb2”
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: 25536 bytes
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 24232 bytes
xfsdump: dump size (non-dir files) : 2592 bytes
xfsdump: dump complete: 21 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /opt/dump_sdb2 OK (success)
xfsdump: Dump Status: SUCCESS
在这里插入图片描述

3指定只备份文件中的某个目录

xfsdump的参数:
-s :指定备份的目录,-s指定时,路径写的是相对路径(-s可以是文件或目录)
xfsdump -f /opt/dump_grub2 -s grub2/grub.cfg /boot -L dump_grub -M boot-sda1

[root@break boot]# xfsdump -f /opt/dump_grub2 -s grub2/grub.cfg /boot -L dump_grub -M boot-sda1
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsdump: level 0 dump of break.cn:/boot
xfsdump: dump date: Tue Mar 19 12:29:07 2019
xfsdump: session id: 4b65d63a-5b3b-4483-bb87-920bd0df3bd8
xfsdump: session label: “dump_grub”
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: 29632 bytes
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 27936 bytes
xfsdump: dump size (non-dir files) : 4640 bytes
xfsdump: dump complete: 21 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /opt/dump_grub2 OK (success)
xfsdump: Dump Status: SUCCESS
[root@break boot]# ls -al /opt
总用量 76
drwxr-xr-x 2 root root 75 3月 19 12:29 .
dr-xr-xr-x. 18 root root 236 3月 19 11:09 …
-rw-r–r-- 1 root root 0 3月 19 11:28 dump_grub
-rw-r–r-- 1 root root 27936 3月 19 12:29 dump_grub2
-rw-r–r-- 1 root root 24232 3月 19 11:11 dump_sdb1
-rw-r–r-- 1 root root 24232 3月 19 11:21 dump_sdb2

4查看备份的信息与内容

xfsdump -I //查看备份信息
/var/lib/xfsdump/inventory存在着档案信息

[root@break opt]# xfsdump -I
file system 0:
fs id: 3a543317-b3f4-4aad-ae6e-30863fdcef3d
session 0:
mount point: break.cn:/sdb1
device: break.cn:/dev/sdb1
time: Mon Mar 18 21:43:16 2019
session label: “dump_sdb1”
session id: 72e51bde-69db-4a6d-b7dd-2bb727c76b0d
level: 0
resumed: NO
subtree: NO
streams: 1
stream 0:
pathname: /opt/dump_sdb1
start: ino 67 offset 0
end: ino 68 offset 0
interrupted: NO
media files: 1
media file 0:
mfile index: 0
mfile type: data
mfile size: 23928
mfile start: ino 67 offset 0
mfile end: ino 68 offset 0
media label: “sdb1”
media id: 514ee541-31dc-4bc1-bfe1-07915934d103
session 1:
mount point: break.cn:/sdb1
device: break.cn:/dev/sdb1
time: Tue Mar 19 11:08:17 2019
session label: “dump_sdb1”
session id: f9d44f10-2ae7-48bc-b8d3-b42170969215
level: 0
resumed: NO
subtree: NO
streams: 1
stream 0:
pathname: /opt/dump_sdb1
start: ino 0 offset 0
end: ino 0 offset 0
interrupted: YES
media files: 0
session 2:
mount point: break.cn:/sdb1
device: break.cn:/dev/sdb1
time: Tue Mar 19 11:10:11 2019
session label: “dump_sdb1”
session id: 88857b55-f508-4ffa-a06c-c8683b3c8740
level: 0
resumed: NO
subtree: NO
streams: 1
stream 0:
pathname: /opt/dump_sdb1
start: ino 74 offset 0
end: ino 75 offset 0
interrupted: NO
media files: 1
media file 0:
mfile index: 0
mfile type: data
mfile size: 24232
mfile start: ino 74 offset 0
mfile end: ino 75 offset 0
media label: “sdb1”
media id: 970a7f39-f58d-4e10-b70c-6de8f9d6f9f3
session 3:
mount point: break.cn:/sdb1
device: break.cn:/dev/sdb1
time: Tue Mar 19 11:21:18 2019
session label: “dump_sdb2”
session id: c62813f9-b2ca-4a8c-9236-998eddfecce3
level: 0
resumed: NO
subtree: NO
streams: 1
stream 0:
pathname: /opt/dump_sdb2
start: ino 74 offset 0
end: ino 75 offset 0
interrupted: NO
media files: 1
media file 0:
mfile index: 0
mfile type: data
mfile size: 24232
mfile start: ino 74 offset 0
mfile end: ino 75 offset 0
media label: “sdb2”
media id: e0233c9b-d5c9-47a0-a064-a94496f3f841
file system 1:
fs id: 494cc5f7-bf47-46ea-892c-940f2ab4d8cb
session 0:
mount point: break.cn?
device: break.cn:/dev/mapper/centos-root
time: Mon Mar 18 21:57:49 2019
session label: “dump_/”
session id: 935fd142-af75-4d9c-b407-b41bd317eb62
level: 0
resumed: NO
subtree: NO
streams: 1
stream 0:
pathname: /opt/dump_sdb1
start: ino 0 offset 0
end: ino 0 offset 0
interrupted: YES
media files: 0
file system 2:
fs id: 6d4d9717-9833-47ca-9628-cc235001eff6
session 0:
mount point: break.cn:/boot
device: break.cn:/dev/sda1
time: Tue Mar 19 12:29:07 2019
session label: “dump_grub”
session id: 4b65d63a-5b3b-4483-bb87-920bd0df3bd8
level: 0
resumed: NO
subtree: YES
streams: 1
stream 0:
pathname: /opt/dump_grub2
start: ino 393285 offset 0
end: ino 393286 offset 0
interrupted: NO
media files: 1
media file 0:
mfile index: 0
mfile type: data
mfile size: 27936
mfile start: ino 393285 offset 0
mfile end: ino 393286 offset 0
media label: “boot-sda1”
media id: a4bbdf31-ba25-4632-8698-b7bdbefb446a
xfsdump: Dump Status: SUCCESS

查看文件的备份信息

在这里插入图片描述
————————————————————————————————————————————————————————

恢复

简单恢复

将sdb1清空,然后将/opt/dump_sdb1恢复到/sdb1
恢复命令:
 xfsrestore -f /opt/dump_sdb1 /sdb1 

[root@break ~]# xfsrestore -f /opt/dump_sdb1 /sdb1
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description:
xfsrestore: hostname: break.cn
xfsrestore: mount point: /sdb1
xfsrestore: volume: /dev/sdb1
xfsrestore: session time: Tue Mar 19 11:10:11 2019
xfsrestore: level: 0
xfsrestore: session label: “dump_sdb1”
xfsrestore: media label: “sdb1”
xfsrestore: file system id: 3a543317-b3f4-4aad-ae6e-30863fdcef3d
xfsrestore: session id: 88857b55-f508-4ffa-a06c-c8683b3c8740
xfsrestore: media id: 970a7f39-f58d-4e10-b70c-6de8f9d6f9f3
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 2 directories and 2 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 1 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore: stream 0 /opt/dump_sdb1 OK (success)
xfsrestore: Restore Status: SUCCESS

恢复指定文件

##将/opt/dump_grub2恢复到/var/1的目录下
xfsrestore -f /opt/dump_grub2 -s grub2/grub.cfg /var/1   
xfsrestore -f /opt/dump_grub2 -s grub2 /var/1   

[root@break opt]# xfsrestore -f /opt/dump_grub2 -s grub2/grub.cfg /var/1
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description:
xfsrestore: hostname: break.cn
xfsrestore: mount point: /boot
xfsrestore: volume: /dev/sda1
xfsrestore: session time: Tue Mar 19 13:04:38 2019
xfsrestore: level: 0
xfsrestore: session label: “dump_grub”
xfsrestore: media label: “boot-sda1”
xfsrestore: file system id: 6d4d9717-9833-47ca-9628-cc235001eff6
xfsrestore: session id: dd4f2fcb-cbfe-4d99-a4e5-2091f9d7de32
xfsrestore: media id: d40c53c0-0d8c-4cd4-afd4-646d0602d7fd
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 2 directories and 17 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore: stream 0 /opt/dump_grub2 OK (success)
xfsrestore: Restore Status: SUCCESS

注意事项

使用 xfsdump 时,请注意下面下面的几个限制:
1、xfsdump 不支持没有挂载的文件系统备份!所以只能备份已挂载的!
2、xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系)
3、xfsdump 只能备份 XFS 文件系统
4、xfsdump 备份下来的数据 (档案或储存媒体) 只能让 xfsrestore 解析
5、xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值