我正在尝试为 3 个 2TB 外部驱动器创建 5.5TB 数据的一次性快照。数据位于 XFS 分区上,因此逻辑选项似乎是 xfsdump,因为它可以跨多个设备。作为测试,我在其中一个驱动器上创建了一些较小的分区,这样我就可以强制它在几分钟内(而不是几小时)到达驱动器的末尾。外部驱动器包含两个分区,/dev/sde1
和/dev/sde2
,大小均为 256MB。
这是我正在使用的命令:
xfsdump -o -l0 -s daily.0/jones -f /dev/sde2 -p 10 /snaps
系统提示我输入转储和介质标签,然后开始备份。大约 30 秒后,我收到以下消息:
xfsdump:结束媒体文件 xfsdump:媒体文件大小750000128字节 xfsdump:转储大小(非目录文件):728189552 字节 xfsdump:注意:转储中断:已过 27 秒:可以稍后使用 -R 选项恢复 xfsdump:转储状态:中断
这几乎就是我希望看到的,因为它触及了可用空间的末尾/dev/sde2
。
跑步xfsdump -I
看起来也不错:
# xfsdump -I 文件系统 0: 文件系统编号:767465ce-3031-4672-8341-dfb135d8a463 会话 0: 挂载点:broze:/snaps 设备:broze:/dev/mapper/vg0-snaps 时间:2009 年 11 月 3 日星期二 14:23:57 会话标签:“dump1” 会话 ID:531a3622-84af-4767-a54b-a1b11a962dcb 等级:0 恢复:否 子树:是 流:1 流 0: 路径名:/dev/sde2 开始:ino 535 偏移量 0 结束:ino 1260 偏移量 0 打断:是的 媒体文件:1 媒体文件 0: mfile 索引:0 mfile 类型:数据 文件大小:750000128 mfile 开始:ino 535 偏移量 0 mfile 结束:ino 1260 偏移量 0 媒体标签:“drive1” 媒体 ID:721c35ba-e844-47f8-8692-0d3122d88093 xfsdump:转储状态:成功
似乎表明我应该能够恢复备份。但是,如果我使用标志运行 xfsdump-R
并指定要备份到的新设备,我得到的结果是:
# xfsdump -R -o -l0 -s daily.0/jones -f /dev/sde1 -p 10 /snaps xfsdump:使用文件转储(drive_simple)策略 xfsdump:版本 2.2.45(转储格式 3.0)- 运行单线程 ============================== 转储标签对话框 =============================== 请输入此转储会话的标签(300 秒内超时) -> 转储1.contd 输入的会话标签:“dump1.contd” --------------------------------- 结束对话 --------------------------------- xfsdump:错误:恢复(-R)选项不合适:没有中断的 0 级转储可以恢复 xfsdump:转储状态:错误
该/dev/sde2
分区确实似乎包含有效(如果不完整)的备份,因为我可以使用 xfsrestore 命令从中恢复。
知道如何让 xfsdump 跨越多个设备吗?有没有更好的方法来实现这一点,而无需手动尝试将数据划分为 2TB 块?
谢谢!
答案1
这很棘手。首先,如果可能的话,我不建议这样做。其次,最好只备份分块的数据,而不是备份文件系统。但是,如果您必须将其备份为一个连续的文件系统,我想您可以创建一个跨越三个驱动器的 lvm2 卷作为某种虚拟容器,然后将整个东西 dd/xfsdump 到其中。不确定这是否是一种合理的方法,但它应该有效。:)
祝你好运
答案2
经过一番争论,我还是无法让 xfsdump 解决方案发挥作用。所以我做了我本应该做的事情:tar。
tar-cvM-L 1953383400-f /mnt/backup1.tar.
文件系统备份到 中安装的驱动器上的 tarball 中/mnt/
。添加-M
标志会告诉 tar 它将创建一个多卷存档。该-L
标志会告诉它每个卷的大小。当备份达到该大小时,tar 会暂停并礼貌地请求新的卷:
为“backup1.tar”准备卷#2并按回车键:
点击后?
会出现一个选项菜单:
为“backup1.tar”准备卷#2并按回车键:? n name 为下一个(及后续)卷指定一个新文件名 q 中止 tar y 或换行符 继续操作 ! 生成一个子 shell ? 打印此列表 为“backup1.tar”准备卷#2并按回车键:
因此我卸载外部驱动器,连接下一个驱动器,安装它,n backup2.tar
在提示符下输入,然后备份继续。
好老焦油。
答案3
我测试了与您在此处使用的用例基本相同的用例,除了转储到文件之外,它没有任何问题。我怀疑您的使用没有问题,但还有其他问题。这可能不是最好的论坛,但我发现 XFS 邮件列表和 Freenode 网络上的 #xfs IRC 频道上的开发人员非常有帮助。