xfs文件系统的备份与恢复

2024-02-23 23:08
文章标签 恢复 文件系统 备份 xfs

本文主要是介绍xfs文件系统的备份与恢复,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在rhel7中,默认的文件系统类型为xfs。
装好系统后默认有xfs文件系统的备份工具xfsdump和恢复工具xfsrestore,这也是该技术主要用到的命令

Ⅰ、新建一个分区用于做测试环境

①分区:

[root@super ~]# fdisk /dev/sdb

磁盘分区

②格式化
⑴强制分区信息读入内存:
[root@super ~]# partprobe
⑵查看分区信息:
[root@super ~]# cat /proc/partitions
查看分区信息
⑶进行格式化:
[root@super ~]# mkfs.xfs /dev/sdb1
分区格式化

③挂载
[root@super ~]# mount /dev/sdb1 /media
查看是否挂载成功:
[root@super ~]# mount | grep "/dev/sdb1"
[root@super ~]# df -Th | tail -1

挂载

④在挂载点目录里面创建一些测试文件
[root@super ~]# cp -a /etc/passwd /etc/shadow /boot .
[root@super ~]# ls /media
boot passwd shadow

到这,我们的测试环境已经创建完成,下面进行文件系统的备份。

Ⅱ、xfs文件系统的完全备份

xfs文件系统备份使用的命令是xfsdump,用法如下:
xfsdump [ options ] -f dest [ -f dest2 … ] filesystem

该命令的选项说明:
-f:其后指定备份文件的存放位置
-L:指定备份会话标签(免交互,不指定时需要在命令执行过程中指定)
-M:指定设备标签(免交互,不指定时需要在命令执行过程中指定)
-s:指定需要备份的文件(见Ⅳ)
-I:查看文件系统所有备份的详细信息

举个栗子呗:
完全备份栗子
[root@super ~]# xfsdump -f /opt/xfsdump_sdb1 /media –L xfsdump_sdb1 -M media0
完全备份
赶紧到/opt目录下视察一下有没有备份文件生成:
[root@super ~]# ll -h /opt

-I选项来一发,查看备份的详细信息:
[root@super ~]# xfsdump –I
file system 0:
fs id: c2f86da4-ad4b-451c-97cd-467836b3a82c
session 0:
mount point: super.feng:/media
device: super.feng:/dev/sdb1
time: Sun Dec 4 00:34:13 2016
session label: "xfsdump_sdb1"
session id: 7531c8ac-71d9-4619-ad59-0e7bc804bbcc
level: 0
resumed: NO
subtree: NO
streams: 1
stream 0:
pathname: /opt/xfsdump_sdb1
start: ino 131 offset 0
end: ino 3145859 offset 0
interrupted: NO
media files: 1
media file 0:
mfile index: 0
mfile type: data
mfile size: 121197672
mfile start: ino 131 offset 0
mfile end: ino 3145859 offset 0
media label: "media0"
media id: 65efe44b-dbb6-4c13-a6fd-0c9c6003b6ee
xfsdump: Dump Status: SUCCESS

看最后一句:备份状态:成功
液,完全备份完成,so easy!

Ⅲ、xfs文件系统的完全恢复

xfs文件系统的恢复用到的命令是xfsrestore,用法与xfsdump类似:
xfsrestore [ options ] -f source [ -f source2 … ] dest

选项:
-f:其后指定备份文件的存放位置
-s:恢复备份文件中指定的文件(见Ⅳ)
-t:可查看文件的内容及其详细信息

下来举栗子就是干:
①先删除挂载点目录下的所有文件(模拟文件丢失):
[root@super ~]# rm -rf /media/*
文件丢失
②憋慌,咱们有备份,现在就来还原它(↓_↓)
⑴先等一等[尔康脸],在恢复之前先来看看备份文件里面都有啥:
[root@super media]# xfsrestore -f /opt/xfsdump_sdb1 –t

xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.4 (dump format 3.0) - type ^C for status and control
... ...智能省略
passwd
shadow
boot/.vmlinuz-3.10.0-327.el7.x86_64.hmac
… …智能省略
boot/grub2/grub.cfg
boot/grub2/fonts/unicode.pf2
xfsrestore: table of contents display complete: 2 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore: stream 0 /opt/xfsdump_sdb1 OK (success)
xfsrestore: Restore Status: SUCCESS

⑵now! 趁现在,备份走起:
[root@super ~]# xfsrestore -f /opt/xfsdump_sdb1 /media
备份恢复
又一次看见SUCCESS乐呵呵

③那么现在我们来校验一下恢复文件的完整性
[root@super ~]# ll -h /media/passwd /media/shadow /etc/passwd /etc/shadow
[root@super ~]# ll -h /boot /media/boot

检验文件完整性
检验目录完整性
当然,大伙也可以使用diff命令来做比较

好啦,完全恢复完成,so easy!

Ⅳ、部分备份和部分恢复

xfsdump和xfsrestore都有-s选项,该选项就是用于部分备份和部分恢复的。
⑴使用xfsdump部分备份举栗:
[root@super media]# xfsdump -f /opt/xfsdump2_sdb1 /media -s ./passwd ./shadow -L xfsdump2_sdb1 -M media1

xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control
... ...智能省略
xfsdump: stream 0 /opt/xfsdump2_sdb1 OK (success)
xfsdump: Dump Status: SUCCESS

老方法:看到最后一行的SUCCESS就知道完美啦

上栗指定将/media目录下的passwd和shadow文件进行备份
注意:备份时使用-s参数必须要进入要备份的目录下,即必须使用相对路径,不然会失败的我跟你缩)

⑵使用xfsrestore部分恢复举栗(从Ⅱ步骤备份文件xfsdump_sdb1中恢复):
[root@super media]# xfsrestore -f /opt/xfsdump_sdb1 -s passwd /tmp/test

xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.4 (dump format 3.0) - type ^C for status and control
... ...智能省略
xfsrestore: stream 0 /opt/xfsdump_sdb1 OK (success)
xfsrestore: Restore Status: SUCCESS

又一次SUCCESS了呢,你今天真漂亮!

不信?来验一下真假咯:
[root@super ~]# diff /tmp/test/passwd /etc/passwd
没有输出表示俩文件一毛一样,信否?

Ⅴ、增量备份及其恢复

最后一个模块啦,看到这一定是真爱!
这个块也hin重要的喔~
情景:我们磁盘中的文件一般都只是部分的变更,每次完全备份会浪费大量空间,也很耗时;然而使用部分备份又母鸡哪些文件改变了。那么这时,增量备份就派上用场啦。叔来给你们说说啊~
小白问:啥是增量备份捏?(上科普↓o↓)
增量备份:表示在原来备份的基础上只备份新的内容;使用-l选项,其后接数字1-9,表示备份等级;xfsdump不使用-l参数时默认为0级,即完全备份。

新鲜栗子登场:
⑴我们先来在挂载点目录/media目录下增加一些内容:

[root@super ~]# touch /media/{a.txt,b.txt}

⑵下面来个一级备(在原来备份好xfsdump_sdb1的情况下):

[root@super ~]# xfsdump -l 1 -f /opt/xfsdumpadd1_sdb1 /media –L xfsback1_sdb1 –M media0

⑶在/media目录下再动点手脚,嘿嘿

[root@super ~]# touch /media/{c.txt,d.txt}

⑷接着下面(不要污~)来个二级备:

[root@super ~]# xfsdump -l 2 -f /opt/xfsdumpadd2_sdb1 /media –L xfsback2_sdb1 –M media0

⑸下面不备了,恢复!
恢复时只需要先恢复全量备份再恢复增量备份即可完全恢复数据:
(如果进行了多个增量备份,则第二步只需恢复最后一个增量备就能完全恢复(看码↓O↓))

[root@super ~]# xfsrestore –f /opt/xfsdump_sdb1 /media
[root@super ~]# xfsrestore –f /opt/xfsdumpadd2_sdb1 /media

置于本节命令执行后会出现什么活久见的神奇天象,大家自己试试看呗~

Ⅵ、一些注意事项

  • xfsdump 不支持没有挂载的文件系统备份,只能备份已挂载过的;
  • xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系);
  • xfsdump 只能备份 XFS 文件系统;
  • xfsdump 备份下来的数据 (档案或储存媒体) 只能让 xfsrestore 解析;
  • xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统。

这篇关于xfs文件系统的备份与恢复的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/740227

相关文章

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实

MySQL使用binlog2sql工具实现在线恢复数据功能

《MySQL使用binlog2sql工具实现在线恢复数据功能》binlog2sql是大众点评开源的一款用于解析MySQLbinlog的工具,根据不同选项,可以得到原始SQL、回滚SQL等,下面我们就来... 目录背景目标步骤准备工作恢复数据结果验证结论背景生产数据库执行 SQL 脚本,一般会经过正规的审批

Linux中的缓冲区和文件系统详解

《Linux中的缓冲区和文件系统详解》:本文主要介绍Linux中的缓冲区和文件系统方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、FILE结构1、fd2、缓冲区二、文件系统1、固态硬盘2、逻辑地址LBA(一)数据块 Data blocks(二)inode表

通过ibd文件恢复MySql数据的操作方法

《通过ibd文件恢复MySql数据的操作方法》文章介绍通过.ibd文件恢复MySQL数据的过程,包括知道表结构和不知道表结构两种情况,对于知道表结构的情况,可以直接将.ibd文件复制到新的数据库目录并... 目录第一种情况:知道表结构第二种情况:不知道表结构总结今天干了一件大事,安装1Panel导致原来服务

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复