O zpool DEGRADED não pode ser importado com erro de E / S

1

Estou executando um servidor pessoal em casa com um sistema operacional do CentOS 7 e um zpool de 12 TB. Está funcionando há alguns anos e ontem eu notei alguns problemas, então fui dar uma olhada.

A princípio, parecia que uma das minhas unidades falhou, com zpool import fornecendo os seguintes resultados:

pool: media
id: 1363376331138686016
state: DEGRADED
status: One or more devices contains corrupted data.
action: The pool can be imported despite missing or damaged devices.  
The
fault tolerance of the pool may be compromised if imported.
   see: http://zfsonlinux.org/msg/ZFS-8000-4J
 config:

media                                DEGRADED
  raidz1-0                           DEGRADED
    ata-ST3000DM001-1ER166_W500G55Q  ONLINE
    ata-ST3000DM001-1CH166_Z1F278KB  UNAVAIL
    sdc                              ONLINE
    sde                              ONLINE
    sdf                              ONLINE

Isso parece ok, mas parece que não consigo importar o pool diretamente.

A execução de zpool import media me dá:

cannot import 'media': I/O error
Destroy and re-create the pool from
a backup source.

Eu olhei em volta para descobrir o problema, mas tudo o que encontrei não me deu nada.

Algumas outras coisas que tentei:

  • zpool import -fFX : zpool não pôde ser importado
  • zpool import -fFV : zpool importado com status FAULTED
  • zpool status : nenhum conjunto disponível

Alguém é capaz de me apontar na direção certa? Não sei qual deve ser o meu próximo diagnóstico.

    
por Ben Wong 12.08.2017 / 16:24

2 respostas

0

Sua melhor aposta é destruir o pool, recriá-lo com um substituto para a unidade com falha ata-ST3000DM001-1CH166_Z1F278KB e depois restaurar a partir do backup.

Se isso não é uma opção (deve ser - nem o ZFS nem o RAID são um substituto para backups! nem nunca pretendiam ser), então você pode tentar colocar o zpool off-line até ter um substituto para ata-ST3000DM001-1CH166_Z1F278KB pronto para ser instalado.

Quando você tiver adquirido uma unidade de substituição, tente importar o pool no estado DEGRADED e substitua imediatamente a unidade com falha pela nova unidade boa.

A BTW, link pode ter algumas informações úteis para você.

    
por 13.08.2017 / 09:47
0

Que tipo de problemas você notou que fizeram você ir e olhar o volume? Seu comando zpool listado mostra a unidade como indisponível. Você pode ver o contrário ou está morto?

Parece que existem drives suficientes no pool de raidz onde você deve poder importá-lo.

Normalmente, primeiro com zpool import -nF para determinar se o pool pode ser importado descartando as últimas transações.

Às vezes, um zpool clear junto com um zpool scrub pode ajudar. Você também pode tentar uma substituição de zpool na unidade suspeita / com falha / falha com uma nova unidade.

E ao usar grandes unidades SATA em um servidor de arquivos doméstico, é melhor não ficar muito ganancioso. Existem várias cadeias sobre isso, esteja você usando o ZFS, outro tipo de invasão de software, e até mesmo usando ataques de hardware "corporativos", então não vou entrar em detalhes.

As unidades falham. Isso vai acontecer. Afinal, é apenas ferrugem. Mesmo se você tiver uma configuração em que várias unidades possam falhar, o que significa que outra unidade não falhará durante a reconstrução para uma substituição? - Olá, unidades de vários terabytes. Por esse motivo, muitas pessoas estão começando a usar espelhos de 3 vias. Felizmente drives não são tão caros como costumavam ser.

Com o ZFS, você também pode tentar aumentar a quantidade de cópias ( zfs set copies=<# copies> <pool> ) para aumentar a quantidade de cópias de um arquivo para limitar a possível perda de dados.

    
por 15.08.2017 / 00:00