xfsdump命令使用

一:使用xfsdump备份和恢复xfs文件系统

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

0                                    完全备份

1    <=   level <= 9      增量备份

1.创建xfs文件系统并挂载到/data目录下

linux-x4xj:~ # mkfs.xfs /dev/sdb

linux-x4xj:~ # mkdir /data

linux-x4xj:~ # mount /dev/sdb /data

linux-x4xj:~ # df -h

Filesystem      Size Used Avail Use% Mounted on

/dev/sda2       4.0G 1.6G  2.2G  43% /

devtmpfs        465M 168K  465M   1% /dev

tmpfs           465M     0 465M   0% /dev/shm

/dev/sdb         20G  33M   20G   1% /data

linux-x4xj:~ #

2.备份测试

首先复制一些文件到/data目录下,以便测试,如下所示

linux-x4xj:~ # ls -l /data

total 1792

-rwxr--r-- 1 nobody nobody 1832960 Sep 1314:12 iozone3_429.tar

drwxr-xr-x 2 nobody nobody     102 Sep 16 20:46 lustre-client-el5.8-2.1.6

linux-x4xj:~ #

◆首先备份/data整个目录到/tmp目录下

测试过程中发现:如果命令这样写xfsdump -f /tmp/dump_data /data/,就会提示错误(xfsdump:ERROR: /data/ does not identify a file system)

 

linux-x4xj:~ # xfsdump -f /tmp/dump_data /data/

xfsdump: using file dump (drive_simple)strategy

xfsdump: version 3.0.5 (dump format 3.0) -Running single-threaded

 

 ============================= dump labeldialog ==============================

 

please enter label for this dump session(timeout in 300 sec)

 -> dump_data

session label entered:"dump_data"

 

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

 

xfsdump: ERROR:/data/ does not identify a file system

xfsdump: usage: xfsdump [ -a (dump DMFdualstate files as offline) ]

                           *

                           *

                           *

 

 

必须要这样写xfsdump -f /tmp/dump_data /data(即/data后面的/不能要)这样才能成功

 

linux-x4xj:~ # xfsdump -f /tmp/data_dump /data

xfsdump: using file dump (drive_simple)strategy

xfsdump: version 3.0.5 (dump format 3.0) -Running single-threaded

 

 ============================= dump labeldialog ==============================

 

please enter label for this dump session(timeout in 300 sec)

 -> data_dump

session label entered:"data_dump"

 

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

 

xfsdump: level 0 dump of linux-x4xj:/data

xfsdump: dump date: Tue Sep 16 20:58:582014

xfsdump: session id:ca3390ef-1a8c-429b-8d87-4e60d22d3c54

xfsdump: session label: "data_dump"

xfsdump: ino map phase 1: constructinginitial dump list

xfsdump: ino map phase 2: skipping (nopruning necessary)

xfsdump: ino map phase 3: skipping (onlyone dump stream)

xfsdump: ino map construction complete

xfsdump: estimated dump size: 70670208bytes

 

 ============================= media labeldialog =============================

 

please enter label for media in drive 0(timeout in 300 sec)

 -> media0

media label entered: "media0"

 

 --------------------------------- 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 70680352 bytes

xfsdump: dump size (non-dir files) :70656816 bytes

xfsdump: dump complete: 9 seconds elapsed

xfsdump: Dump Status: SUCCESS

linux-x4xj:~ # ls -l /tmp/data_dump

-rw-r--r-- 1 root root 70680352 Sep 1620:59 /tmp/data_dump

linux-x4xj:~ #

以上为会话模式,即会提示让你输入label for session和label for dump,可以用下面的命令运行,就不会出现会话模式了

linux-x4xj:~ # xfsdump -f /tmp/data_dump /data -L data_dump -M data_dump

 

◆备份/data目录下的lustre-client-el5.8-2.1.6子目录到/tmp目录下,命令如下

linux-x4xj:~ # xfsdump -f /tmp/data_lustre_client_dump -s lustre-client-el5.8-2.1.6 /data -L data_lustre_client_dump -M media0 (注意子目录前面不能有/,最后面也不能有/)

 

xfsdump: using file dump (drive_simple)strategy

xfsdump: version 3.0.5 (dump format 3.0) -Running single-threaded

xfsdump: level 0 dump of linux-x4xj:/data

xfsdump: dump date: Tue Sep 16 21:07:14 2014

xfsdump: session id:12d13ad4-47d2-4ea5-94df-afc2d71cb6a4

xfsdump: session label:"data_lustre_client_dump"

xfsdump: ino map phase 1: constructinginitial dump list

xfsdump: ino map phase 2: skipping (nopruning necessary)

xfsdump: ino map phase 3: skipping (onlyone dump stream)

xfsdump: ino map construction complete

xfsdump: estimated dump size: 68834880bytes

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 68845344 bytes

xfsdump: dump size (non-dir files) :68822096 bytes

xfsdump: dump complete: 0 seconds elapsed

xfsdump: Dump Status: SUCCESS

linux-x4xj:~ # ls -l /tmp/data_lustre_client_dump

-rw-r--r-- 1 root root 68845344 Sep 1621:07 /tmp/data_lustre_client_dump

linux-x4xj:~ #

 

◆克隆/data(备份所有内容到另一个目录或到另一个硬盘下),本次新加了一个盘用作备份,挂载到了/data2下,开始克隆,命令如下

linux-x4xj:~ #xfsdump - /data | xfsrestore - /data2

                             或者

linux-x4xj:~ #xfsdump -l 0 - /data | xfsrestore - /data2 (因为默认级别为0)

linux-x4xj:~ # ll /data

total 1792

-rwxr--r-- 1 nobodynobody 1832960 Sep 13 14:12 iozone3_429.tar

drwxr-xr-x 2 nobodynobody     102 Sep 16 20:46lustre-client-el5.8-2.1.6

linux-x4xj:~ # ll /data2/

total 1792

-rwxr--r-- 1 nobodynobody 1832960 Sep 13 14:12 iozone3_429.tar

drwxr-xr-x 2 nobodynobody     102 Sep 16 20:46lustre-client-el5.8-2.1.6

linux-x4xj:~ #

 

◆只克隆/data下的子目录lustre-client-el5.8-2.1.6到/data2目录下,命令如下

linux-x4xj:~ #xfsdump - -s lustre-client-el5.8-2.1.6 /data | xfsrestore - /data2

                            或者

linux-x4xj:~ #xfsdump -l 0 - -s lustre-client-el5.8-2.1.6 /data | xfsrestore - /data2

linux-x4xj:~ # ll /data2/

total 0

drwxr-xr-x 2 nobodynobody 102 Sep 16 20:46 lustre-client-el5.8-2.1.6

linux-x4xj:~ #

 

3.查看会话存档

可以使用xfsdump -I来查看session存档

linux-x4xj:~ #xfsdump -I    (从存档中选择了一个会话内容如下)

        session 2:

                mount point:    linux-x4xj:/data

                device:         linux-x4xj:/dev/sdb

                time:           Tue Sep 16 20:58:58 2014

                session label:  "data_dump"                   (会话标识)

                session id:     ca3390ef-1a8c-429b-8d87-4e60d22d3c54

                level:          0

                resumed:        NO

                subtree:        NO

                streams:        1

                stream 0:

                        pathname:       /tmp/data_dump

                        start:          ino 131 offset 0

                        end:            ino 136 offset 0

                        interrupted:    NO

                        media files:    1

                        media file 0:

                                mfileindex:    0

                                mfiletype:     data

                                mfilesize:     70680352

                                mfilestart:    ino 131 offset 0

                                mfile end:      ino 136 offset 0

                                medialabel:    "media0"             (介质标识)

                                media id:       43881f83-231f-4835-a858-4d4ade150efe

 

4.使用xfsrestore恢复数据

★模拟删除/data目录内的所有内容,然后恢复数据

linux-x4xj:~ # rm -rf /data/*

linux-x4xj:~ #xfsrestore -f /tmp/data_dump /data

★根据会话标识,只恢复某个文件或者是子目录

linux-x4xj:~#xfsrestore-f /tmp/data_dump -L data_dump -s lustre-client-el5.8-2.1.6 /data

 

5.在没有进行恢复之前可以通过xfsrestore  -f /tmp/data_dump  -t查看data_dump内容

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Re: 《 Linux磁盘与文件系统管理命令 》   ---------------------------------------内容提要: 01/16)命令fdisk           :磁盘分区工具02/16)命令partprobe  :更新内核的硬盘分区表信息(即分区即刻生效)03/16)命令 tune2fs     :调整 ext2/ext3/ext4 文件系统参数04/16)命令 parted       :磁盘分区工具(大小通吃)05/16)命令 mkfs          :创建Linux文件系统06/16)命令 dumpe2fs :导出ext2/ext3/ext4文件系统信息07/16)命令 resize2fs   :调整ext2/ext3/ext4文件系统大小08/16)命令 fsck           :检查并修复Linux文件系统09/16)命令 dd             :转换或复制文件10/16)命令 mount       :挂载文件系统11/16)命令 umount     :卸载文件系统12/16)命令 df              :报告文件系统磁盘空间的使用情况13/16)命令 mkswap    :创建交换分区14/16)命令 swapon     :激活交换分区15/16)命令 swapoff     :关闭交换分区16/16)命令 sync           :刷新文件系统缓冲区17/17)附录                   :NFS 网络文件服务器到安装;客户端的挂载 -t nfs;及新分区的权限测试  本人在教学和实战过程中发现,即便是有一定运维经验的人,可能已经能够搭建一定复杂度的Linux架构,但是在来来回回的具体操作中,还是体现出CLI(命令界面)功底不够扎实,甚至操作的非常‘拙’、处处露‘怯’。 对一个士兵来说,枪就是他的武器,对于一个程序员来说,各种library(工具库)就是他的武器;而对于Linux运维人员来说,无疑命令行工具CLI(命令界面)就是他们的武器;高手和小白之间的差距往往就体现在对于这些“武器”的掌握和熟练程度上。有时候一个参数就能够解决的事情,小白们可能要写一个复杂的Shell脚本才能搞定,这就是对CLI(命令界面)没有理解参悟透彻导致。 研磨每一个命令就是擦拭手中的作战武器,平时不保养不理解,等到作战的时候,一定不能够将手中的武器发挥到最好,所以我们要平心、静气和专注,甘坐冷板凳一段时间,才能练就一身非凡的内功! 本教程从实战出发,结合当下流行或最新的Linux(v6/7/8 版本)同时演示,将命令行结合到解决企业实战问题中来,体现出教学注重实战的务实精神,希望从事或未来从事运维的同学,能够认真仔细的学完Linux核心命令的整套课程。 本课程系列将逐步推出,看看我教学的进度和您学习的步伐,孰占鳌头! 注:关于教学环境搭建,可以参考本人其它课程系列,本教学中就不再赘述! 《参透 VMware 桌面级虚拟化》 《在虚拟机中安装模版机(包括应用软件等)》 《SecureCRT 连接 GNS3/Linux 的安全精密工具》 
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值