linux xfs文件系统

centos7使用了xfs格式做为默认文件系统,centos

xfs提供了xfsdump备份, xfsrestore恢复session

 

  • xfs的备份和恢复过程是能够被中断而后继续的,无需冻结文件,无需冻结文件系统
  • xfsdump甚至提供了高性能的多线程备份操做----他把一次dump拆分红多个数据流,每一个数据流能够被发往不一样的目的地

xfsdump的备份级别有如下两种,默认为0多线程

  1. 0 级别表明 : 彻底备份
  2. 1到9级别表明 : 增量备份

 

  • 彻底备份:每次都把指定的备份目录完整的复制一遍,无论目录下的文件有没有变化
  • 增量备份:每次将以前(第一次,第二次,直到前一次)作过备份以后又变化的文件备份
  • 差别备份:每次都将第一次完整备份依赖有变化的文件进行备份

 

centos7,添加一块虚拟硬盘,(准备一个测试环境)性能

正常使用一块硬盘的过程测试

  • 添加磁盘 > 分区 > 格式化 > 挂载

1添加磁盘centos7

关闭centos
经过虚拟机>硬盘>添加设备>新硬盘, 
开机centos

 

2分区spa

ls /dev/sd*
能够看到多了一个/dev/sdb,这就是第二个磁盘(刚刚添加的)
使用fdisk对它进行分区
fdisk /dev/sdb
输入p查看分区

n新建分区
选择p主分区
w保存

 

3格式化线程

格式化成xfs文件系统
mkfs.xfs /dev/sdb1

 

4挂载rest

建立挂载点
mkdir /sdb1
挂载
mount /dev/sdb1 /sdb1/

 

备份整个系统code

xfsdump -f 备份存放位置 要备份路径或者目录
  • 注意:备份的路径不能写成/sdb1/
  • 能够写成/dev/sdb1 或者/sdb1
xfsdump -f /opt/dump_sdb1 /dev/sdb1

会提示指定会话标签 : dump_sdb1

提示指定设备标签 : sdb1 

 

也能够指定备份时免交互,方便后期作定时备份

xfsdump -f /opt/dump_sdb1 /dev/sdb1 -L dump_sdb1 -M sdb1
  • -L 指定会话标签,,记录每次备份的session标头,这里填写对此文件系统的简易说明
  • -M 指定设备标签,, 记录存储媒体的标头,这里填写此媒体的简易说明

 

固然也能够备份分区中的某一个目录

参数 : -s

  • -s 文件路径 只对指定的文件进行备份
  • -s指定时,路径写的是相对路径
xfsdump -f /opt/dump_grub2 -s grub2/grub.cfg /boot -L dump_grup2 -M boot
  • 这条命令中-s后面指定的grub2/grub.cfg位于boot目录下面

 

文件系统的恢复

xfsrestore -f 指定恢复文件的位置,指定存放恢复后的文件的路径
xfsrestore -f /opt/dump_sdb1 /sdb1
  •  恢复单个文件
xfsrestore -f /opt/dump_grub2 -s grub2/grub.cfg /boot

在使用xfsdump时有以下限制

xfsdump不支持没有挂载的文件备份命令
xfsdump必须root的权限才能操做
xfsdump只能备份xfs文件系统
xfsdump备份的数据,只能让xfsrestore解析

 

 

 

增量备份

概念:是指在上一次全备份或者在上一次增量备份后,之后每次的备份只需备份与前一次相比增长或者删除的文件

第一次增量备份的对象是进行全备份后产生的增长和修改的文件,第二次增量备份的对象时进行第一次增量备份后所产生的增长和修改的文件

 

  • 优势:没有重复的备份数据,所以备份的数据量不大,备份所需的时间比较短
  • 缺点:数据恢复相对比较麻烦,他须要上一次全备份和全部增量备份的内容才可以彻底恢复成功,而且它们必须沿着从全备份到以此增量备份的时间顺序逐个反推恢复,所以可能会延长恢复时间

 

实战:

1    第一次彻底备份

xfsdump -f /opt/dump_sdb1 /dev/sdb1 -L dump_sdb1 -M sdb1

 

2   将要备份的目录添加内容,进行增量备份

xfsdump -l 1 -f /opt/dump_sdb1.1 /dev/sdb1 -L dump_sdb1.1 -M sdb1

-l <level> : 作一个等级为1的备份

 

3    接着添加内容,继续进行增量备份

xfsdump -l 2 -f /opt/dump_sdb1.2 /dev/sdb1 -L dump_sdb1.2 -M sdb1
-l <level>作一个等级为2的备份

 

4    删除原始数据,

rm -rf /sdb1/*

 

 

如今改如何恢复呢
步骤:

  1. 先恢复彻底备份
    1. 状况一:恢复最后一次增量备份,(若是两次增量备份都是1级别的因此只须要备份最后一个增量就能够了)
    2. 状况二:若是你作的是第一次是1级倍,第二次是2级倍,那么你在恢复的时候就须要先恢复1级倍,而后是2级倍,以此类推
  • 那么很明显,咱们这个实例是状况二
恢复彻底备份
xfsrestore -f /opt/dump_sdb1 /sdb1

第一次增量恢复
xfsrestore -f /opt/dump_sdb1.1 /sdb1

第二次增量恢复
xfsrestore -f /opt/dump_sdb1.2 /sdb1

通过测试发现第一次和第二次增量恢复的顺序是能够颠倒的,由于他们备份的都是特定的数据

相关文章
相关标签/搜索