Como verificar o blobstorage no Plone / ZODB? [fechadas]

0

Meu HDD falhou e alguns inodes foram corrigidos, por exemplo

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

Como eu confirmo que as coisas ainda estão ok? Existe algo parecido com um blobfsck para ZODB / Plone?

-

Re-publicado de: link

    
por manu 18.09.2014 / 19:22

1 resposta

0

Algo como. Experimente zc.zodbdgc :

Ele fornece um script, que pode verificar se todos os objetos referenciados, incluindo todos os blobs, ainda existem. No entanto, ele não pode verificar se o conteúdo do blob está correto (alerta sobre arquivos blob ausentes, mas aceita silenciosamente arquivos de blobs vazios / corrompidos, mas ainda existentes).

A documentação mostra como incluí-lo no buildout

[buildout]
parts =
    ...
    zodbdgc

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

e que tipo de arquivo de configuração ele requer - ele não aceitará seu parts/instance/zope.conf diretamente, mas você pode copiar e descartar uma versão que inclua apenas

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

e, em seguida, execute

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

e se houver uma mancha faltando, você verá algo como

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

e a documentação pode ajudá-lo a corrigir o problema manualmente.

    
por 18.09.2014 / 23:12

Tags