3.7. 备份和恢复 XFS 文件系统
XFS 文件系统备份和恢复涉及以下工具:
- 用于创建备份的 xfsdump
- xfsrestore 用于从备份中恢复
3.7.1. XFS 备份和恢复的功能
Backup
您可以使用
xfsdump
工具来:
- 对常规文件镜像执行备份。只能将一个备份写入常规文件。
- 在磁带驱动器中执行备份。
xfsdump
工具还允许您将多个备份写入同一磁带。备份可跨越多个标题。要将多个文件系统备份到单个磁带设备,只需将备份写入已包含 XFS 备份的磁带。这会将新备份附加到上一个备份。默认情况下,xfsdump
不会覆盖现有的备份。 - 创建增量备份。
xfsdump
工具使用 转储级别 来决定其他备份相对的基本备份。从0
到9
的数字指的是增加的转储级别。增量备份只备份自上一次较低级别转储以来发生变化的文件:- 要执行全备份,请在 文件系统中执行 0 级 转储。
- 1 级转储是全备份后的第一个增量备份。下一个增量备份为 2 级,它仅备份自上 1 级转储后更改的文件,以此类推,最多为 9 级。
- 使用大小、子树或 inode 标志从备份中排除文件,以过滤它们。
恢复
xfsrestore 工具从 xfsdump 生成的备份中恢复文件系统。xfsrestore 工具有两种模式:
唯一的 会话 ID 或 会话标签 标识每个备份。从包含多个备份的磁带恢复备份需要相应的会话 ID 或标签。
要从备份中提取、添加或删除特定文件,请输入
xfsrestore
交互模式。交互模式提供了一组命令来操作备份文件。
3.7.2. 备份 XFS 文件系统
这个步骤描述了如何将 XFS 文件系统的内容备份到文件或者磁带中。
过程 3.1. 备份 XFS 文件系统
- 使用以下命令备份 XFS 文件系统:
#
xfsdump -l level [-L label] -f backup-destination path-to-xfs-filesystem- 使用备份的转储级别替换 level。使用
0
执行完整备份,或1
到9
执行后续增量备份。 - 使用您要存储备份的路径替换 backup-destination。目的地可以是常规文件、磁带驱动器或远程磁带设备。例如:用于文件的
/backup-files/Data.xfsdump
,对于磁带驱动器,/dev/st0
。 - 使用您要备份的 XFS 文件系统的挂载点替换 path-to-xfs-filesystem。例如:
/mnt/data/
。文件系统必须挂载。 - 当备份多个文件系统并将其保存到单个磁带设备中时,使用
-L label
选项为每个备份添加一个会话标签,以便在恢复时更容易识别它们。使用备份的任何名称替换 label :例如backup_data
。
例 3.4. 备份多个 XFS 文件系统
- 要备份挂载在
/boot/
和/data/
目录中的 XFS 文件系统的内容,并将其保存为/backup-files/
目录中的文件:#
xfsdump -l 0 -f /backup-files/boot.xfsdump /boot#
xfsdump -l 0 -f /backup-files/data.xfsdump /data - 要备份单个磁带设备中的多个文件系统,请使用
-L label
选项为每个备份添加一个会话标签:#
xfsdump -l 0 -L "backup_boot" -f /dev/st0 /boot#
xfsdump -l 0 -L "backup_data" -f /dev/st0 /data
其它资源
- 有关备份 XFS 文件系统的详情请参考 xfsdump(8) man page。
3.7.3. 从备份中恢复 XFS 文件系统
这个步骤描述了如何从文件或者磁带备份中恢复 XFS 文件系统的内容。
先决条件
- 您需要 XFS 文件系统的文件或者磁带备份,如 第 3.7.2 节 “备份 XFS 文件系统” 所述。
过程 3.2. 从备份中恢复 XFS 文件系统
- 恢复备份的命令因您是从全备份或增量备份中恢复,还是从单个磁带设备恢复多个备份而有所不同:
#
xfsrestore [-r] [-S session-id] [-L session-label] [-i]-f backup-location
restoration-path
- 使用备份位置替换 backup-location。这可以是常规文件、磁带驱动器或远程磁带设备。例如:用于文件的
/backup-files/Data.xfsdump
,对于磁带驱动器,/dev/st0
。 - 使用您要 恢复文件系统的目录的路径替换 restore- path。例如:
/mnt/data/
。 - 要从增量(1 级到 9 级)备份恢复文件系统,请添加
-r
选项。 - 要从包含多个备份的磁带设备恢复备份,请使用
-S
或-L
选项指定备份。-S
允许您通过其会话 ID 选择备份,而-L
则允许您按会话标签选择。要获取会话 ID 和会话标签,请使用 xfsrestore -I 命令。使用备份的会话 ID 替换 session-id。例如,b74a3586-e52e-4a4a-8775-c3334fa8ea2c
。使用备份的会话标签替换 session-label。例如,my_backup_session_label
。 - 要以交互方式使用
xfsrestore
,请使用-i
选项。xfsrestore
完成读取指定设备后,交互式对话框开始。交互式xfsrestore
shell 中的可用命令包括 cd,ls,add,delete, 和 extract; 如需命令的完整列表,请使用 help 命令。
例 3.5. 恢复多个 XFS 文件系统
要恢复 XFS 备份文件,并将其内容保存到
/mnt/
下的目录中:
#
xfsrestore -f /backup-files/boot.xfsdump /mnt/boot/#
xfsrestore -f /backup-files/data.xfsdump /mnt/data/
要从包含多个备份的磁带设备恢复,请使用会话标签或会话 ID 指定每个备份:
#
xfsrestore -f /dev/st0 -L "backup_boot" /mnt/boot/#
xfsrestore -f /dev/st0 -S "45e9af35-efd2-4244-87bc-4762e476cbab" /mnt/data/
从 Tape 恢复备份时的信息性消息
当从带有来自多个文件系统的备份的磁带恢复备份时,
xfsrestore
工具可能会发出信息。当 xfsrestore
按顺序检查磁带上的每个备份时,信息会告知您是否找到了与请求的备份相匹配。例如:
xfsrestore: preparing drive xfsrestore: examining media file 0 xfsrestore: inventory session uuid (8590224e-3c93-469c-a311-fc8f23029b2a) does not match the media header's session uuid (7eda9f86-f1e9-4dfd-b1d4-c50467912408) xfsrestore: examining media file 1 xfsrestore: inventory session uuid (8590224e-3c93-469c-a311-fc8f23029b2a) does not match the media header's session uuid (7eda9f86-f1e9-4dfd-b1d4-c50467912408) [...]
说明性消息会一直显示,直到找到匹配的备份。
其它资源
- 有关恢复 XFS 文件系统的详情请参考 xfsrestore(8) man page。