FreeNAS confusão: não tenho certeza do que aconteceu. raidz1 “DEGRADED”, disco “FAULTED”

3

Desculpe pela longa narrativa, mas estou completamente confuso.

Estou usando o FreeNAS-8.0.4-RELEASE-p2-x64 (11367) em uma caixa com discos SATA de 5x3TB configurados como um volume raidz.

Alguns dias atrás, o console me alertou:

CRITICAL: The volume raid-5x3 (ZFS) status is DEGRADED

zpool status deu:

  pool: raid-5x3
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
    corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
    entire pool from backup.
  see: http://www.sun.com/msg/ZFS-8000-8A
 scrub: resilver completed after 3h25m with 7607009 errors on Sun Aug 12 06:26:44 2012
config:

    NAME                      STATE    READ WRITE CKSUM
    raid-5x3                  DEGRADED    0    0 7.29M
      raidz1                  DEGRADED    0    0 14.7M
        ada0p2                ONLINE      0    0    0
        10739480653363274060  FAULTED      0    0    0  was /dev/ada1p2
        ada2p2                ONLINE      0    0    0
        ada3p2                ONLINE      0    0    3  254M resilvered
        ada1p2                ONLINE      0    0    0

errors: 7607009 data errors, use '-v' for a list

Eu fiz um zpool status -v e recebi:

Permanent errors have been detected in the following files:

e listou 2.660 arquivos (de 50.000 ou mais)

mais coisas como:

raid-5x3/alpha:<0x0>
raid-5x3/alpha:<0xf5ec>
raid-5x3/alpha:<0xf5ea>

Nós desligamos o servidor, colocamos uma nova unidade, além dos cinco que já estão lá.

Foi para o console e view disks , ele apenas disse "carregar" para sempre * não conseguiu acessar a opção "Substituir"!

Então chegamos:

zpool status -v
  pool: raid-5x3
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
  see: http://www.sun.com/msg/ZFS-8000-8A
 scrub: none requested
config:

        NAME                      STATE    READ WRITE CKSUM
        raid-5x3                  DEGRADED    0    0    0
          raidz1                  DEGRADED    0    0    0
            ada0p2                ONLINE      0    0    0
            10739480653363274060  UNAVAIL      0    0    0  was /dev/ada1p2
            ada2p2                ONLINE      0    0    0
            ada3p2                ONLINE      0    0    0
            ada1p2                ONLINE      0    0    0

errors: Permanent errors have been detected in the following files:

        raid-5x3/alpha:<0x0>
        /mnt/raid-5x3/alpha/staff/Sound FX jw/Sound FX - scary horror/11 DR-EerieAct3-Waterphone..aif
        /mnt/raid-5x3/alpha/staff/Wheelhouse Shoots/ROCKY_THE_MUSICAL/ SHOOTS/WESTPORT/Cannon-CARD-B/CONTENTS/CLIPS001/AA0876/AA087601.SIF

... então, 2,860 arquivos e "raid-5x3 / alpha: < .... >" entradas ...

camcontrol devlist :

<ST3000DM001-9YN166 CC4C>          at scbus4 target 0 lun 0 (ada0,pass0)
<WDC WD30EZRX-00MMMB0 80.00A80>    at scbus4 target 1 lun 0 (aprobe1,pass6,ada4)
<WDC WD30EZRX-00MMMB0 80.00A80>    at scbus5 target 0 lun 0 (ada1,pass1)
<ST3000DM001-9YN166 CC4C>          at scbus5 target 1 lun 0 (ada2,pass2)
<ASUS DRW-24B1ST  a 1.04>        at scbus6 target 0 lun 0 (cd0,pass3)
<Hitachi HDS5C3030ALA630 MEAOA580>  at scbus7 target 0 lun 0 (ada3,pass4)
< USB Flash Memory 1.00>          at scbus8 target 0 lun 0 (da0,pass5)

gpart show

=>    63  7831467  da0  MBR  (3.7G)
      63  1930257    1  freebsd  [active]  (943M)
  1930320      63      - free -  (32K)
  1930383  1930257    2  freebsd  (943M)
  3860640    3024    3  freebsd  (1.5M)
  3863664    41328    4  freebsd  (20M)
  3904992  3926538      - free -  (1.9G)

=>      0  1930257  da0s1  BSD  (943M)
        0      16        - free -  (8.0K)
      16  1930241      1  !0  (943M)

=>        34  5860533101  ada0  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada1  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada2  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada3  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada4  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

glabel status

                                      Name  Status  Components
                            ufs/FreeNASs3    N/A  da0s3
                            ufs/FreeNASs4    N/A  da0s4
                            ufs/FreeNASs1a    N/A  da0s1a
gptid/446dd91d-8f15-11e1-a14c-f46d049aaeca    N/A  ada4p1
gptid/447999cb-8f15-11e1-a14c-f46d049aaeca    N/A  ada4p2

Parecia que a nova unidade não estava conectada corretamente?

Re-anexado e reiniciado.

Agora o console mostrava alerta de luz verde.

Mas quando eu fui para "View All Volumes", ele disse apenas "Carregando ..."

Então:

glabel status

          Name  Status  Components
 ufs/FreeNASs3    N/A  da0s3
 ufs/FreeNASs4    N/A  da0s4
ufs/FreeNASs1a    N/A  da0s1a

camcontrol devlist:     Código:         no alvo scbus0 0 lun 0 (ada0, pass0)               no alvo scbus4 0 lun 0 (ada1, pass1)         no alvo scbus4 1 lun 0 (ada2, pass2)         no alvo scbus5 0 lun 0 (ada3, pass3)               no alvo scbus5 1 lun 0 (ada4, pass4)             no alvo scbus6 0 lun 0 (cd0, pass5)       no alvo scbus7 0 lun 0 (ada5, pass6)     < Memória Flash USB 1,00 > no alvo scbus8 0 lun 0 (da0, pass7)

gpart show

=>    63  7831467  da0  MBR  (3.7G)
      63  1930257    1  freebsd  [active]  (943M)
  1930320      63      - free -  (32K)
  1930383  1930257    2  freebsd  (943M)
  3860640    3024    3  freebsd  (1.5M)
  3863664    41328    4  freebsd  (20M)
  3904992  3926538      - free -  (1.9G)

=>      0  1930257  da0s1  BSD  (943M)
        0      16        - free -  (8.0K)
      16  1930241      1  !0  (943M)

=>        34  5860533101  ada1  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada2  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada3  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada4  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada5  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

zpool status :

  pool: raid-5x3
 state: ONLINE
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
  see: http://www.sun.com/msg/ZFS-8000-8A
 scrub: none requested
config:

        NAME        STATE    READ WRITE CKSUM
        raid-5x3    ONLINE      0    0    0
          raidz1    ONLINE      0    0    0
            ada1p2  ONLINE      0    0    0
            ada2p2  ONLINE      0    0    2
            ada4p2  ONLINE      0    0    0
            ada5p2  ONLINE      0    0    0
            ada3p2  ONLINE      0    0    0

errors: 7607009 data errors, use '-v' for a list

Neste ponto, alguém nos fóruns do FreeNAS disse: "Você está ferrado, em algum momento você teve dois discos com falha, dados de bye bye".

Isso é verdade?

Eu cliquei no botão 'scrub' ... zpool status mostrou "resilver in progress .... 900h to go" ... o que é como um mês ... e que continuou indo até 30.000hrs ...

Recortar para: hoje, verificamos todas as conexões em todas as unidades.

Em seguida, ele começou a resilvering novamente, mas muito mais rápido.

Vários dos arquivos - que foram previamente reportados como corruptos - eu verifiquei aleatoriamente, e eles agora "parecem" estar OK. (Significado eu era capaz de copiá-los e reproduzi-los - a maioria dos nossos dados é arquivos de vídeo.)

O que eu gostaria de fazer é COPIAR tudo para o qual não tenhamos um backup, e que não esteja corrompido, em outra máquina, e depois atualizá-lo para o RAIDZ2.

Estou pensando que talvez o que aconteceu foi que duas unidades foram desalojadas. Eu acho que a hotswap bay que temos é de má qualidade.

Mas, novamente, eles apareceram conectados, apenas com falha ... não sei.

O resilver foi concluído em 3,5 horas.

Agora o status zpool diz:

  pool: raid-5x3
 state: ONLINE
 scrub: resilver completed after 3h31m with 0 errors on Fri Aug 17 21:46:12 2012
config:

        NAME        STATE    READ WRITE CKSUM
        raid-5x3    ONLINE      0    0    0
          raidz1    ONLINE      0    0    0
            ada1p2  ONLINE      0    0    0
            ada2p2  ONLINE      0    0    0  236G resilvered
            ada4p2  ONLINE      0    0    0
            ada5p2  ONLINE      0    0    0  252G resilvered
            ada3p2  ONLINE      0    0    0

errors: No known data errors

Isso significa que os dados são recuperados? "Nenhum erro conhecido" parece promissor!

Eu iniciei agora um scrub. (8 horas para ir.)

Não temos um backup para TODOS os dados ... por isso, precisamos descobrir quais desses arquivos estão corrompidos e quais são utilizáveis.

Um disco falhou? Se sim, qual? Ou acabou de se soltar?

Preciso substituir um? Dois?

Algum dos nossos dados está seguro? Em caso afirmativo, quais arquivos?

    
por Ze'ev 18.08.2012 / 08:31

2 respostas

0

Eu não usei zfs o suficiente para dizer sobre integridade de dados. zpool list deu         raidz1-0 ONLINE 0 0 0             c8t1d0p0 ONLINE 0 0 0             c8t2d0p0 ONLINE 0 0 0             c8t3d0p0 ONLINE 0 0 0

smartctl -d sat, 12 -a / dev / rdsk / c8t3d0p0 listou os atributos específicos. -d sat -d ata -d scsi pode fazê-lo funcionar dependendo do tipo de drives que você possui. observe a taxa de erro de leitura bruta, a contagem de setor realocada, a taxa de erros de busca, a ecc de hardware e a realocação do setor pendente. -t curto ou -t longo em vez de -a iniciará um teste. o teste longo pode levar uma ou várias horas, dependendo da unidade. os erros de leitura e de hardware não são necessariamente uma falha. entretanto, se eles continuarem pulando entre as listas, eles podem ser um bom indicador. Além disso, alguns fabricantes de unidades podem exigir que você use suas ferramentas para obter uma unidade rma'd.

Se eu estivesse em sua posição e não tivesse certeza sobre a unidade, eu obteria uma substituição e depois de verificar o seu bem através do trabalho com o fabricante ou tê-lo rma. Gostaria de colocar na unidade extra como um hot spare para que, se isso acontecer novamente, você tenha outra unidade pronta e esperando. z2 também não é uma má idéia, mas eu ainda manteria uma reserva nas laterais. Com o tamanho das unidades, elas demoram muito tempo para serem reconstruídas e é possível atingir um segundo erro.

como para arquivos corrompidos se você ainda tiver um original em algum outro lugar de um desses arquivos "corrompidos" faça um cálculo md5 dele e então veja se o md5 do arquivo corrompido coincide. que lhe dirá se os bits foram danificados. se não, então pode haver danos invisíveis aos arquivos. se seu dano suficiente para ser um problema será com você.

    
por 19.08.2012 / 06:54
2

A mesma coisa aconteceu comigo quando eu acidentalmente removi a unidade incorreta ao substituir uma falha. Quando eu chequei a matriz, disse que o vdev inteiro falhou com dois discos defeituosos. Depois que eu reconectei o disco sem falha e substitui o disco com falha real, o pool se resilvolveu totalmente sem nenhum impacto perceptível nos arquivos que foram inicialmente listados como danificados / perdidos / corrompidos.

Pelo que entendi, quando o disco foi solto momentaneamente, ele foi marcado como falho, então, como um disco falhou, toda a matriz também foi marcada como falhada. Então, assim que ele foi reconectado, ele é verificado e exibido como parte do pool existente e resilvered com o restante. Como 3/4 discos são suficientes para ter dados viáveis, desde que os dados não tenham mudado muito, tudo poderá se recuperar assim que o disco com falha for substituído.

Erros de soma de verificação não são erros difíceis - são erros recuperáveis. Quando ocorre um erro de soma de verificação, o ZFS corrige o erro imediatamente no RAIDZ, essa é uma das principais razões pelas quais o ZFS é um sistema de arquivos tão bom. Dito isso, ver erros de soma de verificação é uma indicação de um problema. Fique de olho nos discos, tente ter um prático em caso de falha. Se você começar a ver erros de soma de verificação novamente, substitua a unidade / cabo em que estão acontecendo. Pode ser o backplane, pode ser o conector, pode ser o que for, verifique tudo. Se você está preocupado com toda a baía, substitua-a.

Nenhum erro conhecido se refere apenas ao status atual do conjunto, não ao histórico completo dele. Como o disco foi substituído e o array resilvered, as estatísticas parecem ter sido apagadas também; os erros de soma de verificação são zerados. Ocorreram dois erros anteriormente, e esses permaneceriam até serem apagados.

O relatório do ZFS pode ser confiável, portanto, qualquer um dos arquivos que não foram listados na lista de arquivos danificados deve estar correto. Como mencionado em outra resposta, se você conhece boas cópias de qualquer um dos arquivos, fazer alguns testes de verificação não pode prejudicar. Conseguir backups completos também não seria uma má ideia. ;)

    
por 16.05.2014 / 06:28