O ZFS não consegue importar o zpool após a reinicialização, alguns dispositivos “UNAVAIL” - mas os dispositivos estão presentes

1

Eu tentei importar meu pool usando vários comandos, mas ele sempre falha. Isso é depois de uma reinicialização limpa. Eu fiz hot-add um número de discos para o servidor e, posteriormente, usei-os para criar o pool, e esta é a primeira reinicialização desde a criação do pool, não tenho certeza se existe um relacionamento. Infelizmente, há alguns dados no pool que não são armazenados em backup e precisam ser recuperados, se possível.

Se eu especificar o nome do dispositivo, como em

sudo zpool import -d /dev/disk/by-id/ neo
sudo zpool import neo

Eu obtenho

cannot import 'neo': one or more devices are already in use

Se eu apenas executar o sudo zpool import, obtenho

   pool: neo
     id: 5358137548497119707
  state: UNAVAIL
 status: One or more devices contains corrupted data.
 action: The pool cannot be imported due to damaged devices or data.
    see: http://zfsonlinux.org/msg/ZFS-8000-5E
 config:

    neo                                                   UNAVAIL  insufficient replicas
      raidz3-0                                            UNAVAIL  insufficient replicas
        ata-HGST_HMS5C4040ALE640_PL1331LAHGWAJH-part1     ONLINE
        ata-Hitachi_HDS5C4040ALE630_PL2331LAGD00RJ-part1  UNAVAIL
        ata-ST4000DM000-1F2168_Z301VKAC-part1             UNAVAIL
        ata-HGST_HMS5C4040ALE640_PL1331LAHGSVDH-part1     ONLINE
        ata-Hitachi_HDS5C4040ALE630_PL1331LAGD81AH-part1  UNAVAIL
        ata-WDC_WD40EFRX-68WT0N0_WD-WCC4EPFK6PYP-part1    UNAVAIL
        ata-WDC_WD40EFRX-68WT0N0_WD-WCC4EK2CU8SV-part1    UNAVAIL
        ata-Hitachi_HDS5C4040ALE630_PL2331LAGD08UJ-part1  UNAVAIL
        ata-HGST_HMS5C4040ALE640_PL1331LAHD0BNH-part1     ONLINE
        ata-HGST_HMS5C4040ALE640_PL1331LAHGXGSH-part1     ONLINE
        ata-HGST_HMS5C4040ALE640_PL1331LAHGXG6H-part1     ONLINE
        ata-HGST_HMS5C4040ALE640_PL1331LAHGW0DH-part1     ONLINE

No entanto, TODOS ESTES DISPOSITIVOS ESTÃO PRESENTES (por exemplo, eu fiz um ls -l e existem links simbólicos para todos os dispositivos UNAVAIL), e os poucos UNAVAILs que acabei de verificar com o relatório smartctl são saudáveis).

Considerando que acabei nesse estado durante uma reinicialização limpa (sudo shutdown -r now), estou realmente esperando que haja uma maneira de recuperar os dados. Qualquer ajuda seria muito apreciada.

Obrigado Eric

    
por Eric H. 22.11.2016 / 05:02

1 resposta

2

Eu deveria ter prestado mais atenção na mensagem de erro de que "um ou mais dispositivos já estão em uso". Acontece que algumas dessas unidades faziam parte de um array mdadm (muito obrigado Matt Sieker ), então o kernel estava roubando essas unidades do ZFS antes que o ZFS pudesse tentar importar. Acho que vou remover essas unidades da matriz, uma a uma, zerando os superblocos do mdadm e, em seguida, reimportando.

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md3 : inactive sde1[1](S) sdb1[6](S) sdh1[0](S) sdg1[2](S) sdf1[5](S)
      19534432357 blocks super 1.2

md127 : inactive sdc1[6](S)
      2930134471 blocks super 1.2
    
por Eric H. 22.11.2016 / 05:21