1、磁盘基础
-
数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据
磁道:同一盘片不同半径的同心圆
柱面:不同盘片相同半径构成的圆柱面
-
物理结构
盘片:硬盘有多个盘片,每盘片2面
磁头:每面一个磁头
-
存储容量(了解)
硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
-
磁盘接口类型
IDE、SATA、SCSI、SAS、光纤通道
2、磁盘分区表示
-
MBR MBR是主引导记录(Master Boot Record)
位于硬盘的第一个物理扇区处。
MBR中包含硬盘的主引导程序和硬盘分区表。
分区表有4个分区记录区,每个分区记录区占16个字节。
/dev/sda5 /dev/hda2
说明:
/dev 是硬件设备的文件所在的目录
sd表示是SCSI设备,hd表示IDE 设备
a表示硬盘的顺序号,以a,b,c依次排序
5表示分区的顺序号,以1,2,3排序
-
磁盘分区的结构 常见的硬盘可分为主分区,扩展分区和逻辑分区。
一块硬盘有可能全部都是主分区,最多4个。
主分区加扩展分区最多4个。
扩展分区里分逻辑分区,扩展分区是外壳不存在数据,数据主要存于逻辑分区内。
-
文件系统类型
-
XFS
文件系统 存放文件和目录数据的分区 高性能的日志型文件系统CentOS7
系统中默认使用的文件系统 -
SWAP
,交换文件系统 为Linux系统建立交换分区 -
Linux
支持的其它文件系统类型 FAT16、FAT32、NTFS EXT4、JFS…
-
3、管理磁盘分区
1、添加并检查确认新的磁盘
2、重启后查看当前系统中所有硬盘设备及其分区的情况
[root@fishman-160 ~]# fdisk -l
Disk /dev/sda:100 GiB,107374182400 字节,209715200 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc5866073
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 6293503 4194304 2G 82 Linux swap / Solaris
/dev/sda3 6293504 111147007 104853504 50G 83 Linux
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
3 、规划硬盘中的分区
硬盘中创建删除更改分区使用fdisk命令,可以进入交互式设置页面
[root@fishman-160 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0xedb746cd 的新 DOS 磁盘标签。
命令(输入 m 获取帮助):n #添加新分区
分区类型
p 主分区 (0个主分区,0个扩展分区,4空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p #打印现分区
分区号 (1-4, 默认 1): 1
第一个扇区 (2048-41943039, 默认 2048): +1G #此处需回车
值超出范围。
第一个扇区 (2048-41943039, 默认 2048):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): +1G #创建1G分区,指定分区大小
创建了一个新分区 1,类型为“Linux”,大小为 1 GiB。
命令(输入 m 获取帮助):p #再次打印
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xedb746cd
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 2099199 2097152 1G 83 Linux
命令(输入 m 获取帮助):w #w保存
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
[root@fishman-160 ~]# ls /dev/sd
sda sda1 sda2 sda3 sdb sdb1 #sdb1 就是创建的scsi的第二块(第一块a,第二块b)磁盘,顺序序号1
4、创建文件系统
1、mkfs命令
[root@fishman-160 ~]# mkfs /dev/sdb1
mke2fs 1.45.6 (20-Mar-2020)
创建含有 262144 个块(每块 4k)和 65536 个inode的文件系统
文件系统UUID:67b68909-2f1a-4130-a48d-5d7e8bd174f3
超级块的备份存储于下列块:
32768, 98304, 163840, 229376
正在分配组表: 完成
正在写入inode表: 完成
写入超级块和文件系统账户统计信息: 已完成
centos7,8系统中默认使用xfs文件系统
2、mkfs -t xfs 分区设备(xfs分区)
[root@fishman-160 ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0 inobtcount=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
3、查看系统所有分区和分区类型
blkid
[root@fishman-160 ~]# blkid
/dev/sda1: UUID="627e70f9-0231-4474-bfd5-45b509a672da" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="c5866073-01"
/dev/sda2: UUID="46d0c215-3841-4a96-aa8f-53574afc8b8d" TYPE="swap" PARTUUID="c5866073-02"
/dev/sda3: UUID="75bbfbae-a006-489e-95ee-214aa24d94ff" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="c5866073-03"
/dev/sdb1: UUID="3344ab3e-ef9a-419d-9270-9ee30748f603" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="edb746cd-01"
/dev/sr0: BLOCK_SIZE="2048" UUID="2023-07-04-04-46-23-00" LABEL="CentOS-Stream-8-BaseOS-x86_64" TYPE="iso9660" PTUUID="37a85945" PTTYPE="dos"
lsblk -f
[root@fishman-160 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 50G 0 part /
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 1G 0 part
sr0 11:0 1 950M 0 rom
[root@fishman-160 ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 627e70f9-0231-4474-bfd5-45b509a672da /boot
├─sda2 swap 46d0c215-3841-4a96-aa8f-53574afc8b8d [SWAP]
└─sda3 xfs 75bbfbae-a006-489e-95ee-214aa24d94ff /
sdb
└─sdb1 xfs 3344ab3e-ef9a-419d-9270-9ee30748f603
sr0 iso9660 CentOS-Stream-8-BaseOS-x86_64 2023-07-04-04-46-23-00
4、挂载磁盘(临时)
[root@fishman-160 ~]# ls
公共 模板 视频 图片 文档 下载 音乐 桌面 anaconda-ks.cfg initial-setup-ks.cfg nework
[root@fishman-160 ~]# mkdir test #创建目录test
[root@fishman-160 ~]# mount /dev/sdb1 ./test #挂载到test目录下
[root@fishman-160 ~]# cd /test
-bash: cd: /test: 没有那个文件或目录
[root@fishman-160 ~]# mount /dev/sdb1 /test
mount: /test: mount point does not exist.
[root@fishman-160 ~]# ls
公共 模板 视频 图片 文档 下载 音乐 桌面 anaconda-ks.cfg initial-setup-ks.cfg nework test
[root@fishman-160 ~]# cd test
5、检查挂载情况
df -h #-h:方便人阅读方式显示。
[root@fishman-160 test]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 942M 0 942M 0% /dev
tmpfs 970M 0 970M 0% /dev/shm
tmpfs 970M 9.3M 961M 1% /run
tmpfs 970M 0 970M 0% /sys/fs/cgroup
/dev/sda3 50G 6.3G 44G 13% /
/dev/sda1 1014M 242M 773M 24% /boot
tmpfs 194M 12K 194M 1% /run/user/42
tmpfs 194M 4.0K 194M 1% /run/user/0
/dev/sdb1 1014M 40M 975M 4% /root/test# 挂载成功
df -T #-T:显示文件系统类型
[root@fishman-160 test]# df -T
文件系统 类型 1K-块 已用 可用 已用% 挂载点
devtmpfs devtmpfs 963860 0 963860 0% /dev
tmpfs tmpfs 992896 0 992896 0% /dev/shm
tmpfs tmpfs 992896 9500 983396 1% /run
tmpfs tmpfs 992896 0 992896 0% /sys/fs/cgroup
/dev/sda3 xfs 52401156 6545628 45855528 13% /
/dev/sda1 xfs 1038336 247700 790636 24% /boot
tmpfs tmpfs 198576 12 198564 1% /run/user/42
tmpfs tmpfs 198576 4 198572 1% /run/user/0
/dev/sdb1 xfs 1038336 40296 998040 4% /root/test
# /boot 分区如果是ext4的文件系统类型,boot分区不能执行xfs备份
文件系统的一个使用流程:
存储介质选择---》硬盘分区操作;创建分区来容纳文件系统(创建分区,这个分区可以是整个硬盘也可以是部分硬盘)----》创建文件系统(我们在存储数据之前,你必须使用文件系统对其分区进行格式化)----》把它挂载到虚拟目录----》写入配置文件/etc/fstab
5、 xfs完整备份
xfsdump -f 目标地址 源地址
[root@fishman-160 test]# xfsdump -f /opt/dump_sdb1 /dev/sdb1
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.8 (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" #这个提示要求你为当前的备份会话设置一个标签(label)。备份会话标签可以用来识别和区分不同的备份。你可以输入一个描述性的名称或标签,以便在以后的恢复或管理过程中识别备份。在超过300秒(5分钟)没有输入标签时,程序将自动继续执行。
--------------------------------- end dialog ---------------------------------
xfsdump: level 0 dump of fishman-160:/root/test
xfsdump: dump date: Mon Jul 10 14:17:21 2023
xfsdump: session id: 497a4634-ffe4-4b7e-987a-8b068fd6f15f
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
============================= media label dialog =============================
please enter label for media in drive 0 (timeout in 300 sec)
-> sdb1
media label entered: "sdb1" #这个提示要求你为备份介质(如磁带或其他存储介质)在第一个驱动器中设置一个标签。类似于上述情况,这个标签用于识别和区分备份介质。你可以输入一个适合的名称或标签。如果超过300秒没有输入标签,程序将继续执行。
--------------------------------- 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 26072 bytes
xfsdump: dump size (non-dir files) : 3104 bytes
xfsdump: dump complete: 60 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /opt/dump_sdb1 OK (success)
xfsdump: Dump Status: SUCCESS
免交互方式
xfsdump -f <备份文件> -L <日志文件> -M <媒体文件>
[root@fishman-160 test]# xfsdump -f /opt/dump_sdb1_v2 /root/test -L dump_sdb1_v2 -M sdb1_is_bigdata
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.8 (dump format 3.0) - type ^C for status and control
xfsdump: level 0 dump of fishman-160:/root/test
xfsdump: dump date: Mon Jul 10 14:31:49 2023
xfsdump: session id: 9156a321-724d-4f89-bf24-646516918167
xfsdump: session label: "dump_sdb1_v2"
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: 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 26072 bytes
xfsdump: dump size (non-dir files) : 3104 bytes
xfsdump: dump complete: 0 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /opt/dump_sdb1_v2 OK (success)
xfsdump: Dump Status: SUCCESS
指定备份某个目录
xfsdump -f <备份文件> -s <子树路径> -L <日志文件> -M <媒体文件>
[root@fishman-160 test]# xfsdump -f /opt/dump_xuegod_v1 -s xuegod ~/test -L dump_xuegod_v1 -M sdb1_xuegod
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.8 (dump format 3.0) - type ^C for status and control
xfsdump: level 0 dump of fishman-160:/root/test
xfsdump: dump date: Mon Jul 10 14:40:01 2023
xfsdump: session id: 18c66ee5-5872-4662-96f1-5d91feed5ece
xfsdump: session label: "dump_xuegod_v1"
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: 21440 bytes
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 22344 bytes
xfsdump: dump size (non-dir files) : 0 bytes
xfsdump: dump complete: 0 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /opt/dump_xuegod_v1 OK (success)
xfsdump: Dump Status: SUCCESS
查看备份情况
查看具体备份信息
[root@fishman-160 test]# xfsdump -I | more
file system 0:
fs id: 3344ab3e-ef9a-419d-9270-9ee30748f603
session 0:
mount point: fishman-160:/root/test
device: fishman-160:/dev/sdb1
time: Mon Jul 10 14:17:21 2023
session label: "dump_sdb1"
session id: 497a4634-ffe4-4b7e-987a-8b068fd6f15f
level: 0
resumed: NO
subtree: NO
streams: 1
stream 0:
pathname: /opt/dump_sdb1
start: ino 131 offset 0
end: ino 134 offset 0
interrupted: NO
恢复备份
xfsrestore -f <备份文件> -s <子树路径> <恢复目录>
[root@fishman-160 ~]# xfsrestore -f /opt/dump_sdb1 -s xuegod ~/test
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.8 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description:
xfsrestore: hostname: fishman-160
xfsrestore: mount point: /root/test
xfsrestore: volume: /dev/sdb1
xfsrestore: session time: Mon Jul 10 14:17:21 2023
xfsrestore: level: 0
xfsrestore: session label: "dump_sdb1"
xfsrestore: media label: "sdb1"
xfsrestore: file system id: 3344ab3e-ef9a-419d-9270-9ee30748f603
xfsrestore: session id: 497a4634-ffe4-4b7e-987a-8b068fd6f15f
xfsrestore: media id: 6f27a3cc-d796-453c-a728-abbb2385827e
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 2 directories and 3 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore: stream 0 /opt/dump_sdb1 OK (success)
xfsrestore: Restore Status: SUCCESS
[root@fishman-160 ~]# ls /test
ls: 无法访问'/test': 没有那个文件或目录
[root@fishman-160 ~]# ls
公共 模板 视频 图片 文档 下载 音乐 桌面 anaconda-ks.cfg initial-setup-ks.cfg nework test
[root@fishman-160 ~]# ls test
xuegod
6、xfs增量备份
在XFS文件系统中,增量备份和差异备份是两种不同的备份方式:
-
增量备份(Incremental Backup):增量备份只备份自上次完整备份或增量备份以来发生更改的数据。它只备份新增或修改的文件和块,而不备份已存在且未更改的文件和块。增量备份速度较快,但恢复时需要进行完整备份和所有增量备份的逐个恢复。
-
差异备份(Differential Backup):差异备份备份自上次完整备份以来发生更改的数据,但与增量备份不同的是,它不考虑上次差异备份的时间点,而是相对于上次完整备份的时间点。因此,差异备份会备份所有新增或修改的文件和块,而不仅仅是自上次差异备份以来的更改。差异备份速度较慢,但恢复时只需要进行完整备份和最近的差异备份的恢复。
总结:
-
增量备份只备份自上次备份以来的更改数据,恢复时需要逐个恢复完整备份和增量备份。
-
差异备份备份自上次完整备份以来的更改数据,恢复时只需要逐个恢复完整备份和最近的差异备份。
root@fishman-160 test]# xfsdump -f /opt/test_full /root/test -L test_bak1 -M sdb1 #第一次全量备份
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.8 (dump format 3.0) - type ^C for status and control
xfsdump: level 0 dump of fishman-160:/root/test
xfsdump: dump date: Mon Jul 10 15:40:37 2023
xfsdump: session id: 1729ce71-8648-438c-a040-c0950841eda9
xfsdump: session label: "test_bak1"
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: 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 26072 bytes
xfsdump: dump size (non-dir files) : 3104 bytes
xfsdump: dump complete: 0 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /opt/test_full OK (success)
xfsdump: Dump Status: SUCCESS
[root@fishman-160 test]# touch xuegod/1.txt xuegod/2.txt xuegod/3.mp4 #创建一些新文件
[root@fishman-160 test]# ls /xuegod
ls: 无法访问'/xuegod': 没有那个文件或目录
[root@fishman-160 test]# ls ./xuegod/
1.txt 2.txt 3.mp4 a
[root@fishman-160 test]# xfsdump -l 1 -f /opt/test_bak2 /root/test -L test-bak2 -M sdb1 #L1增量备份
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.8 (dump format 3.0) - type ^C for status and control
xfsdump: level 1 incremental dump of fishman-160:/root/test based on level 0 dump begun Mon Jul 10 15:40:37 2023
xfsdump: dump date: Mon Jul 10 15:43:47 2023
xfsdump: session id: cc5118a0-f646-4f8d-8c07-8c117bf74b15
xfsdump: session label: "test-bak2"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: pruning unneeded subtrees
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 22080 bytes
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 23664 bytes
xfsdump: dump size (non-dir files) : 0 bytes
xfsdump: dump complete: 0 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /opt/test_bak2 OK (success)
xfsdump: Dump Status: SUCCESS
恢复完整和增量备份
[root@fishman-160 test]# xfsrestore -f /opt/test_full /root/test #第一次恢复,恢复初始全备份
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.8 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description:
xfsrestore: hostname: fishman-160
xfsrestore: mount point: /root/test
xfsrestore: volume: /dev/sdb1
xfsrestore: session time: Mon Jul 10 15:40:37 2023
xfsrestore: level: 0
xfsrestore: session label: "test_bak1"
xfsrestore: media label: "sdb1"
xfsrestore: file system id: 3344ab3e-ef9a-419d-9270-9ee30748f603
xfsrestore: session id: 1729ce71-8648-438c-a040-c0950841eda9
xfsrestore: media id: f2c92643-b9cc-4f2f-bf69-83660c3887da
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 2 directories and 3 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore: stream 0 /opt/test_full OK (success)
xfsrestore: Restore Status: SUCCESS
[root@fishman-160 test]# tree #xuegod目录中只有a文件
.
├── passwd
└── xuegod
└── a
[root@fishman-160 test]# xfsrestore -f /opt/test_bak2 /root/test #第二次,执行增量恢复
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.8 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description:
xfsrestore: hostname: fishman-160
xfsrestore: mount point: /root/test
xfsrestore: volume: /dev/sdb1
xfsrestore: session time: Mon Jul 10 15:43:47 2023
xfsrestore: level: 1
xfsrestore: session label: "test-bak2"
xfsrestore: media label: "sdb1"
xfsrestore: file system id: 3344ab3e-ef9a-419d-9270-9ee30748f603
xfsrestore: session id: cc5118a0-f646-4f8d-8c07-8c117bf74b15
xfsrestore: media id: 8491bed0-71db-4df8-9743-1b888059f598
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 2 directories and 6 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore: stream 0 /opt/test_bak2 OK (success)
xfsrestore: Restore Status: SUCCESS
[root@fishman-160 test]# tree #恢复成功增量部分
.
├── passwd
└── xuegod
├── 1.txt
├── 2.txt
├── 3.mp4
└── a
标签:xfsrestore,dump,备份,系统,文件系统,test,xfsdump,磁盘,root
From: https://www.cnblogs.com/kcloveworld/p/17984387