Recebi um alerta SMART para 1 dos discos de um array RAID5, composto por 3 discos. Quero trocar o disco com defeito, se possível sem desligar o servidor. O erro relatado no alerta de e-mail é (algumas informações redigidas):
Esta mensagem foi gerada pelo daemon smartd em execução em:
nome do host: ********* Domínio DNS: *********
O seguinte aviso/erro foi registrado pelo daemon smartd:
Dispositivo: /dev/bus/0 [megaraid_disk_10], Falha SMART: FALHA IMINENTE DO CANAL DE DADOS FALHA GERAL DO DISCO RÍGIDO
Informações do dispositivo: [LENOVO ST2000NM003A LKB9], id lu: 0x5000*************, S/N: WJC0*************, 2,00 TB
Para detalhes, consulte o SYSLOG do host.
Você também pode usar o utilitário smartctl para investigação posterior. A mensagem original sobre esse problema foi enviada em Sat Mar 22 04:36:14 2025 CET Outra mensagem será enviada em 24 horas se o problema persistir.
O servidor está atualmente executando Proxmox (distribuição baseada em Debian) e os discos são gerenciados por um Lenovo RAID 730-8i 2GB Flash , que até onde eu posso entender é LSI / Broadcom e gerenciado em SO por meio de seus utilitários MegaCli64
e StorCli64
, eu instalei ambos. Com lspci | grep RAID
:
58:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS-3 3108 [Invader] (rev 02)
No controlador existem dois grupos de acionamento:
- RAID1 para 2 discos SSD de aproximadamente 500 GB cada
- RAID5 para 3 discos HDD de aprox. 2 TB cada. Este é o grupo em que um dos dispositivos está começando a dar avisos SMART. Encontrei um disco compatível com o mesmo número de peça para trocar o que tem avisos.
Tudo no RAID5 é feito backup, então não estou muito preocupado em perder dados, dá mais trabalho restaurar e, se possível, gostaria de evitar isso.
Usando o MegaCli64
obtive a configuração para o RAID:
# ./MegaCli64 -LDInfo -LAll -aAll
[... omissis other disk group ...]
Virtual Drive: 1 (Target Id: 1)
Name :hddstorage
RAID Level : Primary-5, Secondary-0, RAID Level Qualifier-3
Size : 3.635 TB
Sector Size : 512
Is VD emulated : No
Parity Size : 1.817 TB
State : Optimal
Strip Size : 64 KB
Number Of Drives : 3
Span Depth : 1
Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy : Disabled
Encryption Type : None
PI type: No PI
Is VD Cached: No
e o estado atual da unidade defeituosa:
# ./MegaCli64 -PDList –aAll
[... omissis other disks ...]
Enclosure Device ID: 252
Slot Number: 4
Drive's position: DiskGroup: 1, Span: 0, Arm: 2
Enclosure position: N/A
Device Id: 10 # <---- ID for the SMART check
WWN: 5000C500CE7FB828
Sequence Number: 2
Media Error Count: 79
Other Error Count: 1
Predictive Failure Count: 2
Last Predictive Failure Event Seq Number: 46655
PD Type: SAS
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Non Coerced Size: 1.818 TB [0xe8d088b0 Sectors]
Coerced Size: 1.817 TB [0xe8b6d000 Sectors]
Sector Size: 512
Logical Sector Size: 512
Physical Sector Size: 512
Firmware state: Online, Spun Up
Commissioned Spare : No
Emergency Spare : No
Device Firmware Level: LKB9
Shield Counter: 0
Successful diagnostics completion on : N/A
SAS Address(0): 0x5000c500ce7fb829
SAS Address(1): 0x0
Connected Port Number: 4(path0)
Inquiry Data: LENOVO ST2000NM003A LKB9WJC06CK0LKB9LKB9LKB9
FDE Capable: Not Capable
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: None
Device Speed: 12.0Gb/s
Link Speed: 12.0Gb/s
Media Type: Hard Disk Device
Drive: Not Certified
Drive Temperature :31C (87.80 F)
PI Eligibility: No
Drive is formatted for PI information: No
PI: No PI
Port-0 :
Port status: Active
Port's Linkspeed: 12.0Gb/s
Port-1 :
Port status: Active
Port's Linkspeed: 12.0Gb/s
Drive has flagged a S.M.A.R.T alert : Yes # <--- Faulty!
Então, olhando para o resultado SMART da unidade, o que eu obtenho:
smartctl -a -d megaraid,10 /dev/sda
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.4.157-1-pve] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Vendor: LENOVO
Product: ST2000NM003A
Revision: LKB9
Compliance: SPC-5
User Capacity: 2.000.398.934.016 bytes [2,00 TB]
Logical block size: 512 bytes
LU is fully provisioned
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Logical Unit id: 0x5000c500ce7fb82b
Serial number: WJC06CK00000E024CJ6U
Device type: disk
Transport protocol: SAS (SPL-3)
Local Time is: Mon Mar 24 11:01:20 2025 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Temperature Warning: Enabled
=== START OF READ SMART DATA SECTION ===
SMART Health Status: DATA CHANNEL IMPENDING FAILURE GENERAL HARD DRIVE FAILURE [asc=5d, ascq=30]
Grown defects during certification <not available>
Total blocks reassigned during format <not available>
Total new blocks reassigned = 29
Power on minutes since format <not available>
Current Drive Temperature: 32 C
Drive Trip Temperature: 65 C
Accumulated power on time, hours:minutes 39425:21
Manufactured in week 02 of year 2020
Specified cycle count over device lifetime: 50000
Accumulated start-stop cycles: 70
Specified load-unload count over device lifetime: 600000
Accumulated load-unload cycles: 2299
Elements in grown defect list: 29
Error counter log:
Errors Corrected by Total Correction Gigabytes Total
ECC rereads/ errors algorithm processed uncorrected
fast | delayed rewrites corrected invocations [10^9 bytes] errors
read: 0 1699 0 1699 2335 504611,864 386
write: 0 0 0 0 0 73712,791 0
verify: 0 1809 0 1809 2122 471546,642 237
Non-medium error count: 11
SMART Self-test log
Num Test Status segment LifeTime LBA_first_err [SK ASC ASQ]
Description number (hours)
# 1 Background long Completed - 7 - [- - -]
# 2 Background long Aborted (by user command) - 4 - [- - -]
# 3 Background short Completed - 4 - [- - -]
# 4 Background long Aborted (by user command) - 4 - [- - -]
Long (extended) Self-test duration: 13740 seconds [229,0 minutes]
Mais ou menos confirmando que algo no drive não está ok. Uma verificação nos outros discos ( smartctl -a -d megaraid,8 /dev/sda
e smartctl -a -d megaraid,9 /dev/sda
) relata boas leituras:
[... omissis ...]
=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK
[... omissis ...]
O controlador ainda não colocou o disco offline, conforme confirmado por StorCli64
:
# ./storcli64 /cALL show all
[... omissis ...]
Drive Groups = 2
TOPOLOGY :
========
-----------------------------------------------------------------------------
DG Arr Row EID:Slot DID Type State BT Size PDC PI SED DS3 FSpace TR
-----------------------------------------------------------------------------
0 - - - - RAID1 Optl N 446.102 GB dflt N N dflt N N
0 0 - - - RAID1 Optl N 446.102 GB dflt N N dflt N N
0 0 0 252:0 11 DRIVE Onln N 446.102 GB dflt N N dflt - N
0 0 1 252:1 12 DRIVE Onln N 446.102 GB dflt N N dflt - N
1 - - - - RAID5 Optl N 3.636 TB dsbl N N dflt N N
1 0 - - - RAID5 Optl N 3.636 TB dsbl N N dflt N N
1 0 0 252:2 8 DRIVE Onln N 1.818 TB dsbl N N dflt - N
1 0 1 252:3 9 DRIVE Onln N 1.818 TB dsbl N N dflt - N
1 0 2 252:4 10 DRIVE Onln N 1.818 TB dsbl N N dflt - N # <-- Used later for a storcli command
-----------------------------------------------------------------------------
[... omissis ...]
Physical Drives = 5
PD LIST :
=======
-----------------------------------------------------------------------------------------------------
EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp Type
-----------------------------------------------------------------------------------------------------
252:0 11 Onln 0 446.102 GB SATA SSD N N 512B MTFDDAK480TDS-1AW1ZA 02JG538D7A44703LEN U -
252:1 12 Onln 0 446.102 GB SATA SSD N N 512B MTFDDAK480TDS-1AW1ZA 02JG538D7A44703LEN U -
252:2 8 Onln 1 1.818 TB SAS HDD N N 512B ST2000NM003A U -
252:3 9 Onln 1 1.818 TB SAS HDD N N 512B ST2000NM003A U -
252:4 10 Onln 1 1.818 TB SAS HDD N N 512B ST2000NM003A U - # <--- THIS LINE (State: Onln)
-----------------------------------------------------------------------------------------------------
[... omissis ...]
Encomendei um novo ST2000NM003A
disco (que é um Seagate EXOS 7E8 SAS 12Gbit/s) e estou preparando a atividade para troca de disco. Para a troca, ativei a localização de disco com o comando ./storcli64 /c0/e252/s4 start locate
. Agora estou tentando entender qual é o procedimento correto para trocar o disco com defeito. Até onde eu posso entender, para um RAID5 realmente degradado , acho que devo:
- Coloque o disco original offline (o controlador não o colocou offline)
- Marcando o disco com falha como ausente
- Marcando o disco com falha como preparado para remoção
- Insira o novo disco
- Coloque o novo disco online
- Iniciar manualmente a construção do array
- Verificar status de reconstrução
Meu RAID não é relatado como degradado, mas talvez o mesmo procedimento possa ser aplicado. Em termos de comandos, é isso que eu acho que devo fazer com StorCli64
:
./storcli64 /c0/e252/s4 set offline
./storcli64 /c0/e252/s4 set missing
./storcli64 /c0/e252/s4 set spindown
- Troque o disco pelo novo no mesmo local
./storcli64 /c0/e252/s4 set spinup
e./storcli64 /c0/e252/s4 set online
./storcli64 /c0/e252/s4 insert dg=1 array=0 row=2
. Isso também deve iniciar o processo de reconstrução automaticamente. Os parâmetros (dg
como grupo de dispositivos, array e linha) são retirados da saídaStorCli
sobre a topologia../storcli64 /c0/e252/s4 show rebuild
Isso é mais ou menos o que tentei montar a partir do guia em PDF do meu controlador RAID, olhando para o capítulo que trata de StorCli
(Capítulo 6). No entanto, não consigo confirmar se esse é o procedimento correto.
Alguém pode confirmar se esse é um procedimento correto?