Мой жесткий диск вышел из строя, и некоторые 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

1 ответ1

0

Что-то вроде. Попробуйте zc.zodbdgc:

Он предоставляет сценарий, который может проверить, что все ссылочные объекты, включая все большие двоичные объекты, все еще существуют. Тем не менее, он не может проверить, что с содержимым 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

и если отсутствует капля, вы увидите что-то вроде

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

и документация может помочь вам решить проблему вручную.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .