Recuperando pool ZFS com erros na importação

Recuperando pool ZFS com erros na importação

Eu tenho uma máquina que teve alguns problemas com alguma RAM ruim. Depois de diagnosticá-lo e remover o stick de RAM incorreto, o pool ZFS na máquina estava tentando acessar unidades usando nomes de dispositivos incorretos. Simplesmente exportei o pool e importei-o novamente para corrigir isso. No entanto, agora estou recebendo esse erro.

O armazenamento do pool não é mais montado automaticamente

sqeaky@sqeaky-media-server:/$ sudo zpool status
no pools available

Uma importação regular diz que está corrompida

sqeaky@sqeaky-media-server:/$ sudo zpool import
  pool: Storage
    id: 13247750448079582452
 state: UNAVAIL
status: The pool is formatted using an older on-disk version.
action: The pool cannot be imported due to damaged devices or data.
config:

    Storage                 UNAVAIL  insufficient replicas
      raidz1                UNAVAIL  corrupted data
        805066522130738790  ONLINE
        sdd3                ONLINE
        sda3                ONLINE
        sdc                 ONLINE

Uma importação específica diz que a configuração do vdev é inválida

sqeaky@sqeaky-media-server:/$ sudo zpool import Storage
cannot import 'Storage': invalid vdev configuration

Não é possível off-line ou desconectar a unidade porque o pool não pode ser iniciado/importado

sqeaky@sqeaky-media-server:/$ sudo zpool offline Storage 805066522130738790
cannot open 'Storage': no such pool
sqeaky@sqeaky-media-server:/$ sudo zpool detach Storage 805066522130738790
cannot open 'Storage': no such pool

Não é possível forçar a importação

sqeaky@sqeaky-media-server:/$ sudo zpool import -f Storage 
cannot import 'Storage': invalid vdev configuration

Eu deveria ter 4 dispositivos no meu pool ZFS:

/dev/sda3
/dev/sdd3
/dev/sdc
/dev/sdb

Não tenho ideia do que é 805066522130738790, mas pretendo investigar mais detalhadamente. Também estou tentando descobrir como usar o zdb para obter mais informações sobre o que o pool pensa que está acontecendo.

Para referência Isto foi configurado desta forma, porque no momento em que esta máquina/pool foi configurada ela precisava de certos recursos do Linux e a inicialização do ZFS ainda não era suportada no Linux. As partições sda1 e sdd1 estão em raid 1 para o sistema operacional e sdd2 e sda2 estão em raid1 para swap.

Alguma pista sobre como recuperar esse pool ZFS?

Editar - Atualização de status Eu descobri o que é 805066522130738790. É algum guia que o ZFS não conseguiu usar para identificar/dev/sdb. Quando eu removo fisicamente /dev/sdb o pool é montado e fica online. Mas ainda não consigo trocar os discos. Acho que farei backup dos arquivos em uma mídia externa e, em seguida, destruirei todo o pool porque ele está muito corrompido para continuar funcionando. Eu deveria ter tido bons backups desde o início ...

Responder1

Parece que você está usando ZFS no FUSE? Eu não esperaria que isso fosse estável de qualquer maneira.

Eu desconectaria a unidade estranha, depois a adicionaria novamente e veria se isso ajuda. Você também pode tentar forçar a reimportação do pool. http://docs.huihoo.com/opensolaris/solaris-zfs-administration-guide/html/ch04s04.html

Responder2

Vá para a lista zfs-discuss se quiser ajuda real para depuração:

http://mail.opensolaris.org/mailman/listinfo/zfs-discuss http://opensolaris.org/jive/forum.jspa?forumID=80

(Mesma lista, apenas interfaces diferentes.)

informação relacionada