如何验证 XFS 转储备份

如何验证 XFS 转储备份

我最近遇到了硬盘崩溃。现在我正在使用 XFS 的转储工具设置增量备份。

我的设置是将转储存入文件(而不是块设备),我的计划是每月或每两个月进行一次 l0 转储,每周进行一次 l1 转储,每天进行一次 l2 转储。

所以我正在运行的命令如下:

 sudo xfsdump -f backups  -l0 -p5 -L `date +%y-%m-%d` -M 'backup' /
 sudo xfsdump -f `date +%y-%m-%d-l1` -l1 -p5 -L `date +%y-%m-%d-l1` -M 'backup' /

现在,我的主要问题是:对我来说,验证备份是否有效的最好方法是什么 此外,如何删除已删除文件的备份清单中的条目,因为当我摆弄备份工具时,我在文件中创建了一些备份,然后删除了这些文件。

答案1

尝试从中恢复单个文件,看看会发生什么。如果成功,那么可以肯定备份没有问题。请注意,这并不是 100% 正确。

验证这一点的唯一方法是进行完全恢复,然后(如果可能)将恢复的文件与备份的文件进行比较.....在更改的文件系统上很难做到。

答案2

我强烈建议你这样做不是使用 xfsbackup 进行常规备份。将任何内容塞入单个文件内的备份工具通常容易出现单一致命错误,其中基本文件或增量步骤中的问题会导致您的备份无用。

Rsync / Rsnapshot 是完成此类工作更好的工具,尤其是考虑到它们为您提供了一个“实时”快照目录,其中不一致最多仅限于某个文件,但它们无法破坏整个备份。此外,使用硬链接,您可以进行增量备份,而不会带来相关不便。

答案3

您可以使用工具 xfsinvutil 以交互方式或从脚本中删除清单中的旧条目。xfsinvutil
-F -s SessionID - 这将删除具有特定 SessionID 的条目
xfsinvutil -F -M mount_point mm/dd/yyyy - 修剪由给定挂载点标识的在指定日期之前创建的转储会话
xfsinvutil -F -u UUID mm/dd/yyyy - 类似但带有 UUID
xfsinvutil -i - 交互模式
要获取 SessionID、UUID 等,请运行 xfsdump -I | more
有关更多详细信息,请参阅手册页:man xfsinvutil、man xfsdump。xfsinvutil
位于 xfsdump.rpm 中,并位于 CentOS7 的基本存储库中。

相关内容