2018最新linux云计算集群架构师-第一阶段-Linux操作系统入门到精通-第4章-文件系统的管理方法和xfs文件系统备份恢复-实战-xfsdump备份文件系统

实战-xfsdump备份文件系统

FS提供了 xfsdump 和 xfsrestore 工具协助备份XFS文件系统中的数据。xfsdump 按inode顺序备份一个XFS文件系统。

centos7选择xfs格式作为默认文件系统,而且不再使用以前的ext,仍然支持ext4,xfs专为大数据产生,每个单个文件系统最大可以支持8eb,单个文件可以支持16tb,不仅数据量大,而且扩展性高。还可以通过xfsdump,xfsrestore来备份和恢复。

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

首先了解一下xfsdump的备份级别有以下两种,默认为0(即完全备份)

0 级别代表:           完全备份

1  到9级别代表:      增量备份

扩展

完全备份:每次都把指定的备份目录完整的复制一遍,不管目录下的文件有没有变化;

增量备份:每次将之前(第一次、第二次、直到前一次)做过备份之后有变化的文件进行备份;

差异备份:每次都将第一次完整备份以来有变化的文件进行备份。

1.环境准备

实验环境:系统CENTOS7.2 添加一块虚拟硬盘(准备一个测试分区)

正常使用一块磁盘过程如下

添加磁盘大小:20G->分区->格式化->挂载

对新添加的硬盘进行格式化

#指定分区的设备
fdisk /dev/sdb	

#进入操作界面				
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x06d5a427 创建新的 DOS 磁盘标签。

#创建一个新的分区
命令(输入 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 获取帮助):p  	
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x06d5a427
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux

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

#查看
ls  /dev/sdb*

#使用新的分区,格式化分区,并进行挂载
mkfs.xfs /dev/sdb1

#创建挂载点
mkdir /sdb1

#挂载
mount /dev/sdb1 /sdb1

#准备备份测试文件
cd /sdb1/
cp /etc/passwd ./
mkdir test
touch test/a
tree /sdb1/
tree /sdb1/

2.备份

1)备份整个分区。 (这个功能就像是虚拟机的快照,服务器被黑后,进行快速恢复)

xfsdump  -f 备份存放位置 要备份路径或设备文件

注意:备份的路径这里不能写成/sdb1/。  可以是/dev/sdb1 或/sdb1 

xfsdump -f /opt/dump_sdb1  /dev/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  

2)指定备份时免交互操作,方便后期做定时备份 

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

3)指定只备份分区中某个目录

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

4)查看备份信息与内容

备份成功后,我们就可以在/var/lib/xfsdump/inventory目录下看到生成的档案信息

xfsdump  -I(字母大写i) 

测试恢复:先删除之前创建的内容,进入sdb1

ls
pwd
rm -rf ./*

 

posted on 2019-12-04 14:10  herisson_pan  阅读(16)  评论(0)    收藏  举报

导航