O conjunto do ZFS foi degradado na reinicialização

4

Eu tenho um servidor Ubuntu configurado com um pool raidz2 ZFS de 14 discos.

Cerca de 80% do tempo, na reinicialização, acabarei com um conjunto degradado com dois dos discos marcados como com falha. As unidades com falhas não são sempre as mesmas, mas são sempre exatamente duas unidades. Por exemplo:

$ sudo zpool status
  pool: tank
 state: DEGRADED
status: One or more devices could not be used because the label is missing or
        invalid.  Sufficient replicas exist for the pool to continue
        functioning in a degraded state.
action: Replace the device using 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-4J
  scan: resilvered 4K in 0h0m with 0 errors on Sun Sep 30 23:08:51 2018
config:

        NAME                      STATE     READ WRITE CKSUM
        tank                      DEGRADED     0     0     0
          raidz2-0                DEGRADED     0     0     0
            sde                   ONLINE       0     0     0
            sdc                   ONLINE       0     0     0
            sdd                   ONLINE       0     0     0
            sda                   ONLINE       0     0     0
            sdh                   ONLINE       0     0     0
            11521322863231878081  FAULTED      0     0     0  was /dev/sdf1
            15273938560620494453  FAULTED      0     0     0  was /dev/sdg1
            sdb                   ONLINE       0     0     0
            sdi                   ONLINE       0     0     0
            sdj                   ONLINE       0     0     0
            sdk                   ONLINE       0     0     0
            sdl                   ONLINE       0     0     0
            sdm                   ONLINE       0     0     0
            sdn                   ONLINE       0     0     0

errors: No known data errors

Eu posso exportar e reimportar o pool e os discos não estão mais com falha. Por exemplo:

$ sudo zpool export tank
$ sudo zpool import tank
$ sudo zpool status
  pool: tank
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-9P
  scan: resilvered 4K in 0h0m with 0 errors on Sun Sep 30 23:08:51 2018
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz2-0  ONLINE       0     0     0
            sde     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sda     ONLINE       0     0     0
            sdh     ONLINE       0     0     0
            sdg     ONLINE       0     0     1
            sdf     ONLINE       0     0     0
            sdb     ONLINE       0     0     0
            sdi     ONLINE       0     0     0
            sdj     ONLINE       0     0     0
            sdk     ONLINE       0     0     0
            sdl     ONLINE       0     0     0
            sdm     ONLINE       0     0     0
            sdn     ONLINE       0     0     0

errors: No known data errors

O HBA em uso funcionou corretamente em outro servidor.

Qualquer outra coisa que eu possa tentar evitar essas unidades com falha na reinicialização? Eu tenho outro HBA que eu poderia trocar.

    
por David Chappelle 11.10.2018 / 21:34

1 resposta

4

Você não deve usar nomes / dev / sdX para sua configuração de pool.

Qualquer alteração na enumeração SCSI, por exemplo, inserir um CDROM ou uma unidade USB, pode fazer com que os nomes dos dispositivos sejam alterados, resultando nos erros que você está enfrentando.

Você tem a opção de usar os nomes / dev / disk / by-id.

Faça isso com zpool export tank e zpool import -d /dev/disk/by-id tank

    
por 12.10.2018 / 01:14