xfs文件系统恢复
步骤
- 备份
- 恢复
注意:前提要有备份
1:添加一块磁盘然后进行分区,格式化,挂载
[root@lpf ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xf99aac90 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-209715199,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-209715199,默认为 209715199):
将使用默认值 209715199
分区 1 已设置为 Linux 类型,大小设为 100 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@lpf ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=6553536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=26214144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=12799, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
2:挂载
[root@lpf ~]# mkdir /data
[root@lpf ~]# echo '/dev/sdb1 /data xfs defaults 0 0' >> /etc/fstab
[root@lpf ~]# mount -a
[root@lpf ~]# df -Th
/dev/sdb1 xfs 100G 33M 100G 1% /data
3:模拟创建数据并备份
[root@lpf ~]# cd /data
[root@lpf data]# mkdir test
[root@lpf data]# cp /etc/passwd ./
[root@lpf data]# ll
总用量 4
-rw-r--r--. 1 root root 2301 7月 1 17:02 passwd
drwxr-xr-x. 2 root root 6 7月 1 17:02 test
[root@lpf data]# touch test/a01.txt
[root@lpf data]# tree
.
├── passwd
└── test
└── a01.txt
1 directory, 2 files
[root@lpf data]# xfsdump -f /opt/xfs_dump /dev/sdb1
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control
== dump label dialog =
please enter label for this dump session (timeout in 300 sec)
-> xfs_dump
session label entered: "xfs_dump"
--------------------------------- end dialog ---------------------------------
xfsdump: level 0 dump of lpf:/data
xfsdump: dump date: Wed Jul 1 17:06:22 2020
xfsdump: session id: e6b6cf7f-4536-4e55-9156-3a306314349c
xfsdump: session label: ==="xfs_dump"=== #设置你备份文件名称
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"=== #选择media,你要备份的分区
--------------------------------- 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 25560 bytes
xfsdump: dump size (non-dir files) : 2592 bytes
xfsdump: dump complete: 63 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /opt/xfs_dump OK (success)
xfsdump: Dump Status: SUCCESS
4:删除数据并恢复
[root@lpf data]# rm -rf ./*
[root@lpf data]# ll
总用量 0
[root@lpf data]# xfsrestore -f /opt/xfs_dump /data
xfsrestore: Restore Status: SUCCESS
[root@lpf data]# ll
总用量 4
-rw-r--r--. 1 root root 2301 7月 1 17:02 passwd
drwxr-xr-x. 2 root root 21 7月 1 17:03 test
[root@lpf data]# tree
.
├── passwd
└── test
└── a01.txt
5:增量备份
指定备份时免交互操作,方便后期做定时备份
[root@xuegod63 sdb1]# xfsdump -f /opt/dump_passwd /sdb1 -L dump_passwd -M media1
-L :xfsdump 纪录每次备份的 session 标头,这里可以填写针对此文件系统的简易说明
-M :xfsdump 可以纪录储存媒体的标头,这里可以填写此媒体的简易说明
-l 做一个等级为1的备份
再次增加内容,然后进行level 2级别的增量备
[root@lpf test]# xfsdump -l 1 -f /opt/xfs_dump_1 /dev/sdb1 -L xfs_dump_1 -M /dev/sdb1
[root@lpf data]# xfsdump -l 2 -f /opt/xfs_dump_2 /dev/sdb1 -L xfs_dump_1 -M /dev/sdb1
[root@lpf opt]# ll
总用量 84
drwxr-xr-x. 5 root root 53 7月 1 16:13 john-1.8.0
drwxr-xr-x. 3 root root 16 6月 10 09:09 opt
drwxr-xr-x. 2 root root 6 10月 31 2018 rh
-rw-r--r--. 1 root root 25560 7月 1 17:07 xfs_dump
-rw-r--r--. 1 root root 26856 7月 1 17:55 xfs_dump_1
-rw-r--r--. 1 root root 26856 7月 1 18:16 xfs_dump_2
root@lpf data]# ll
总用量 4
-rw-r--r--. 1 root root 0 7月 1 17:53 123.txt
drwxr-xr-x. 2 root root 6 7月 1 17:53 lpf
-rw-r--r--. 1 root root 2301 7月 1 17:02 passwd
drwxr-xr-x. 2 root root 21 7月 1 17:03 test
[root@lpf data]# rm -rf lpf
[root@lpf data]# ll
总用量 4
-rw-r--r--. 1 root root 0 7月 1 17:53 123.txt
-rw-r--r--. 1 root root 2301 7月 1 17:02 passwd
drwxr-xr-x. 2 root root 21 7月 1 17:03 test
[root@lpf data]# rm -rf 123.txt
[root@lpf data]# xfsrestore -f /opt/xfs_dump_1 /data -L xfs_dump_1 -M /dev/sdb1
xfsrestore: Restore Status: SUCCESS
[root@lpf data]# ll
总用量 4
-rw-r--r--. 1 root root 0 7月 1 17:53 123.txt
drwxr-xr-x. 2 root root 6 7月 1 17:53 lpf
-rw-r--r--. 1 root root 2301 7月 1 17:02 passwd
drwxr-xr-x. 2 root root 21 7月 1 17:03 test
全删除恢复
[root@lpf data]# rm -rf ./*
[root@lpf data]# xfsrestore -f /opt/xfs_dump_1 /data #恢复增量的部分
[root@lpf data]# xfsrestore -f /opt/xfs_dump /data #恢复全备份的部分
[root@lpf data]# ll
总用量 4
-rw-r--r--. 1 root root 0 7月 1 17:53 123.txt
drwxr-xr-x. 2 root root 6 7月 1 17:53 lpf
-rw-r--r--. 1 root root 2301 7月 1 17:02 passwd
drwxr-xr-x. 2 root root 21 7月 1 17:03 test