zoukankan      html  css  js  c++  java
  • xfsdump 备份文件系统

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

    一、xfs 简单介绍。

      XFS  提供了 xfsdump  和  xfsrestore 工具协助备份 XFS 文件系统中的数据。xfsdump 按 inode顺序备份一个 XFS 文件系统。

      centos7 选择 xfs 格式作为默认文件系统,而且不在使用以前的ext,仍然支持 ext4, xfs 专为大数据产生,每个单个文件系统量最大支持8eb,单个文件可以支持16tb,不仅数据量大,而且扩展性搞。还可以通过xfsdump,xfsrestore来备份和恢复。原始备份数据防范:cp

      与传统的 UNIX 文件系统不同,XFS 不需要再备份前被卸载;对使用的 XFS 文件系统做备份就可以保证镜像的一致性。XFS 的备份和恢复的过程是可以被中断后继续的,无须冻结文件系统。xfsdump 甚至提供了高性能的多线程备份操作--它把一次dump拆分成多个数据流,每个数据流可以被发往不通的目的地。

    二、xfs 备份级别。

      0 级别(默认)   完全备份

      1 - 9 级别        增量备份

    扩展:

      完全备份:每次都能把指定的备份目录完整的复制一遍,不管目录下的文件有没有变化;

      增量备份:每次讲之前(第一次、第二次、直到前一次)做过备份之后有变化的文件进行备份;

      差异备份:每次都将第一次完整备份以来有变化的文件进行备份;

    三、实战

    环境:centos7.4 

    提前添加一个虚拟硬盘(准备一个测试分区)。

      mac vmware fusion 添加方法:

      init0 关机--->偏好设置---->硬盘---->添加

    正常使用一块磁盘的过程如下:

    添加磁盘--->分区--->格式化--->挂载 

    1、分区

    1.1、添加磁盘后,查看磁盘

    [steven@localhost ~]$ ls /dev/sd*
    

     1.2、格式化磁盘

    [root@localhost steven]# fdisk /dev/sdb                      # 查看分区,sdb就是刚才添加的硬盘
    欢迎使用 fdisk (util-linux 2.23.2)。
    
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    Device does not contain a recognized partition table
    使用磁盘标识符 0x4cde0b6a 创建新的 DOS 磁盘标签。
    
    命令(输入 m 获取帮助):p                      # 查看分区表
    
    磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x4cde0b6a
    
       设备 Boot      Start         End      Blocks   Id  System
    
    命令(输入 m 获取帮助):n                                       # 添加新的分区
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): p                                #  添加主分区
    分区号 (1-4,默认 1):
    
    起始 扇区 (2048-41943039,默认为 2048):      # 回车
    将使用默认值 2048
    Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G     # +1G
    分区 1 已设置为 Linux 类型,大小设为 1 GiB
    
    命令(输入 m 获取帮助):p         #  查看分区表,多了一个sdb1的分区
    
    磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x4cde0b6a
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048     2099199     1048576   83  Linux
    
    命令(输入 m 获取帮助):w                     # 保存退出
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    [root@localhost dev]# ls /dev/sd*
    /dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1
    [root@localhost dev]#             
    

    1.3、格式化成xfs---》创建目录---》挂载到目录。

    [root@localhost dev]# mkfs.xfs /dev/sdb1
    meta-data=/dev/sdb1              isize=512    agcount=4, agsize=65536 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=262144, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal log           bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    [root@localhost dev]# mkdir /sdb1
    [root@localhost dev]# mount /dev/sdb1 /sdb1
    

    2、备份测试

    2.1 备份整个分区

    xfsdump -f  备份存放位置  要备份的路径    注意:备份的路径不能写成/sdb1/,后面不要有/

    [root@localhost sdb1]# xfsdump -f /opt/dump_sdb1  /dev/sdb1
    xfsdump: using file dump (drive_simple) strategy
    xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control
    
     ============================= dump label dialog ==============================
    
    please enter label for this dump session (timeout in 300 sec)
     -> dump_sdb1     # 指定备份会话标签
    session label entered: "dump_sdb1"
    
     --------------------------------- end dialog ---------------------------------
    
    xfsdump: level 0 dump of localhost.localdomain:/sdb1
    xfsdump: dump date: Sun May 20 12:05:50 2018
    xfsdump: session id: 44e9f0a2-1690-4ad6-abff-959e6920f66c
    xfsdump: session label: "dump_sdb1"
    xfsdump: ino map phase 1: constructing initial dump list
    xfsdump: ino map phase 2: skipping (no pruning necessary)
    xfsdump: ino map phase 3: skipping (only one dump stream)
    xfsdump: ino map construction complete
    xfsdump: estimated dump size: 25856 bytes
    xfsdump: /var/lib/xfsdump/inventory created
    
     ============================= media label dialog =============================
    
    please enter label for media in drive 0 (timeout in 300 sec)
     -> sdb1     # 指定备份标签
    media label entered: "sdb1" --------------------------------- 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 24544 bytes xfsdump: dump size (non-dir files) : 2592 bytes xfsdump: dump complete: 69 seconds elapsed xfsdump: Dump Summary: xfsdump: stream 0 /opt/dump_sdb1 OK (success) xfsdump: Dump Status: SUCCESS [root@localhost sdb1]#

     2.2 指定备份时免交互操作,方便后期定时备份。

    [root@localhost sdb1]# xfsdump -f /opt/dump_passwd /sdb1 -L dump_passwd -M media1
    

     -L  :xfsdump  记录每次备份的 session 标头,这里可以填写针对此文件系统的简易说明

    -M  :xfsdump 可以记录存储媒体的标头,这里可以填写此媒体的简易说明

    3、指定只备份分区中某个目录

    参数:-s 文件路径  只对指定的文件进行备份,-s指定时,路径写的是相对路径(-s 可以是文件或目录)

    [root@localhost sdb1]# xfsdump -f /opt/dump_grub2 -s grub2/grub.cfg /boot -L dump_grub2 -M boot-sda1
    

    4、查看备份信息和内容

    备份成功后,我们可以在/var/lib/xfsdump/inventory 目录下看到生成的档案信息

    [root@localhost sdb1]# ls /var/lib/xfsdump/inventory/
    0180aae6-80c6-472f-a031-c79f271f8177.InvIndex
    a5398b8f-e1ae-49a4-9d70-5f1fc5a68194.StObj
    a5c5b8d4-6656-4023-b576-96593b9440b8.StObj
    ba6ae155-c50d-440d-802f-7111a5cd3d03.InvIndex
    fstab
    
    [root@localhost sdb1]# xfsdump -I   # 查看备份信息
    
  • 相关阅读:
    指令
    linux学习之多高并发服务器篇(三)
    linux学习之高并发服务器篇(二)
    linux学习之多高并发服务器篇(一)
    Linux学习之socket编程(二)
    Linux学习之socket编程(一)
    myeclipse中如何修改Servlet模板_day01
    Properties的使用以及配置文件值的获取
    Sql_Server中如何判断表中某字段是否存在
    微博开发流程-01
  • 原文地址:https://www.cnblogs.com/sunshine-long/p/9063221.html
Copyright © 2011-2022 走看看