我正在使用 Backblaze 作为 S3 存储,并已启用“清理孤儿上传”设置。问题在于,系统并未删除孤儿上传文件,而是创建了一个大小为 0 字节的重复文件。
请参见下方示例。(2) 表示同名文件的数量。展开后,您会看到原始文件仍然存在,同时还有一个 0 字节的文件。有人遇到过类似问题吗?这是 Backblaze 的问题还是该设置的问题?谢谢。
我正在使用 Backblaze 作为 S3 存储,并已启用“清理孤儿上传”设置。问题在于,系统并未删除孤儿上传文件,而是创建了一个大小为 0 字节的重复文件。
请参见下方示例。(2) 表示同名文件的数量。展开后,您会看到原始文件仍然存在,同时还有一个 0 字节的文件。有人遇到过类似问题吗?这是 Backblaze 的问题还是该设置的问题?谢谢。
Discourse 使用 S3 API,由于它与 AWS S3 配合良好,因此将此问题归咎于 Backblaze。或许可以联系他们的支持团队?我将在 使用对象存储进行上传(S3 及克隆) 中添加一条相关说明。
有一个省略号,表明这个 0 字节文件的名称被截断了。完整的名称是什么?我敢打赌,该存储桶配置了文件生命周期,而这个文件是一个“隐藏标记”,正如他们所称的那样(参见此处)。
当生命周期到期时,两个版本都应消失。
被截断的部分是“隐藏”的。我想你是对的。看起来重复的文件都是最近上传的。我会等一段时间,看看它们是否会自动消失。谢谢。
您好,
请问问题是否已解决?
自从您上次发帖已过去一年多,希望现在情况已经好转……![]()
问题尚未解决。我现在已手动删除了 BackBlaze 中的所有孤立文件。我想此时我将迁移到 S3,因为定期清理存储本身就是一项任务。
我的经验更新如下……
我有一个免费的 B2 账户(即前 10GB),并且没有添加付款方式。
备份文件会轮换,几天后“隐藏”文件会被永久删除。我一次最多只有 7 个文件(Discourse 最多有 5 个每日备份轮换)。由于我的备份从未超过 500MB,因此我从未需要为任何东西付费或手动删除任何“孤立”文件。
这个问题有什么变化吗?有人尝试联系 Backblaze 支持来解决这个问题吗?
但是问题似乎出在“上传”上!!
因为“备份”的文件数量不多/过多,无法管理。它们是可以管理的,甚至是手动管理的。
此问题似乎仍在继续。
@Falco 能否详细说明 Discourse 执行哪些 S3 操作来清理孤项?
谢谢。我看到 copy_to_tombstone 在这里起作用。我找不到关于 tombstone 和孤立文件的任何文档,所以我只能根据我在论坛上读到的内容来推测它的工作方式。如果我错了,请纠正我:
copy_object)。delete_object。这是正确的吗?
根据我在 Backblaze 上看到的情况,它确实被复制到了 tombstone 文件夹。它只是没有被删除,而是创建了一个空的隐藏版本。
因此,我联系了支持部门,似乎有一个解决孤立文件问题的办法。以下是 Backblaze 支持部门的说法:
这里有几个问题。查看您的账户,您将存储桶生命周期规则设置为“保留所有文件”。如果您将生命周期规则更改为“仅保留文件的最后一个版本”,隐藏的文件将在隐藏 24 小时后被删除,从而清理存储空间。
另外需要注意的是,在使用 S3 兼容服务时,每次调用对象删除时,该对象都会被隐藏。然后,根据存储桶的生命周期规则,它将被删除或保持隐藏状态。在您的情况下,由于“保留所有文件”,这些文件保持隐藏状态且未被删除。
要在调用对象删除时删除对象,需要在删除调用中包含文件版本 ID,但我认为如果文件只是被隐藏,集成并没有这样做。
要从存储桶中删除这些文件,您需要登录您的 Backblaze 账户,进入您的存储桶,并将其生命周期设置更新为仅保留文件的最后一个版本**。这将在隐藏后 24 小时内从存储桶中删除隐藏文件。
默认情况下,Backblaze 为新创建的存储桶设置“保留所有文件”的生命周期规则。这可能是每个人都遇到孤立文件问题的原因。将生命周期规则更改为“仅保留文件的最后一个版本”会在隐藏后 24 小时删除孤立文件。
这可能值得在此帖子中提及:
干得好!可以请你把它编辑到维基上吗?
没意识到这是一个维基。已更新。