BTRFS:找不到父子卷

BTRFS:找不到父子卷

我正在尝试将快照发送到我的备份服务器。但每次我尝试进行增量备份时,我都会收到以下错误消息(-c 也会发生同样的情况):

btrfs send -p /backup/test/backup-2020-05-05_16-0 /backup/test/snapshots/backup-2020-05-05_16-1 | ssh myIP "btrfs receive /backup/test/snapshots/"
At subvol /backup/test/snapshots/backup-2020-05-05_16-1
ERROR: cannot find parent subvolume
At snapshot backup-2020-05-05_16-1


ID 325 gen 5492 top level 264 path test/snapshots/backup-2020-05-05_16-0
ID 329 gen 5496 top level 264 path test/snapshots/backup-2020-05-05_16-1

我做错了什么吗?

答案1

因为它btrfs receive正在输出ERROR: cannot find parent subvolume,这意味着虽然存在于发送方,但接收方文件系统上缺少 UUID(请参阅邮件列表回复)。

您在父级中混合了时间戳和旋转数backup-2020-05-05_16-0。如果接收方的号码后缀-0与发送方的号码后缀内容不同,则这就是失败原因。

btrfs subvol show会输出Received UUID接收方目录的 a,比较双方同名目录的 UUID,发送方的 UUID 应该与接收方的 Received UUID 匹配。

脚本应避免快照目录中出现任意数字,并使用微秒时间戳或附加哈希/uuid 本身来帮助审核。使用管道时,不清楚消息来自哪里,因此稍微详细一点的错误消息也有助于确定消息的来源。

相关内容