一:使用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. LAMP架构之PHP-FPM 服务器

    PHP简介 安装PHP 解决依赖关系 # 请配置好yum源(系统安装源及epel源)后执行如下命令: yum -y groupinstall "Desktop Platform Develo ...

  2. [转]Python机器学习工具箱

    原文在这里  Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy.其中Numpy是一个用python实现的科学计算包.包括: 一个强大的N维数组对象Array: 比较成熟的(广播 ...

  3. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十三)kafka+spark streaming打包好的程序提交时提示虚拟内存不足(Container is running beyond virtual memory limits. Current usage: 119.5 MB of 1 GB physical memory used; 2.2 GB of 2.1 G)

    异常问题:Container is running beyond virtual memory limits. Current usage: 119.5 MB of 1 GB physical mem ...

  4. js获取当月最后一天

    构造函数 new Date(); new Date(value); new Date(dateString); new Date(year, month[, day[, hour[, minutes[ ...

  5. 解决:Failure to transfer org.apache.maven.plugins:maven-jar-plugin:pom:2.4 from错误

    在使用Maven时出现以下错误: Failure to transfer org.apache.maven.plugins:maven-jar-plugin:pom:2.4 from https:// ...

  6. struct的初始化

    1.struct的初始化可以使用类似数组的方式,如下:struct Student{ int _Age; string _Name;};Student stu = {26,"Andy&quo ...

  7. ActiveMQ持久化方式

    ActiveMQ持久化方式 发表于8个月前(2014-09-04 15:55)   阅读(686) | 评论(0) 17人收藏此文章, 我要收藏 赞1 慕课网,程序员升职加薪神器,点击免费学习 摘要  ...

  8. vsphere 5.1 改进和SSO理解

    虚拟交换器 以5.1版的vSphere而言,VMware在VDS上提供一些新功能.例如,现在可以用快照的方式,来备份还原VDS组态及网络端口群组(port group)的组态,以因应vCenter S ...

  9. python __setattr__和__getattr__

    通过为dict添加__setattr__和__getattr__, 可以属性的语法访问dict的元素 http://www.2cto.com/kf/201507/413971.html class S ...

  10. shell 截取变量的字符串(转)

    来自:http://blog.sina.com.cn/s/blog_7c95e5850100zpch.html 假设有变量 var=http://www.linuxidc.com/test.htm 一 ...