如何检查Plone / ZODB中的blobstorage? [关闭]


0

我的硬盘出现故障,一些inode被修复,即

'..' in /zeocluster/var/blobstorage/0x00/0x00 (...) is <the NULL inode> (0), should be '....'.  Fix (y) ?

我如何确认事情仍然可以。有没有类似的东西 blobfsck 对于ZODB / Plone?

-

重新发布自: https://stackoverflow.com/questions/25895033/how-to-check-the-blobstorage-in-plone-zodb


这也是在stackoverflow.com中关闭的原因,因为他们认为这不是一个软件问题...哪个论坛可以发布这类问题?
manu

Answers:


0

就像是。试用 zc.zodbdgc

它提供了一个脚本,可以检查所有引用的对象,包括所有blob是否仍然存在。然而,它无法验证blob内容是否正常(它会警告丢失的blob文件,但会静默接受空/损坏但仍然存在的blob文件)。

该文档显示了如何将其包含在buildout中

[buildout]
parts =
    ...
    zodbdgc

[zodbdgc]
recipe = zc.recipe.egg
eggs = zc.zodbdgc

它需要什么样的配置文件 - 它不会接受你的 parts/instance/zope.conf 直接,但您可以复制和删除仅包含的版本

<zodb main>  # renamed from zodb_db main
  <blobstorage>
    blob-dir /.../var/blobstorage
    # FileStorage database
    <filestorage>
      path /.../var/filestorage/Data.fs
    </filestorage>
  </blobstorage>
</zodb>

然后跑

./bin/multi-zodb-check-refs parts/instance/copy_of_zope.conf

如果有一个blob缺失,你会看到类似的东西

!!! main 4938 ?
POSKeyError: 'No blob file'

并且文档可以帮助您手动修复问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.