XFS文件系统是SGI开发的高级日志文件系统,XFS极具伸缩性,非常健壮。所幸的是SGI将其移植到了Linux系统中。在linux环境下。目前版本可用的最新XFS文件系统的为1.2版本,可以很好地工作在2.4核心下。

XFS 是 Silicon Graphics,Inc. 于 90 年代初开发的。它至今仍作为 SGI 基于 IRIX 的产品(从工作站到超级计算机)的底层文件系统来使用。现在,XFS 也可以用于 Linux。XFS 的 Linux 版的到来是激动人心的,首先因为它为 Linux 社区提供了一种健壮的、优秀的以及功能丰富的文件系统,并且这种文件系统所具有的可伸缩性能够满足最苛刻的存储需求  。

        过去的Centos版本都是用的EXT的文件系统,而Centos 7 则是用的XFS文件系统。当我们误删除一个重要文件后如何对这个文件进行恢复呢,这篇博客主要就来介绍一下在XFS系统当中如何对数据文件的一个备份跟恢复。

        这边使用到命令主要有两条,xfs文件恢复系统是针对一个完整的分区系统,而对于单个文件来说用cp跟tar命令就足够了。

        xfsdump -f [指定存放备份文件位置] [想要备份文件]

        xfsrestore -f [备份文件位置] [指定恢复文件位置]

        实验环境:VMware14 

        系统版本:CentOS 7


        首先我们要模拟一个新的分区系统,也就是新添加一块磁盘将它格式化成一个xfs系统的分区。

        在VMware虚拟机上的Linux系统添加一块硬盘,然后重启。因为重启之后系统才能识别新添加的硬盘。

        首先使用fdisk /dev/sdb命令进入对新添加的第二块磁盘的设置模式。



        再进入对磁盘编辑模式后,输入“n”创建一个分区,输入“p”创建一个主分区,后面的大小什么不作设置直接回车就可以,最后输入“w”保存并退出。

        


        接下来使用mkfs.xfs /dev/sdb1把新添加的分区格式化成xfs文件格式,注意这边一定要是xfs的文件格式。然后使用mount /dev/sdb1 /mnt命令把新添加的分区挂载到mnt目录下,然后我们就可以在里面写数据了。



        接下来在这个分区当中创建了15个文件夹和一个带有数据的文件“test.txt”


            接下来使用xfsdump -f /opt/dump_sdb /mnt命令把sdb1分区的文件备份到/opt目录下以dump_sdb名字为命名。please enter label for this dump session (timeout in 300 sec)这段话的意思是让你输入一个会话名字,这边输入文件名字就可以了。please enter label for media in drive 0 (timeout in 300 sec)这段话的意思是让你输入备份磁盘的设备文件名,也就是sdb。

        


        接下cd到opt目录下发现备份文件已经生成,接下就要模拟数据被破坏或者被误删除。


        为了模拟数据被破坏,这边直接使用rm -rf /mnt把这个分区上的文件全部删除,再使用ls命令查看一下发现已经全部被删除。

.

            接下来使用xfsrestore -f /opt/dump_sdb /mnt命令把刚才备份的文件恢复到mnt目录下面去。


        接下来使用cd命令进入mnt目录下面,发现刚才被删除的文件都已经全部还原。