Restic: 树e5457a72:文件“ XX”:元数据大小(8770356)和Blob大小之和(8770808)不匹配

创建于 2018-05-22  ·  5评论  ·  资料来源: restic/restic

你好

刚刚更新到restic 0.9,发现restic现在报告了我现有存储库的错误(对于0.8.3来说还可以,并且升级后未更改):

error for tree e5457a72: tree e5457a72: file "mail.err": metadata size (1085858) and sum of blob sizes (1085966) do not match tree e5457a72: file "mail.info": metadata size (8770356) and sum of blob sizes (8770808) do not match tree e5457a72: file "mail.log": metadata size (8770356) and sum of blob sizes (8770808) do not match tree e5457a72: file "mail.warn": metadata size (1091226) and sum of blob sizes (1091334) do not match
备份正在运行时,文件可能已更改。

restic version

restic 0.9.0 compiled with go1.10.2 on linux/amd64

您是如何精确地休息的?

restic check

您使用什么后端/服务器/服务来存储存储库?

本地目录和其余服务器

预期行为

我知道restic无法做任何事情来确保备份是一致的(例如,一些从属文件具有匹配的内容)。

但是我很确定restic应该确保在这种情况下它自己的存储库是一致的(存储库元数据应该与存储库数据匹配)。 如果在调用stat但在读取整个文件之前向文件追加了内容,则restic可能只读取达到预期的文件大小,或者仅使用实际读取的字节数更新元数据。

PS。 此问题可能已在0.9上修复,并且对于新快照不会发生。
但是不幸的是, restic rebuild-index不能修复它。

0.9.0 bug

最有用的评论

我同意,这应该是警告,或者根本不显示。 用户无法(或不需要)做任何事情。

这是旧存档程序代码中的错误,当Restic读取文件时将文件追加到仓库时,它将错误的大小写入仓库。 新的存档器不会这样做,其他所有功能都可以正常工作(它们只使用正确的大小,即文件块的总和)。

所有5条评论

我正要打开与您@dionorgua完全相同的问题,您在11分钟之前击败了我。 :+1:

我的存储库中存在相同的错误(请参阅下文),并分享了这些错误不应该是错误的感觉,restic应该妥善处理。 备份软件无法对其下的文件进行任何更改,除了警告它在备份过程中发生以外,其他任何操作都无法进行。 但是后来,当运行check ,这些应该不是错误,甚至不会再次报告?

v0.9.0检查的结果在v0.8.3不会报告任何错误的存储库上运行。

check snapshots, trees and blobs
error for tree c1c7286d:
  tree c1c7286d: file "panacea.dat": metadata size (5975885) and sum of blob sizes (5975910) do not match
error for tree 5908dec5:
  tree 5908dec5: file "panacea.dat": metadata size (5425341) and sum of blob sizes (5425366) do not match
Fatal: repository contains errors

我同意,这应该是警告,或者根本不显示。 用户无法(或不需要)做任何事情。

这是旧存档程序代码中的错误,当Restic读取文件时将文件追加到仓库时,它将错误的大小写入仓库。 新的存档器不会这样做,其他所有功能都可以正常工作(它们只使用正确的大小,即文件块的总和)。

一个人如何处理这个问题? 这导致我的每周自动检查在多个备份存储库上失败。

这是我的“ restic check”的输出-我正在通过restic docker映像进行操作。

...
Digest: sha256:9c851e0ba8a9c20ef853ee507af14c4d87c33661c25136262e97506a1cdc7a57
Status: Image is up to date for restic/restic:latest
ID        Date                 Host              Tags        Directory
----------------------------------------------------------------------
8eb0175e  2018-02-28 21:01:38  internal-cluster              /fisheye
a7848682  2018-03-31 09:28:09  internal-cluster              /fisheye
8ad27273  2018-04-30 09:28:09  internal-cluster              /fisheye
97d2e914  2018-05-31 09:28:12  internal-cluster              /fisheye
96ba1cc7  2018-06-30 09:28:13  internal-cluster              /fisheye
23ef9a4b  2018-07-08 09:28:11  internal-cluster              /fisheye
76f8e70a  2018-07-09 09:28:12  internal-cluster              /fisheye
74d46da4  2018-07-10 09:28:14  internal-cluster              /fisheye
a893de2c  2018-07-11 09:28:12  internal-cluster              /fisheye
7dbeb6c0  2018-07-12 09:28:13  internal-cluster              /fisheye
8df2f318  2018-07-13 09:28:11  internal-cluster              /fisheye
e7321bf1  2018-07-14 09:28:13  internal-cluster              /fisheye
----------------------------------------------------------------------
12 snapshots
+ restic check
+ sudo -E docker run --rm -e AWS_ACCESS_KEY_ID=**** -e AWS_SECRET_ACCESS_KEY=**** -e RESTIC_PASSWORD=**** -v /mnt/efs/fisheye:/fisheye:ro -h internal-cluster --user root restic/restic -r s3:s3.amazonaws.com/redacted/restic/fisheye check
using temporary cache in /tmp/restic-check-cache-069761908
create exclusive lock for repository
load indexes
check all packs
check snapshots, trees and blobs
error for tree d93db471:
  tree d93db471: file "atlassian-fisheye-2018-07-13.log": metadata size (52139444) and sum of blob sizes (52165018) do not match
error for tree 8d1b1f5f:
  tree 8d1b1f5f: file "atlassian-fisheye-2018-04-30.log": metadata size (53418588) and sum of blob sizes (53426968) do not match
Fatal: repository contains errors

这是一个好问题! 现在,我所有的仓库都出错了……一起考虑全面禁用check阶段,但是再次重申,这曾经是并且将是检测未来可能回归的好方法。 很难说前进的最佳方法是什么...

@ fd0 ,这是一个非常严重的错误,是否有任何解决方法可以使存储库再次静音?

抱歉,我已禁用#1887中的检查。 如果愿意,您可以选择提交。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

reallinfo picture reallinfo  ·  4评论

jpic picture jpic  ·  3评论

cfbao picture cfbao  ·  3评论

TheLastProject picture TheLastProject  ·  3评论

e2b picture e2b  ·  4评论