一:使用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. Laravel SQL 查询语句集锦

    1.从数据表中取得单一数据列 $user= DB::table('users')->where('name','John')->first(); 2.检索表中的所有行 复制代码代码如下: ...

  2. Java复习2-对象与类

    回顾基础知识过程中遇到的感觉需要记录一下的知识点. 封装 我们设计的class应当尽可能的高内聚,体现为封装的程度.一个class的属性应该只能自己修改,其他class都只是与本class沟通,而不应 ...

  3. 不可不知的Python模块: collections

    原文:http://www.zlovezl.cn/articles/collections-in-python/ Python作为一个“内置电池”的编程语言,标准库里面拥有非常多好用的模块.比如今天想 ...

  4. ASP入门(一)环境的搭建

    突然转战ASP是因为,手头要实现一个类似管理系统的东东,正好把ASP再从头学习一下下. ASP可以做什么? ASP,它的原文是 Active Server Pages . ASP最核心的扩展内容:Ac ...

  5. 一些常用&实用的Linux命令

    这些指令还是很常用的,最起码有些我每天都要用.当然,很多东西还是写成shell脚本用起来更方便. man 命令(查看一个命令的详细帮助信息) 命令 --help(显示一个命令的简单帮助信息) 命令 | ...

  6. C#.NET常见问题(FAQ)-如何让Listbox支持多选

    把SelectionMode改成MultiExtended   更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123   我的在线 ...

  7. Android 之 沉浸式状态栏及顶部状态栏背景色设置

    现在很多应用都引用了沉浸式状态栏,如QQ,效果下图: 效果很酷炫,其实设置也很简单.但是,需要注意的是,这种效果只能在API19以及以上版本中才能够做到. 方法一: 首先,如果想让界面Activity ...

  8. JNotify的监测文件变化的简单测试例子

    一.理由 使用JNotify监测的更全面,更快速. 二.参考代码 import net.contentobjects.jnotify.JNotify; import net.contentobject ...

  9. Python标准库笔记(3) — datetime模块

    datetime模块提供了简单和复杂的方式用于操纵日期和时间的类.虽然支持日期和时间运算,但实现的重点是为了输出格式化和操作高效地提取属性. 1. 模块内容 内容 描述 常量   datetime.M ...

  10. Java并发容器之CopyOnWriteArraySet与ConcurrentSkipListSet

    一:CopyOnWriteArraySet CopyOnWriteArraySet底层其实是通过CopyOnWriteArrayList来实现的,通过组合一个CopyOnWriteArrayList作 ...