Monitorare o ricostruire un hardware RAID (Linux)
Per creare un PDF, utilizzare la funzione “Stampa” in fondo alla pagina.
Per Server Dedicati e Server Bare Metal
In questo articolo spieghiamo come monitorare un RAID hardware, individuare un RAID difettoso e, se necessario, ricostruirlo.
Nei prodotti Server Dedicati e Server Bare Metal vengono utilizzati controller hardware di 3ware, Adaptec, Areca, Broadcom o Dell.
Determinare il tipo di controller hardware
Con il comando lspci è possibile verificare quale controller hardware hai installato nel tuo server. Questo comando elenca tutti i dispositivi presenti sul Bus PCI.
Installare lspci
Se utilizzi un sistema minimale, devi installare questo programma manualmente. A tal fine, digita il seguente comando in base alla tua distribuzione Linux:
AlmaLinux 8, AlmaLinux 9, AlmaLinux 10, Rocky Linux 8, Rocky Linux 9 e Rocky Linux 10
dnf install pciutils
Ubuntu 22.04, Ubuntu 24.04, Debian 12 e Debian 13
Se hai effettuato l’accesso come root, puoi omettere sudo.
sudo apt-get install pciutils
Per verificare quale controller hardware è installato nel tuo server, digita il seguente comando:
lspci|grep RAID
Esempi:
[root@localhost ~]# lspci|grep RAID
01:00.0 RAID bus controller: Adaptec Series 6 - 6G SAS/PCIe 2 (rev 01)
[root@localhost ~]# lspci|grep RAID
02:00.0 Controller bus RAID: Broadcom / LSI MegaRAID Tri-Mode SAS3408 (rev 01)
[root@localhost ~]# lspci|grep RAID
01:09.0 Controller bus RAID: 3ware Inc serie 7xxx/8xxx PATA/SATA-RAID (rev 01)
[root@localhost ~]# lspci|grep RAID
02:0e.0 Controller bus RAID: Areca Technology Corp. ARC-1110 Controller RAID da 4 porte PCI-X a SATA
Programmi di gestione dei controller RAID
Il software necessario per la gestione dei rispettivi controller RAID è installato di serie. Se necessario, puoi scaricare il software per il rispettivo controller dalle seguenti pagine:
Controller RAID Adaptec:
https://storage.microsemi.com/en-us/downloads/
Controller RAID Broadcom:
https://www.broadcom.com/support/download-search
Controller RAID Dell:
https://www.dell.com/support/home/de-de?app=products
Controller RAID 3ware:
https://www.broadcom.com/support/download-search
Controller RAID Areca:
Visualizzare i dettagli relativi al controller RAID hardware
Controller RAID Adaptec
Il controller RAID Adaptec viene gestito tramite lo strumento da riga di comando arcconf. È possibile visualizzare informazioni dettagliate sul controller RAID Adaptec e sulla sua configurazione utilizzando i seguenti comandi:
Comando: arcconf getconfig 1
Spiegazione: questo comando consente di visualizzare informazioni relative al controller RAID, alla configurazione, agli array RAID, nonché ai dischi rigidi disponibili e al loro stato attuale.
Comando: arcconf getconfig 1 PD
Spiegazione: questo comando consente di visualizzare informazioni sui dischi rigidi presenti.
Comando: arcconf getlogs CONTROLLER_ID device ¦ dead ¦ event [clear ¦ tabular]
Spiegazione: con questo comando si visualizzano le voci del log. È possibile specificare i seguenti parametri per definire il tipo di voci del log da visualizzare:
DEVICE: visualizza tutte le voci di log relative agli errori rilevati dal controller su tutti i dispositivi collegati.
DEAD: visualizza tutte le voci di log in cui sono stati registrati guasti a dispositivi e dischi rigidi.
EVENT: visualizza tutte le voci di log contenenti informazioni su eventi specifici (ad es. ricostruzioni, LDM, ecc.)
Inoltre, è possibile specificare i seguenti parametri:
tabular: visualizza il log in formato tabellare.
clear: cancella il log del controller specificato.
Esempio: arcconf getlogs 1 device tabular
Comando: arcconf getlogs ID_CONTROLLER device ¦ dead ¦ event [clear ¦ tabular] > NOME_FILE.log
Spiegazione: questo comando scrive le voci del log in un file.
Esempio: arcconf getlogs 1 device tabular > device.log
Per ulteriori informazioni, consultare la pagina seguente:
Controller RAID Broadcom e Dell
Il controller RAID Broadcom viene gestito e controllato tramite lo strumento da riga di comando StorCLI. A seconda della generazione del controller e del sistema operativo, utilizzerai:
storcli64: per i controller Broadcom/LSI più diffusi (ad es. MegaRAID, AVAGO)
storcli2: per l’ultima generazione di controller Tri-Mode (NVMe/SAS/SATA).
Il controller RAID Dell viene gestito e controllato tramite lo strumento da riga di comando PERCCLI. A seconda della generazione del controller e del sistema operativo, utilizzerai:
perccli64: per i controller RAID Dell PowerEdge di generazioni precedenti.
perccli2: per l’ultima generazione di controller Dell (ad es. sistemi GraniteRapids/Blackwell).
Note
- Negli esempi seguenti viene utilizzato storcli64. Se utilizzi un controller Dell o un sistema più recente, sostituisci il comando con perccli64, storcli2 o perccli2. La sintassi rimane pressoché identica.
- Se non hai la certezza di quale strumento da riga di comando sia previsto per il tuo controller RAID, prova i comandi elencati di seguito con il suffisso show. L’esecuzione di uno strumento “errato” comporta semplicemente la visualizzazione di un messaggio di errore. Non provoca alcun danno.
Verificare lo stato del RAID e dei dischi rigidi
Prima di sostituire un disco rigido, è necessario identificare con certezza l'unità difettosa. Con i seguenti comandi è possibile visualizzare informazioni dettagliate sul controller RAID Broadcom e sulla configurazione:
Comando: storcli64 /c0 show all
Spiegazione: questo comando consente di visualizzare informazioni sul controller RAID e sulla configurazione.
Comando: storcli64 /c0/eall/sall show
Spiegazione: questo comando consente di visualizzare informazioni sui dischi rigidi presenti.
Comando: storcli64 /c0/eall/sall show all
Spiegazione: con questo comando è possibile visualizzare informazioni sui dischi rigidi disponibili e sul loro stato attuale (numero di serie, temperatura, ecc.). Presta attenzione ai messaggi di stato come ad esempio «Failed» o «UBad» (Unconfigured Bad).
Prendi nota del numero di serie sia dei dischi rigidi difettosi che di quelli funzionanti. Se un disco non risponde più, elenca tutti i numeri di serie rimanenti per individuare lo slot per esclusione.
Comando: storcli64 /c0 show events
Spiegazione: con questo comando si recupera il registro eventi (Event Log) del primo controller RAID hardware. Questo comando è uno strumento importante per la diagnosi degli errori nei controller LSI, Broadcom o Dell PERC, poiché va ben oltre i registri standard del sistema operativo. Elenca in ordine cronologico tutti gli eventi memorizzati direttamente nel firmware del controller.
Errori hardware: ad esempio, dischi rigidi difettosi, messaggi di errore durante il controllo dei supporti dati, errori relativi all’unità di backup a batteria
Cambiamenti di stato: ad esempio, avvio e completamento della ricostruzione di un RAID
Errori critici: ad es. errori fatali o timeout
Comando: storcli64 /c0 show events limit=50
Spiegazione: con questo comando si limita l’output del registro eventi del primo controller RAID hardware a 50 voci.
Comando: storcli64 /c0 show events file=raid_events.txt
Spiegazione: con questo comando si reindirizzano i dati del registro eventi (Event Log) del primo controller RAID hardware nel file raid_events.txt.
Per ulteriori informazioni, consulta la pagina seguente:
Controller RAID Dell
Il controller RAID Dell viene gestito tramite l'interfaccia di comando del controller RAID PowerEdge (PERCCLI). Puoi visualizzare informazioni dettagliate sul controller RAID Dell e sulla sua configurazione utilizzando i seguenti comandi:
Comando: perccli64 /c0/e32/s0 show all
Spiegazione: questo comando consente di visualizzare le informazioni relative al disco rigido 0.
Comando: perccli64 /c0/e32/s1 show all
Spiegazione: questo comando consente di visualizzare le informazioni relative al disco rigido 1.
Comando: perccli64 /c0 show
Spiegazione: con questo comando si visualizzano le informazioni sui dischi rigidi presenti.
Comando: perccli /c0 show eventloginfo
Spiegazione: con questo comando è possibile visualizzare le voci di log relative al controller 0.
Per ulteriori informazioni, consulta la pagina seguente:
Guida di riferimento alla CLI del controller RAID Dell EMC PowerEdge
Controller RAID 3ware
Per visualizzare i dettagli relativi al controller RAID 3ware, immetti il seguente comando:
# dmesg|grep 3ware
3ware Storage Controller device driver for Linux v1.26.02.002.
scsi0 : 3ware Storage Controller
3w-xxxx: scsi0: Found a 3ware Storage Controller at 0xd800, IRQ: 18.
scsi 0:0:0:0: Direct-Access 3ware Logical Disk 0 1.2 PQ: 0 ANSI: 0
3ware 9000 Storage Controller device driver for Linux v2.26.02.010.
tw_cli
Il controller RAID 3ware si gestisce tramite l'interfaccia a riga di comando 3ware Storage Controller Management. Per aprire l'interfaccia a riga di comando, digita il comando tw_cli. Il comando help consente di visualizzare tutti i comandi disponibili. Per uscire dalla console, digita exit.
# tw_cli
//XXX> help
Copyright(c) 2004-2006 Applied Micro Circuits Corporation(AMCC). All rights reserved.
AMCC/3ware CLI (version 2.00.06.007)
Commands Description
-------------------------------------------------------------------
focus Changes from one object to another. For Interactive Mode Only!
show Displays information about controller(s), unit(s) and port(s).
flush Flush write cache data to units in the system.
rescan Rescan all empty ports for new unit(s) and disk(s).
update Update controller firmware from an image file.
commit Commit dirty DCB to storage on controller(s). (Windows only)
/cx Controller specific commands.
/cx/ux Unit specific commands.
/cx/px Port specific commands.
/cx/bbu BBU specific commands. (9000 only)
/ex Enclosure specific commands. (9KSX/SE only)
/ex/slotx Enclosure Slot specific commands.
/ex/fanx Enclosure Fan specific commands.
/ex/tempx Enclosure Temperature Sensor specific commands.
Certain commands are qualified with constraints of controller type/model support.
Please consult the twi_cli documentation for explanation of the controller-qualifiers.
The controller-qualifiers of the Enclosure commands (/ex) also apply to Enclosure
Element specific commands (e.g., /ex/elementx).
Type help <command> to get more details about a particular command.
For more detail information see twi_cli's documentation.
//XXX>
Per visualizzare le informazioni sullo stato del sistema RAID, digita il seguente comando:
//XXXX> info
Ctl Model Ports Drives Units NotOpt RRate VRate BBU
------------------------------------------------------------------------
c0 8006-2LP 2 2 1 0 2 - -
//XXXX> info c0
Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy
------------------------------------------------------------------------------
u0 RAID-1 OK - - - 232.885 ON -
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 OK u0 232.88 GB 488397168 4ND0XYFE
p1 OK u0 232.88 GB 488397168 4ND0YH77
Per visualizzare i messaggi di allarme del controller RAID hardware, digita il seguente comando:
//XXXX> show alarms
Ctl Date Severity Alarm Message
------------------------------------------------------------------------------
c0 - INFO (0x0F:0x0007): Initialization complete: Unit #0
c0 - INFO (0x0F:0x000C): Initialization started: Unit #0
Un messaggio di allarme viene visualizzato nel seguente formato:
//XXXX> show alarms
Ctl Date Severity Alarm Message
------------------------------------------------------------------------------
c0 - INFO (0x0F:0x000B): Rebuild started: Unit #0
c0 - ERROR (0x0F:0x0002): Unit degraded: Unit #0
Per rimuovere un disco rigido difettoso dalla seconda porta del RAID, digita il seguente comando:
user@host:~# //XXXX> maint remove c0 p1
user@host:~# Rimozione della porta /c0/p1 ... Done.
Dopo aver sostituito il disco rigido difettoso, è necessario che il nuovo disco rigido venga riconosciuto. A tal fine, digita il seguente comando:
//XXXX> maint rescan
Rescanning controller /c0 for units and drives ...Done.
Found the following unit(s): [none].
Found the following drive(s): [/c0/p1].
Per collegare un disco rigido alla seconda porta e ricostruirlo, digita il seguente comando:
//XXXX> maint rebuild c0 u0 p1
Sending rebuild start request to /c0/u0 on 1 disk(s) [1] ... Done.
Per visualizzare le informazioni sulla ricostruzione del RAID, digita il seguente comando:
//XXXX> info c0
Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy
------------------------------------------------------------------------------
u0 RAID-1 REBUILDING 0 - - 232.885 ON -
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 OK u0 232.88 GB 488397168 4ND0XYFE
p1 DEGRADED u0 232.88 GB 488397168 4ND0YH77
Monitorare il controller RAID 3ware con il software 3ware Disk Manager 2
3ware mette a disposizione il software 3ware Disk Manager 2 (3dm2). Questo software consente di gestire e monitorare il controller RAID 3ware.
Puoi scaricare 3ware Disk Manager 2 dalla seguente pagina:
https://www.broadcom.com/support/download-search
Seleziona l’opzione «Storage Adapters, Controllers, and ICs» nella sezione «Product Group». Successivamente, seleziona l’opzione «All Storage Adapters, Controllers, and ICs» dall’elenco «Product Family». In "Keyword" inserisci il modello del tuo controller (vedi l'output di lspci) e fai clic su "Search".
Documentazione 3ware
Per ulteriori informazioni sull'installazione, la configurazione e l'utilizzo, consulta la documentazione 3ware. È disponibile alla pagina seguente:
https://www.broadcom.com/support/download-search
Seleziona l’opzione “Storage Adapters, Controllers, and ICs” nella sezione “Product Group”. Successivamente, seleziona l’opzione “All Storage Adapters, Controllers, and ICs” dall’elenco “Product Family”. In "Keyword" inserisci il modello del tuo controller (vedi l'output di lspci) e clicca su "Search".
Controller RAID Areca
Per visualizzare i dettagli relativi al controller RAID Areca, digita il seguente comando:
# dmesg|grep -i areca
ARECA RAID ADAPTER0: FIRMWARE VERSION V1.43 2007-4-17
scsi0 : Areca SATA Host Adapter RAID Controller
scsi 0:0:0:0: Direct-Access Areca ARC-1110-VOL#00 R001 PQ: 0 ANSI: 5
scsi 0:0:16:0: Processor Areca RAID controller R001 PQ: 0 ANSI: 0
Di seguito sono elencati alcuni comandi di esempio. Puoi accedere al controller dal Rescue-System:
arcmsr_cli64
Copyright (c) 2004 Areca, Inc. All Rights Reserved.
Areca CLI, Version: 1.71.240( Linux )
Controllers List
----------------------------------------
Controller#01(PCI): ARC-1110
Current Controller: Controller#01
----------------------------------------
CMD Description
==========================================================
main Show Command Categories.
set General Settings.
rsf RaidSet Functions.
vsf VolumeSet Functions.
disk Physical Drive Functions.
sys System Functions.
net Ethernet Functions.
event Event Functions.
hw Hardware Monitor Information.
exit Exit CLI.
==========================================================
Command Format: <CMD> [Sub-Command] [Parameters].
Note: Use <CMD> -h or -help to get details.
CLI>
Con il comando <cmd> info puoi visualizzare le informazioni di sistema. Ad esempio, dopo aver digitato il comando hw info, vengono visualizzate le informazioni del monitor hardware:
CLI> hw info
The Hardware Monitor Information
===========================================
Fan#1 Speed (RPM) : 2673
HDD #1 Temp. : 48
HDD #2 Temp. : 47
HDD #3 Temp. : 51
HDD #4 Temp. : 0
===========================================
GuiErrMsg<0x00>: Success.
CLI>
Per visualizzare le informazioni relative ai dischi rigidi, digita il seguente comando:
CLI> disk info
# ModelName Serial# FirmRev Capacity State
===============================================================================
1 ST3750640AS 5QD5G7Z1 3.AAK 750.2GB RaidSet Member(1)
2 ST3750640AS 5QD5G6JR 3.AAK 750.2GB RaidSet Member(1)
3 ST3750640AS 5QD5G7XQ 3.AAK 750.2GB RaidSet Member(1)
===============================================================================
GuiErrMsg<0x00>: Success.
CLI>
Con il seguente comando è possibile visualizzare le informazioni di sistema relative al controller RAID Areca:
CLI> sys info
The System Information
===========================================
Main Processor : 500MHz
CPU ICache Size : 32KB
CPU DCache Size : 32KB
System Memory : 256MB/333MHz
Firmware Version : V1.43 2007-4-17
BOOT ROM Version : V1.43 2007-4-17
Serial Number : Y813CAAAAR101890
Controller Name : ARC-1110
===========================================
GuiErrMsg<0x00>: Success.
CLI>
Per visualizzare gli eventi in corso, digita il seguente comando:
CLI> event info
Date-Time Device Event Type
===============================================================================
2009-07-09 07:23:14 H/W MONITOR Raid Powered On
2008-09-29 08:06:24 H/W MONITOR Raid Powered On
2008-09-29 07:51:37 H/W MONITOR Raid Powered On
...
Con il seguente comando è possibile visualizzare le informazioni relative al set RAID corrente:
CLI> rsf info
# Name Disks TotalCap FreeCap DiskChannels State
===============================================================================
1 Raid Set # 00 3 2250.5GB 0.0GB 123 Normal
===============================================================================
GuiErrMsg<0x00>: Success.
CLI>
In questo esempio, il set RAID è composto da 3 unità da 750 GB.
Per visualizzare le informazioni relative ai volumi RAID logici, digita il seguente comando:
CLI> vsf info
# Name Raid# Level Capacity Ch/Id/Lun State
===============================================================================
1 ARC-1110-VOL#00 1 Raid5 1500.3GB 00/00/00 Normal
===============================================================================
GuiErrMsg<0x00>: Success.
CLI>
Se desideri apportare modifiche a un RAID hardware con controller Areca RAID, è necessaria una password. La password predefinita è "0000". Esempio:
<CLI> set password=0000.
Documentazione Areca
Per ulteriori informazioni sull'installazione, la configurazione e l'utilizzo, consulta la documentazione di Areca. È disponibile alla seguente pagina:
Operazioni necessarie dopo la sostituzione di un disco rigido
Quando sostituisci un disco rigido guasto, la ricostruzione (rebuild) del sistema RAID parte di norma automaticamente. Per garantire il corretto funzionamento del sistema RAID, ti consigliamo di monitorare la ricostruzione.
Nota bene
- Il controller RAID Broadcom viene gestito e controllato tramite lo strumento da riga di comando StorCLI. A seconda della generazione del controller e del sistema operativo, utilizza:
storcli64: per i comuni controller Broadcom/LSI (ad es. MegaRAID, AVAGO)
storcli2: per l'ultima generazione di controller Tri-Mode (NVMe/SAS/SATA) - Il controller RAID Dell viene gestito e controllato tramite lo strumento da riga di comando PERCCLI. A seconda della generazione del controller e del sistema operativo, utilizza:
perccli64: per i controller RAID Dell di generazioni precedenti
perccli2: per l’ultima generazione di controller RAID Dell (ad es. sistemi GraniteRapids/Blackwell) - Se non hai la certezza di quale strumento da riga di comando sia previsto per il tuo controller RAID, prova i comandi elencati di seguito aggiungendo l’opzione show. L’esecuzione di uno strumento “errato” comporta semplicemente la visualizzazione di un messaggio di errore, senza causare alcun danno.
Per avviare manualmente la ricostruzione, se necessario, digita il seguente comando:
Broadcom
storcli64 /c[Controller-Nummer]/e[Enclosure-ID]/s[Slot-ID] start rebuild
storcli2 /c[Controller-Nummer]/e[Enclosure-ID]/s[Slot-ID] start rebuild
Esempi:
storcli64 /c0/e16/s4 start rebuild
storcli2 /c0/e16/s4 start rebuild
Dell
perccli64 /c[numero controller]/e[ID enclosure]/s[ID slot] start rebuild
perccli2 /c[numero controller]/e[ID enclosure]/s[ID slot] start rebuild
Esempi:
perccli64 /c0/e32/s4 start rebuild
perccli2 /c0/e32/s4 start rebuild
Per monitorare lo stato di avanzamento, immetti il seguente comando:
Broadcom
storcli64 /call/eall/sall show rebuild
storcli2 /call/eall/sall show rebuild
Dell
perccli64 /call/eall/sall show rebuild
perccli2 /call/eall/sall show rebuild
Inoltre, è possibile gestire la ricostruzione utilizzando i seguenti comandi:
Broadcom
Messa in pausa:
storcli64 /c[numero controller]/e[ID enclosure]/s[ID slot] pause rebuild
storcli2 /c[numero controller]/e[ID enclosure]/s[ID slot] pause rebuild
Esempi:
storcli64 /c0/e16/s4 pause rebuild
storcli2 /c0/e16/s4 pause rebuild
Riprendere:
storcli64 /c[Controller-Nummer]/e[Enclosure-ID]/s[Slot-ID] resume rebuild
storcli2 /c[Controller-Nummer]/e[Enclosure-ID]/s[Slot-ID] resume rebuild
Esempi:
storcli64 /c0/e16/s4 resume rebuild
storcli2 /c0/e16/s4 resume rebuild
Interrompere la ricostruzione:
storcli64 /c[Controller-Nummer]/e[Enclosure-ID]/s[Slot-ID] stop rebuild
storcli2 /c[Controller-Nummer]/e[Enclosure-ID]/s[Slot-ID] stop rebuild
Esempi:
storcli64 /c0/e16/s4 stop rebuild
storcli2 /c0/e16/s4 stop rebuild
Dell
Sospendere la ricostruzione:
perccli64 /c[Controller-Nummer]/e[Enclosure-ID]/s[Slot-ID] pause rebuild
perccli2 /c[Controller-Nummer]/e[Enclosure-ID]/s[Slot-ID] pause rebuild
Esempi:
perccli64 /c0/e32/s4 pause rebuild
perccli2 /c0/e32/s4 pause rebuild
Riprendere la ricostruzione:
perccli64 /c[Controller-Nummer]/e[Enclosure-ID]/s[Slot-ID] resume rebuild
perccli2 /c[Controller-Nummer]/e[Enclosure-ID]/s[Slot-ID] resume rebuild
Esempi:
perccli64 /c0/e32/s4 resume rebuild
perccli2 /c0/e32/s4 resume rebuild
Interrompere la ricostruzione:
perccli64 /c[Controller-Nummer]/e[Enclosure-ID]/s[Slot-ID] stop rebuild
perccli2 /c[Controller-Nummer]/e[Enclosure-ID]/s[Slot-ID] stop rebuild
Esempi:
perccli64 /c0/e32/s4 stop rebuild
perccli2 /c0/e32/s4 stop rebuild
Attenzione
- A differenza del comando pause, il comando stop interrompe completamente la ricostruzione. Se successivamente si riavvia la ricostruzione, il controller di solito ricomincia da zero (0%), poiché la coerenza del set RAID non è più garantita.
- Dopo uno stop rebuild, lo stato del disco rigido torna solitamente a UGood (Unconfigured Good) oppure rimane in stato Offline/Degraded, poiché l’unità non è stata ancora completamente sincronizzata.
- Il comando stop viene utilizzato principalmente quando, ad esempio, ci si accorge di aver avviato per errore il rebuild sul disco rigido sbagliato.
I comandi storcli/perccli sopra indicati sono validi per le moderne soluzioni Broadcom/Dell. Per i server esistenti meno recenti con Adaptec (arcconf), 3ware (tw_cli) o Areca (arcmsr_cli) continuano ad essere validi gli strumenti specifici dei rispettivi produttori.
- Adaptec: arcconf getconfig 1 mostra lo stato. In questo caso, la ricostruzione si avvia solitamente in modo automatico non appena un disco viene contrassegnato come "hot spare" o inserito in un array degradato.
- 3ware: utilizzare tw_cli /c0 show per una panoramica e maint rebuild per la ricostruzione.