Sou bastante novo no ZFS e tenho uma configuração simples de pool de armazenamento espelhado com 8 unidades. Após algumas semanas de execução, uma unidade parecia gerar muitos erros, então eu a substituí.
Mais algumas semanas se passam e agora vejo pequenos erros surgindo em toda a piscina (veja a zpool status
saída abaixo). Eu deveria me preocupar com isso? Como posso determinar se o erro indica que a unidade precisa ser substituída?
# zpool status
pool: storage
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: scrub repaired 22.5K in 1h18m with 0 errors on Sun Jul 10 03:18:42 2016
config:
NAME STATE READ WRITE CKSUM
storage ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
enc-a ONLINE 0 0 2
enc-b ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
enc-c ONLINE 0 0 0
enc-d ONLINE 0 0 2
mirror-2 ONLINE 0 0 0
enc-e ONLINE 0 0 2
enc-f ONLINE 0 0 1
mirror-3 ONLINE 0 0 0
enc-g ONLINE 0 0 0
enc-h ONLINE 0 0 3
errors: No known data errors
O ZFS, com toda a presteza, me diz para "Determinar se o dispositivo precisa ser substituído ...", mas não sei como fazer isso. Eu li o artigo referenciado que foi útil, mas não exatamente conclusivo.
Analisei os resultados do teste SMART para as unidades afetadas e nada me ocorreu (todos os testes foram concluídos sem erros), mas também posso postar os dados SMART se isso for útil.
Atualização: Enquanto me preparava para reiniciar no Memtest86 +, notei muitos erros no console. Eu normalmente SSH, então eu não os vi antes. Não tenho certeza de qual log eu deveria estar verificando, mas a tela inteira estava cheia de erros parecidos com este (não é minha linha de erro exata, apenas copiei isso de um fórum diferente):
blk_update_request: I/0 error, dev sda, sector 220473440
De alguns usuários do Google, parece que esse erro pode ser um indicativo de uma unidade defeituosa, mas é difícil para mim acreditar que todos eles estão falhando ao mesmo tempo. Pensamentos sobre onde ir a partir daqui?
Atualização 2: deparei-me com este problema da ZOL que parece estar relacionado ao meu problema. Como o OP, estou usando o hdparm para reduzir minhas unidades e estou vendo erros e somas de verificação do ZFS semelhantes blk_update_request
. Minha máquina ainda está executando o Memtest, então não posso verificar meu kernel ou versão do ZFS no momento, mas isso pelo menos parece uma possibilidade. Eu também vi essa pergunta semelhante, que é meio desanimadora. Alguém sabe de problemas com o ZFS e a rotação de unidades?
Atualização 3: Um firmware e uma versão de driver incompatíveis no controlador LSI podem causar erros como este? Parece que estou executando uma versão de driver 20.100.00.00 e uma versão de firmware 17.00.01.00. Valeria a pena tentar atualizar o firmware atualizado no cartão?
# modinfo mpt2sas
filename: /lib/modules/3.10.0-327.22.2.el7.x86_64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko
version: 20.100.00.00
license: GPL
description: LSI MPT Fusion SAS 2.0 Device Driver
author: Avago Technologies <[email protected]>
rhelversion: 7.2
srcversion: FED1C003B865449804E59F5
# sas2flash -listall
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved
Adapter Selected is a LSI SAS: SAS2308_2(D1)
Num Ctlr FW Ver NVDATA x86-BIOS PCI Addr
----------------------------------------------------------------------------
0 SAS2308_2(D1) 17.00.01.00 11.00.00.05 07.33.00.00 00:04:00:00
Atualização 4: foram detectados mais erros na dmesg
saída. Não sei ao certo o que os desencadeou, mas os notei depois de desmontar todas as unidades da matriz, em preparação para atualizar o firmware do controlador LSI. Vou esperar um pouco para ver se a atualização do firmware resolveu o problema, mas aqui estão os erros enquanto isso. Não tenho muita certeza do que eles significam.
[87181.144130] sd 0:0:2:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144142] sd 0:0:2:0: [sdc] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144148] blk_update_request: I/O error, dev sdc, sector 889461969
[87181.144255] sd 0:0:3:0: [sdd] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144259] sd 0:0:3:0: [sdd] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144263] blk_update_request: I/O error, dev sdd, sector 889461969
[87181.144371] sd 0:0:4:0: [sde] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144375] sd 0:0:4:0: [sde] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144379] blk_update_request: I/O error, dev sde, sector 922978096
[87181.144493] sd 0:0:5:0: [sdf] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144500] sd 0:0:5:0: [sdf] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144505] blk_update_request: I/O error, dev sdf, sector 922978096
[87191.960052] sd 0:0:6:0: [sdg] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960063] sd 0:0:6:0: [sdg] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960068] blk_update_request: I/O error, dev sdg, sector 906238044
[87191.960158] sd 0:0:7:0: [sdh] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960162] sd 0:0:7:0: [sdh] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960179] blk_update_request: I/O error, dev sdh, sector 906238044
[87195.864565] sd 0:0:0:0: [sda] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87195.864578] sd 0:0:0:0: [sda] CDB: Write(10) 2a 00 37 03 7c 68 00 00 20 00
[87195.864584] blk_update_request: I/O error, dev sda, sector 922975336
[87198.770065] sd 0:0:1:0: [sdb] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87198.770078] sd 0:0:1:0: [sdb] CDB: Write(10) 2a 00 37 03 7c 88 00 00 20 00
[87198.770084] blk_update_request: I/O error, dev sdb, sector 922975368
Atualização 5: atualizei o firmware do controlador LSI, mas depois de limpar os erros e a limpeza do ZFS, vejo o mesmo comportamento (pequenos erros de soma de verificação em algumas unidades). O próximo passo será atualizar o firmware nas próprias unidades.
Atualização 6: Substituí o riser PCI depois de ler em alguns fóruns que outras pessoas com o gabinete U-NAS NSC800 tiveram problemas com o riser fornecido. Não houve efeito nos erros de soma de verificação. Venho adiando a atualização do firmware do HDD porque o processo é doloroso, mas acho que é hora de absorver e criar uma unidade flash DOS inicializável.
Atualização 7: atualizei o firmware nas três unidades da Seagate. As outras unidades não tinham uma atualização de firmware disponível ou eu não consegui obtê-la (a Western Digital me disse que não havia atualização de firmware para a minha unidade). Nenhum erro apareceu após uma limpeza inicial, mas vou dar a ela pelo menos uma semana ou duas antes de dizer que isso resolveu o problema. Parece-me altamente improvável que o firmware em três unidades possa estar afetando todo o pool assim.
Atualização 8: os erros de soma de verificação estão de volta, como antes. Eu posso procurar uma atualização de firmware para a placa-mãe, mas neste momento estou perdida. Será difícil / caro substituir os componentes físicos restantes (controlador, backplane, cabeamento) e não tenho 100% de certeza de que não há problema com minha configuração (ZFS + Linux + LUKS + Rotação de unidades inativas). Quaisquer outras idéias são bem-vindas.
Atualização 9: Ainda está tentando rastrear este. Me deparei com esta pergunta que tinha algumas semelhanças com a minha situação. Então, fui em frente e reconstruí o zpool usando ashift=12
para ver se isso resolveria o problema (sem sorte). Então, mordi a bala e comprei um novo controlador. Acabei de instalar uma placa HBA Supermicro AOC-SAS2LP-MV8 . Vou dar uma ou duas semanas para ver se isso resolve o problema.
Atualização 10: Apenas para fechar isso. Já se passaram cerca de duas semanas desde que o novo cartão HBA entrou e, sob o risco de estremecer, não tive erros de soma de verificação desde então. Um enorme agradecimento a todos que me ajudaram a resolver esse problema.
fonte
Respostas:
Ter esses erros em várias unidades parece indicar um problema no painel traseiro / controlador / cabeamento, mais do que um problema de disco ou RAM.
fonte
smartctl
disse que havia uma atualização de firmware disponível para alguns dos discos da Seagate que estou usando, por isso também os atualizo.Minha regra geral é que, se os erros continuarem a aumentar inesperadamente, o disco precisará ser substituído; se for estático, pode ter havido alguma condição transitória que causou o erro e o sistema não está reproduzindo as condições que causaram problemas.
Alguns erros de soma de verificação não indicam necessariamente nada de ruim mecanicamente na unidade (a rotação dos bits acontece, o ZFS apenas a detecta, enquanto outros sistemas de arquivos não o fazem), mas se esses erros ocorrerem ao longo de uma hora, será uma situação muito diferente do que se eles tivessem acontecido ao longo de um ano.
fonte