一:使用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内容

xfsdump命令使用的更多相关文章

  1. Linux 文件恢复(XFS & EXT4)

    在Linux中,删除rm命令使用需谨慎,有时候可能由于误操作,导致重要文件删除了,这时不要太紧张,操作得当的话,还是可以恢复的. EXT 类型文件恢复 删除一个文件,实际上并不清除inode节点和bl ...

  2. 实战:xfs文件系统的备份和恢复

    概述 XFS提供了 xfsdump 和 xfsrestore 工具协助备份XFS文件系统中的数据.xfsdump 按inode顺序备份一个XFS文件系统. centos7选择xfs格式作为默认文件系统 ...

  3. linux文件系统和日志分析

    一.Linux文件系统 1.inode与block 1.概述: (1)文件数据包括元信息与实际信息 (2)文件存储在硬盘上,硬盘最小存储单位是"扇区",每个扇区存储512字节 (3 ...

  4. 深入理解Linux文件系统与日志分析

    一.inode和bolck概述 二.链接文件 三.inode节点耗尽故障处理 四.EXT类型文件恢复 五.xfs文件备份和恢复 六.日志文件 一.inode和bolck概述 1.定义 文件数据 文件数 ...

  5. Linux文件系统与日志分析

    Linux文件系统与日志分析一.inode与block概述① 文件数据包括元信息(类似文件属性)与实际数据② 文件存储在硬盘上,硬盘最小存储单位是"扇区"(sector),每个扇区 ...

  6. Linux文件系统与日志文件

    目录 一.inode和block 1.1.inode和block概述 1.2.inode的内容 inode包含文件的元信息: 查看inode号两种方式 目录文件的结构 1.3.inode的号码 用户通 ...

  7. 深入理解Linux文件系统与日志文件

    目录: 一.inode与block 二.inode内容 三.inode的号码 四.inode的大小 五.链接文件 六.inode节点耗尽故障处理 七.恢复EXT类型的文件编译安装extundelete ...

  8. Linux文件系统与日志分析的了解

    Linux文件系统与日志分析 1.inode和block概述 2.模拟inode耗尽实验 3.ext类型文件恢复 4.xfs类型文件恢复 5.日志文件 6.日志分析 1.文件:文件是存储在硬盘上的,硬 ...

  9. 转:CentOS, 找不到dump命令:command not found

    dump 功能说明:备份文件系统.语 法:dump [-cnu][-0123456789][-b <区块大小>][-B <区块数目>][-d <密度>][-f &l ...

随机推荐

  1. Android模仿三星手机系统滑动条滑动时滑块变大的特效

    使用三星手机的过程中发现三星手机系统自带的滑动条有一个特效.比方调节亮度的滑动条.在滑动滑块的过程中,滑块会变大.功能非常小可是体验却非常好,于是决定做一个这种效果出来.好了废话不多说了,以下開始实现 ...

  2. 自己理解BFC 和 stack context , stack order

    1. stack order 发生在BFC计算好了之后. 2.一个一个的BFC里面,不同的block 里面的stack context 会根据 stack order的顺序,进行堆叠.呈现互相遮盖的效 ...

  3. mysql忘记密码解决方法

    在windows下:打开命令行窗口,停止mysql服务: net stop mysql 启动mysql,执行: mysqld -nt --skip-grant-tables 另外打开一个命令行窗口,执 ...

  4. ASP入门(十七)-ASP #include

    通过使用 #include 指令,您可以在服务器执行 ASP 文件之前,把另一个 ASP 文件的内容插入到这个 ASP 文件中. 如何使用 #include 指令 这里有一个名为 mypage.asp ...

  5. 【Python】torrentParser1.00

    代码: #------------------------------------------------------------------------------------ # torrentP ...

  6. (算法)等概率选出m个整数

    题目: 从大小为n的整数数组A中随机选出m个整数,要求每个元素被选中的概率相同. 思路: n选m,等概率情况下,每个数被选中的概率为m/n. 方法: 初始化:从A中选择前m个元素作为初始数组: 随机选 ...

  7. vCenter 5.1 U1 Installation: Part 9 (vCenter SSO Configuration)

    http://www.derekseaman.com/2012/09/vmware-vcenter-51-installation-part-9.html In this installment of ...

  8. SqlServer2012自增主键跳跃增长的问题解决方案

    1.问题:SqlServer2012自增主键插入几条数据,然后重启服务,然后再插入几条数据,发现重启后插入的记录ID出现跳跃. 2.解决方案: Open SQLServer configuration ...

  9. java 对视频和图片进行加密解密[转]

    是时候回到文件加密与解密的具体实现这个主题上来了.后续的举例均采用图片(包括GIF动画)类型,而其他类型资源的实现原理相同,就不一一给出了.首先来看对一幅JPG类型图片进行异或加密的Java实现,由于 ...

  10. mySQL内存及虚拟内存优化设置[转]

    mySQL内存及虚拟内存优化设置 . 数据库mySQL内存优化G-LB  为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆.网上搜索了一下,得到高人指点my.ini ...