xfs文件系统的备份和恢复

首先了解一下xfsdump的备份级别有以下两种:0,代表完整备份;1~9,代表增量备份。默认为0(即完全备份)。
备份
先确定/boot是独立文件系统

# df -h /boot/
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1      1014M  146M  869M  15% /boot
# yum -y install xfsdump

全备文件系统

# xfsdump -l 0 -L boot_all -M boot_all -f /srv/boot.dump /boot
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsdump: level 0 dump of localhost.localdomain:/boot
xfsdump: dump date: Sun Mar 22 14:04:00 2020
xfsdump: session id: 05f1d5dc-b2dc-4dcb-a02f-bdc6a27a60d1
xfsdump: session label: "boot_all"
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: 118228544 bytes
xfsdump: /var/lib/xfsdump/inventory created
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 117895032 bytes
xfsdump: dump size (non-dir files) : 117662128 bytes
xfsdump: dump complete: 3 seconds elapsed
xfsdump: Dump Summary:
xfsdump:   stream 0 /srv/boot.dump OK (success)
xfsdump: Dump Status: SUCCESS
# ll /srv/
total 115132
-rw-r--r--. 1 root root    117895032 Mar 22 14:04 boot.dump

备份后会有文件产生:

# ll /var/lib/xfsdump/inventory/
total 16
-rw-r--r--. 1 root root  312 Mar 22 14:04 7e3c8d7e-bed2-43b3-8014-36cc39aad1c9.InvIndex
-rw-r--r--. 1 root root 5080 Mar 22 14:04 ebc8b723-ae66-42ec-a4c1-2577d5b06113.StObj
-rw-r--r--. 1 root root  576 Mar 22 14:04 fstab

进行增量备份:
查看是否有文件系统被dump过

# xfsdump -I
file system 0:
	fs id:		7e3c8d7e-bed2-43b3-8014-36cc39aad1c9
	session 0:
		mount point:	localhost.localdomain:/boot
		device:		localhost.localdomain:/dev/sda1
		time:		Sun Mar 22 14:04:00 2020
		session label:	"boot_all"
		session id:	05f1d5dc-b2dc-4dcb-a02f-bdc6a27a60d1
		level:		0
		resumed:	NO
		subtree:	NO
		streams:	1
		stream 0:
			pathname:	/srv/boot.dump
			start:		ino 69 offset 0
			end:		ino 1572934 offset 0
			interrupted:	NO
			media files:	1
			media file 0:
				mfile index:	0
				mfile type:	data
				mfile size:	117895032
				mfile start:	ino 69 offset 0
				mfile end:	ino 1572934 offset 0
				media label:	"boot_all"
				media id:	785b8a80-9731-4fb6-a507-916148d55515
xfsdump: Dump Status: SUCCESS

产生一个文件:

# dd if=/dev/zero of=/boot/test.img bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.102524 s, 102 MB/s

创建差异备份:

# xfsdump -l 1 -L boot_2 -M boot_2 -f /srv/boot.dump1 /boot
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsdump: WARNING: most recent level 1 dump was interrupted, but not resuming that dump since resume (-R) option not specified
xfsdump: level 1 incremental dump of localhost.localdomain:/boot based on level 0 dump begun Sun Mar 22 14:04:00 2020
xfsdump: dump date: Sun Mar 22 14:10:05 2020
xfsdump: session id: 62b554c6-e17b-454f-b75a-684b8cfba2da
xfsdump: session label: "boot_2"
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: 10506880 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 10510952 bytes
xfsdump: dump size (non-dir files) : 10488352 bytes
xfsdump: dump complete: 0 seconds elapsed
xfsdump: Dump Summary:
xfsdump:   stream 0 /srv/boot.dump1 OK (success)
xfsdump: Dump Status: SUCCESS

查看是否有记录level 1时间点

# xfsdump -I
file system 0:
	fs id:		7e3c8d7e-bed2-43b3-8014-36cc39aad1c9
	session 0:
		mount point:	localhost.localdomain:/boot
		device:		localhost.localdomain:/dev/sda1
		time:		Sun Mar 22 14:04:00 2020
		session label:	"boot_all"
		session id:	05f1d5dc-b2dc-4dcb-a02f-bdc6a27a60d1
		level:		0
		resumed:	NO
		subtree:	NO
		streams:	1
		stream 0:
			pathname:	/srv/boot.dump
			start:		ino 69 offset 0
			end:		ino 1572934 offset 0
			interrupted:	NO
			media files:	1
			media file 0:
				mfile index:	0
				mfile type:	data
				mfile size:	117895032
				mfile start:	ino 69 offset 0
				mfile end:	ino 1572934 offset 0
				media label:	"boot_all"
				media id:	785b8a80-9731-4fb6-a507-916148d55515
	session 1:
		mount point:	localhost.localdomain:/boot
		device:		localhost.localdomain:/dev/sda1
		time:		Sun Mar 22 14:09:45 2020
		session label:	"boot_2"
		session id:	4830eb06-2f41-4534-9adf-1b886c2ae58f
		level:		1
		resumed:	NO
		subtree:	NO
		streams:	1
		stream 0:
			pathname:	/srv/boot.dump
			start:		ino 0 offset 0
			end:		ino 0 offset 0
			interrupted:	YES
			media files:	0
	session 2:
		mount point:	localhost.localdomain:/boot
		device:		localhost.localdomain:/dev/sda1
		time:		Sun Mar 22 14:10:05 2020
		session label:	"boot_2"
		session id:	62b554c6-e17b-454f-b75a-684b8cfba2da
		level:		1
		resumed:	NO
		subtree:	NO
		streams:	1
		stream 0:
			pathname:	/srv/boot.dump1
			start:		ino 79 offset 0
			end:		ino 80 offset 0
			interrupted:	NO
			media files:	1
			media file 0:
				mfile index:	0
				mfile type:	data
				mfile size:	10510952
				mfile start:	ino 79 offset 0
				mfile end:	ino 80 offset 0
				media label:	"boot_2"
				media id:	00d1fcb3-31ba-4d24-81e0-a41d18cb8141
xfsdump: Dump Status: SUCCESS

还原:

查看备份

# xfsrestore -I
file system 0:
	fs id:		7e3c8d7e-bed2-43b3-8014-36cc39aad1c9
	session 0:
		mount point:	localhost.localdomain:/boot
		device:		localhost.localdomain:/dev/sda1
		time:		Sun Mar 22 14:04:00 2020
		session label:	"boot_all"
		session id:	05f1d5dc-b2dc-4dcb-a02f-bdc6a27a60d1
		level:		0
		resumed:	NO
		subtree:	NO
		streams:	1
		stream 0:
			pathname:	/srv/boot.dump
			start:		ino 69 offset 0
			end:		ino 1572934 offset 0
			interrupted:	NO
			media files:	1
			media file 0:
				mfile index:	0
				mfile type:	data
				mfile size:	117895032
				mfile start:	ino 69 offset 0
				mfile end:	ino 1572934 offset 0
				media label:	"boot_all"
				media id:	785b8a80-9731-4fb6-a507-916148d55515
	session 1:
		mount point:	localhost.localdomain:/boot
		device:		localhost.localdomain:/dev/sda1
		time:		Sun Mar 22 14:09:45 2020
		session label:	"boot_2"
		session id:	4830eb06-2f41-4534-9adf-1b886c2ae58f
		level:		1
		resumed:	NO
		subtree:	NO
		streams:	1
		stream 0:
			pathname:	/srv/boot.dump
			start:		ino 0 offset 0
			end:		ino 0 offset 0
			interrupted:	YES
			media files:	0
	session 2:
		mount point:	localhost.localdomain:/boot
		device:		localhost.localdomain:/dev/sda1
		time:		Sun Mar 22 14:10:05 2020
		session label:	"boot_2"
		session id:	62b554c6-e17b-454f-b75a-684b8cfba2da
		level:		1
		resumed:	NO
		subtree:	NO
		streams:	1
		stream 0:
			pathname:	/srv/boot.dump1
			start:		ino 79 offset 0
			end:		ino 80 offset 0
			interrupted:	NO
			media files:	1
			media file 0:
				mfile index:	0
				mfile type:	data
				mfile size:	10510952
				mfile start:	ino 79 offset 0
				mfile end:	ino 80 offset 0
				media label:	"boot_2"
				media id:	00d1fcb3-31ba-4d24-81e0-a41d18cb8141
xfsrestore: Restore Status: SUCCESS

还原至/tmp/boot

# mkdir /tmp/boot
# xfsrestore -f /srv/boot.dump -L boot_all /tmp/boot
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: examining media file 0
xfsrestore: reading directories
xfsrestore: 9 directories and 324 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 2 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore:   stream 0 /srv/boot.dump OK (success)
xfsrestore: Restore Status: SUCCESS

未还原增量备份:

# diff -r /boot /tmp/boot
Only in /boot: test.img

仅还原备份中间中grub2:

# mkdir /tmp/boot1

还原操作

# xfsrestore -f /srv/boot.dump -L boot_all -s grub2 /tmp/boot1
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: examining media file 0
xfsrestore: reading directories
xfsrestore: 9 directories and 324 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore:   stream 0 /srv/boot.dump OK (success)
xfsrestore: Restore Status: SUCCESS

# ll /tmp/boot1/
total 0
drwx------. 5 root root 97 Jun 17  2019 grub2

还原增量备份:

# xfsrestore -f /srv/boot.dump1 /tmp/boot
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (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: localhost.localdomain
xfsrestore: mount point: /boot
xfsrestore: volume: /dev/sda1
xfsrestore: session time: Sun Mar 22 14:10:05 2020
xfsrestore: level: 1
xfsrestore: session label: "boot_2"
xfsrestore: media label: "boot_2"
xfsrestore: file system id: 7e3c8d7e-bed2-43b3-8014-36cc39aad1c9
xfsrestore: session id: 62b554c6-e17b-454f-b75a-684b8cfba2da
xfsrestore: media id: 00d1fcb3-31ba-4d24-81e0-a41d18cb8141
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 1 directories and 13 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore:   stream 0 /srv/boot.dump1 OK (success)
xfsrestore: Restore Status: SUCCESS

完全还原了:

# diff -r /boot /tmp/boot
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当Linux系统中的XFS文件系统误删除文件并且没有备份时,有几种方法可以尝试恢复丢失的文件。 首先,使用一些文件恢复工具可以尝试从未使用的磁盘空间中恢复被删除的文件。有一些工具如TestDisk、PhotoRec等,它们可以扫描磁盘,并通过识别文件的签名来恢复被删除的文件。它们可以在终端中运行,并且通常可以免费获取。 其次,可以尝试使用XFS文件系统自带的一些工具来恢复误删除的文件。XFS文件系统提供了一些工具如xfs_restore、xfs_ls、xfs_quota等,它们可以帮助用户查找和恢复被删除的文件。通过这些工具,用户可以在文件系统中搜索并找回之前删除的文件。 另外,还可以考虑使用数据恢复服务来找回被误删除的文件。这些服务通常需要费用,并且可能需要将受损的磁盘发送给专业的数据恢复公司。这些专业的公司有着更高级的设备和技术,可以尝试从磁盘中恢复丢失的数据。 最后,鉴于误删除文件可能会导致数据的永久丢失,因此在使用Linux系统时,定期进行数据备份非常重要。通过定期备份,即使误删除了文件,也可以从备份恢复数据,减少数据损失风险。 总之,虽然在Linux系统中误删除文件且没有备份恢复是一项具有挑战性的任务,但仍然有一些方法可以尝试恢复丢失的文件。无论采取哪种方法,都应该牢记数据备份的重要性,以避免类似情况的再次发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值