Diagnosi e sostituzione di un disco rigido difettoso (Server Dedicato Linux o Server Bare Metal Linux con software RAID)
Per creare un PDF, utilizzare la funzione “Stampa” in fondo alla pagina.
Se ricevi una notifica di errore del disco rigido o noti delle anomalie nel sistema, devi agire in fretta per ripristinare la ridondanza del tuo array RAID. In questo articolo scoprirai come identificare un disco rigido difettoso su un Server Dedicati Linux o un Server Bare Metal Linux con RAID software e come preparare il Server alla sostituzione del disco difettoso.
Nota bene:
Questo articolo presuppone una conoscenza di base dell'amministrazione dei server con Linux. Se hai domande o hai bisogno di assistenza riguardo alla sostituzione di un disco rigido difettoso, contatta l'Assistenza Clienti. Trovi le informazioni di contatto nella pagina seguente:Assistenza Clienti IONOS.
Gli esempi riportati in questo articolo si riferiscono principalmente ai classici dischi SATA/SAS in configurazioni RAID software con nomi di dispositivi come /dev/sda e /dev/sdb. Nel caso degli NVMe, i nomi dei dispositivi, gli strumenti di diagnostica e, a seconda della configurazione, anche alcune singole operazioni possono variare.
Per garantire la massima affidabilità possibile, devi monitorare il RAID software del tuo server. Se ricevi un’e-mail di notifica relativa a un disco rigido difettoso o se riscontri un guasto a un disco rigido, devi identificare il disco difettoso e preparare il server per la sostituzione del disco rigido difettoso. Contatta quindi l'Assistenza Clienti per avviare la procedura di sostituzione del disco rigido.
Importante:
I sistemi RAID consentono una maggiore affidabilità e/o una maggiore velocità. Tuttavia, non sostituiscono i backup regolari. Per evitare la perdita di dati, ti consigliamo di eseguire regolarmente il backup dei tuoi dati. Assicurati inoltre di eseguire il backup dei tuoi dati prima di eseguire le operazioni descritte di seguito per garantire la sicurezza dei tuoi dati.
Per ulteriori informazioni sulla creazione dei backup, consulta la seguente categoria del Centro Assistenza IONOS: Soluzioni di Backup
Verificare lo stato del RAID software
Stabilisci una connessione SSH al tuo server e accedi al server con il tuo account root. Trovi le istruzioni per farlo nei seguenti articoli:
Come stabilire una connessione SSH al tuo server Linux da un computer con Microsoft Windows
Come stabilire una connessione SSH al tuo server Linux da un computer Linux
Per verificare lo stato del software RAID, inserisci il seguente comando nella shell:
cat /proc/mdstat
Interpretare i risultati
RAID integro: Un RAID funzionante viene indicato dallo stato [UU] (per RAID 1) o [UUUU] (per RAID 5/6 con 4 dischi rigidi). Ogni "U" sta per "Up" (attivo).
Dispositivo difettoso/mancante: Un [_U] o [U_] indica che un disco rigido è mancante o non è sincronizzato.
Contrassegno Faulty: Un (F) dopo un dispositivo (ad es. sdb1[2](F)) significa che il sistema ha già contrassegnato il disco come difettoso a livello software ("faulty").
Nelle configurazioni con 2 SSD (sistema operativo) e HDD aggiuntivi (dati) vedrai diversi dispositivi md:
- md1, md2, md127 o simili (spesso RAID 1 per Boot/Root)
- md11 o simili (spesso RAID 5 o 6 per i dati)
Controlla tutte le sezioni dell'output per verificare l'eventuale assenza di "U" o la presenza di contrassegni (F). Ecco un esempio di RAID integro:
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md2 : active raid1 sda3[1] sdb3[0]
262016 blocks [2/2] [UU]
md1 : active raid1 sda2[1] sdb2[0]
119684160 blocks [2/2] [UU]
md0 : active raid1 sda1[1] sdb1[0]
102208 blocks [2/2] [UU]
unused devices: <none>
L'esempio sopra riportato mostra tre Multiple Devices o array RAID (md0, md1, md2). Per ciascuna di queste unità logiche viene indicato da quali partizioni è composta e su quali unità si trovano tali partizioni. L'unità logica md0 è composta dalle partizioni sda1 e sdb1. Nella riga riportata sotto la rispettiva unità logica, alla fine della riga tra parentesi quadre viene mostrato lo stato delle singole partizioni.
Se un disco rigido è mancante o difettoso, questo viene spesso indicato da un [_U] o [U_]. Un (F) dopo una partizione (ad es. sdb3[2] (F)) significa che è stata contrassegnata come faulty (difettosa).
Nel seguente esempio, in tutte le unità logiche è integrata solo una partizione, che si trova sul disco rigido sda. La rispettiva partizione presente sul secondo disco rigido sdb non è integrata. Puoi notarlo anche dalla voce [_U]. Le partizioni non integrate del disco rigido sdb indicano che su questo disco rigido si è verificato un errore o un guasto.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 sda1[1]
102208 blocks [2/1] [_U]
md1 : active raid1 sda2[1]
119684160 blocks [2/1] [_U]
md2 : active raid1 sda3[1]
262016 blocks [2/1] [_U]
unused devices: <none>
Nel seguente esempio, un disco rigido difettoso è ancora integrato nel RAID. Lo si riconosce dall'informazione (F) mostrata in md1.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda3[0] sdb3[2](F)
439553856 blocks super 1.0 [2/1] [U_]
bitmap: 1/4 pages [4KB], 65536KB chunk
md1 : active raid1 sdb1[2](F) sda1[0]
19529600 blocks super 1.0 [2/1] [U_]
unused devices: <none>
Diagnosi dei guasti e determinazione dei dati necessari per la sostituzione del disco rigido
Al fine di rilevare gli errori del disco rigido, ti consigliamo di procedere come segue:
Installa il programma Smartctl. Smartctl è un programma a riga di comando per monitorare i volumi utilizzando la tecnologia SMART (Self-Monitoring, Analysis and Reporting Technology). Con questo programma è possibile verificare se un disco rigido è difettoso. Il programma è un componente degli Smartmontools. Gli Smartmontools sono disponibili come pacchetti per molte distribuzioni Linux.
Nota bene:
In alcuni casi può accadere che un difetto del disco rigido non possa essere rilevato dai valori smart. Per questo motivo, ti consigliamo di analizzare anche il file di log /var/log/messages.
Installare Smartctl
Per installare smartctl, accedi al server come amministratore.
Installa i pacchetti necessari a seconda della distribuzione:
AlmaLinux 9 e 10, nonché Rocky Linux 9 e 10:
yum install smartmontools
Debian 12 und 13 sowie Ubuntu 24.04 und 26.04:
sudo apt-get install smartmontools
Visualizzare le informazioni sul disco rigido
Per visualizzare l'elenco dei dischi rigidi, digita il seguente comando:
smartctl --scan
Esempio:
root@8E8885C ~]# smartctl --scan
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
Per visualizzare informazioni dettagliate per la diagnosi dell'errore, digita il seguente comando:
smartctl -iHAl error [NOMEDELDISCORIGIDO]
Nota bene:
Le interfacce dei dispositivi devono essere specificate nel seguente formato:
Dispositivi SCSI / SATA:
smartctl - iHAl error /dev/sd[a-z]
Esempio:
[root@localhost ~] # smartctl -iHAl error /dev/sda
- Le unità NVMe usano denominazioni diverse, ad esempio /dev/nvme0 o /dev/nvme0n1, e, a seconda della richiesta, necessitano di strumenti diversi o aggiuntivi.
Dopo aver inserito il comando, visualizzerai ad es. le seguenti informazioni:
[root@localhost ~]# smartctl -iHAl error /dev/sda
smartctl 6.5 2016-05-07 r4318 [x86_64-linux-3.10.0-862.14.4.el7.x86_64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: HGST HUS722T1TALA604
Serial Number: WMC6N0K2RW66
LU WWN Device Id: 5 0014ee 004722db0
Firmware Version: RAGNWA07
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Fri May 3 07:45:14 2019 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always 0
3 Spin_Up_Time 0x0027 183 183 021 Pre-fail Always 3833
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always 9
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always 0
9 Power_On_Hours 0x0032 097 097 000 Old_age Always 2560
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always 9
16 Unknown_Attribute 0x0022 000 200 000 Old_age Always 26802171994
183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always 0
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always 4
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always 67
194 Temperature_Celsius 0x0022 116 111 000 Old_age Always 31
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always 0
198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline 0
SMART Error Log Version: 1
No Errors Logged
Interpretazione dei parametri e diagnosi dei guasti
Analizza le informazioni dettagliate che hai ottenuto con il comando smartctl -iHAl error [NOMEDELDISCORIGIDO]. Nella prima sezione sono ocntenute informazioni che puoi utilizzare per identificare il disco rigido:
=== START OF INFORMATION SECTION ===
Device Model: HGST HUS722T1TALA604
Serial Number: WMC6N0K2RW66
LU WWN Device Id: 5 0014ee 004722db0
Firmware Version: RAGNWA07
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Fri May 3 07:45:14 2019 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
In questa sezione puoi visualizzare, tra le altre cose, il modello del dispositivo e il numero di serie del disco rigido che stai analizzando.
Nella seconda sezione, viene valutato da Smartctl lo stato attuale del disco rigido. Se, ad esempio, visualizzi il valore "Failed" o "UNKNOWN" al posto di "PASSED", è necessario sostituire il disco rigido il prima possibile.
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Nella terza sezione, puoi visualizzare in dettaglio i valori smart che sono stati determinati. Accanto ad ogni valore percentuale attuale (VALUE), vengono elencati il valore peggiore misurato (WORST)e il rispettivo valore limite (THRESH). Se il valore percentuale attuale (VALORE) o il valore peggiore misurato (WORST) supera il valore limite (THRESH), visualizzerai nella colonna WHEN_FAILED un avviso SMART (ad es. FAILING_NOW).
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always 0
3 Spin_Up_Time 0x0027 183 183 021 Pre-fail Always 3833
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always 9
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always 0
9 Power_On_Hours 0x0032 097 097 000 Old_age Always 2560
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always 9
16 Unknown_Attribute 0x0022 000 200 000 Old_age Always 26802171994
183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always 0
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always 4
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always 67
194 Temperature_Celsius 0x0022 116 111 000 Old_age Always 31
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always 0
198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline 0
I seguenti parametri possono indicare la minaccia di un guasto imminente del disco rigido prima che questo venga visualizzato in un avviso SMART:
Reallocated_Sector_Ct: specifica il numero di settori che sono stati riassegnati a causa di errori di lettura. Se un settore non può più essere letto, scritto o controllato correttamente, il controller gli assegna automaticamente un settore sostitutivo dall'area di riserva del disco rigido. Il settore originale, difettoso, viene contrassegnato in modo permanente come difettoso e non viene più utilizzato.
Nota bene
Un valore superiore a zero non è necessariamente motivo di preoccupazione, purché rimanga stabile per un lungo periodo. Tuttavia, un indicatore critico di un imminente guasto del disco rigido è un numero in costante aumento di settori riassegnati. Per individuare un guasto in tempo, dovresti quindi registrare regolarmente questo valore e, in caso di aumento continuo, provvedere immediatamente alla sostituzione.
Current_Pending_Sector: specifica il numero di settori instabili in attesa di rimappatura. Se un settore non può essere letto e scritto correttamente, riceve prima lo stato "Current Pending Sector". Il settore non viene riassegnato in questo stato, poiché i dati del settore sono sconosciuti. Solo dopo diversi tentativi di lettura o scrittura non riusciti viene assegnato un settore di sostituzione e il settore difettoso viene contrassegnato in modo permanente come illeggibile. Il valore Current_Pending_Sector è un indicatore importante per la sostituzione di un disco rigido. Se questo valore non è uguale a zero, è probabile che si verificherà un guasto del disco rigido.
Offline_Uncorrectable: specifica il numero di errori agli accessi di lettura e scrittura per un settore.
L'ultima sezione riguarda il log interno del disco rigido. Gli errori vengono registrati qui se gli ordini di lavoro del server non sono stati elaborati correttamente dal disco rigido. Se il numero di errori in questa sezione è di almeno due cifre, è necessario sostituire il disco rigido il prima possibile.
SMART Error Log Version: 1
No Errors Logged
Visualizzare informazioni dettagliate per la sostituzione del disco
Le seguenti informazioni sono necessarie per sostituire il disco rigido difettoso:
Denominazione del disco rigido nel RAID (ad es. sda)
Numero di serie
Modello
File di log (opzionale)
Creare un log SMART
Per creare un log SMART completo, digita il seguente comando:
smartctl -x [NOMEDELDISCORIGIDO]
Esempio:
[root@localhost ~]# smartctl -x /dev/sda
Se il disco rigido non è più accessibile con Smartctl, puoi visualizzare le informazioni necessarie utilizzando il programma hdparm. Per installare questo programma, procedi come segue:
AlmaLinux 9 und AlmaLinux 10, Rocky Linux 9 und Rocky Linux 10
yum -y install hdparm
Debian 12 und 13 sowie Ubuntu 24.04 und 26.04:
sudo apt-get update
sudo apt-get install hdparm
Successivamente, digita il seguente comando per accedere alle informazioni necessarie per la sostituzione del disco:
hdparm -i /dev/sda
Nota bene:
Se il log SMART è stato creato come descritto sopra, questo contiene le informazioni sufficienti per sostituire il disco rigido e puoi quindi procedere contattando l'Assistenza Clienti.
Se non è possibile visualizzare il numero di serie del disco rigido difettoso utilizzando Smartctl, puoi, in alternativa, fornire all'Assistenza Clienti il numero di serie del disco rigido o dei dischi rigidi che sono funzionanti.
- hdparm è adatto principalmente ai classici dischi rigidi SATA/ATA e non è compatibile con le unità NVMe. Se nel tuo sistema vengono utilizzati dischi NVMe, le informazioni necessarie sul dispositivo non possono essere lette con hdparm, ma di solito con strumenti NVMe specifici della distribuzione, ad esempio nvme-cli. Questo articolo descrive tuttavia la sostituzione di dischi rigidi classici in configurazioni RAID software con nomi di dispositivi come /dev/sda e /dev/sdb.
Preparare il server per la sostituzione del disco rigido
Nell'esempio precedente abbiamo preso come disco difettoso il secondo disco rigido (sdb). Durante la verifica dello stato, il software RAID mostra ad es. il seguente stato:
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda3[0] sdb3[2]
439553856 blocks super 1.0 [2/1] [UU]
md1 : active raid1 sdb1[2] sda1[0]
19529600 blocks super 1.0 [2/1] [UU]
unused devices:
In questo esempio, il secondo disco rigido (sdb) è ancora integrato nel RAID ed è quindi ancora in funzione.
Contrassegnare manualmente Raid Device come "faulty" per poterlo rimuovere dal RAID.
Per rimuovere il disco rigido difettoso dal RAID, contrassegna il disco rigido difettoso come “faulty”. Per farlo, digita il seguente comando:
[root@localhost ~]# mdadm PERCORSO_DEL_RAID_ARRAY -f PERCORSO_DEL_DISCO_RIGIDO
Negli esempi che seguono, i dischi rigidi sdb3 e sdb1 vengono contrassegnati come faulty:
[root@localhost ~]# mdadm /dev/md3 -f /dev/sdb3
mdadm: set /dev/sdb3 faulty in /dev/md3
[root@localhost ~]# mdadm /dev/md1 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md1
Dopo aver inserito il comando, il RAID presenta il seguente stato:
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda3[0] sdb3[2](F)
439553856 blocks super 1.0 [2/1] [U_]
md1 : active raid1 sdb1[2](F) sda1[0]
19529600 blocks super 1.0 [2/1] [U_]
unused devices: <none>
Rimuovere una partizione dal RAID
Per rimuovere una partizione dal RAID, digita il seguente comando:
[root@localhost ~]# mdadm -r /PERCORSO_DEL_RAID_ARRAY /PERCORSO_DEL_DISCO_RIGIDO
Negli esempi che seguono, i dischi rigidi sdb3 e sdb1 vengono rimossi rispettivamente dal RAID md3 e md1:
[root@localhost ~]# mdadm -r /dev/md3 /dev/sdb3
mdadm: hot removed /dev/sdb3 from /dev/md3
[root@localhost ~]# mdadm -r /dev/md1 /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md1
Successivamente, verifica lo stato del RAID. In questo esempio, il RAID preparato per la sostituzione del disco presenta il seguente stato finale:
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda3[0]
439553856 blocks super 1.0 [2/1] [U_]
md1 : active raid1 sda1[0]
9529600 blocks super 1.0 [2/1] [U_]
unused devices: <none>
Verificare le partizioni di swap utilizzate
Controlla quali partizioni di swap vengono utilizzate dal sistema operativo. Per farlo, digita il seguente comando:
[root@localhost ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda2 partition 9765884 0 -1
/dev/sdb2 partition 9765884 0 -2
In alternativa, puoi utilizzare il seguente comando per verificare quali partizioni di swap vengono definite su fstab:
[root@localhost ~]# grep swap /etc/fstab
/dev/sda2 none swap sw
/dev/sdb2 none swap sw
Disattivare la partizione di swap sul dispositivo difettoso
Disattiva la partizione di swap sul disco rigido difettoso in modo che questo possa essere sostituito. Per farlo, immetti il seguente comando:
[root@localhost ~]# swapoff PERCORSO_DELLA_PARTIZIONE
Esempio:
[root@localhost ~]# swapoff /dev/sdb2
Nota bene:
Se la partizione di swap sul disco rigido difettoso non viene disattivata e il disco rigido viene sostituito, la partizione di swap su /proc/swaps presenta lo stato "deleted".
Organizzare la sostituzione del disco rigido
A questo punto, il disco rigido difettoso può essere sostituito. Per farlo, contatta l'Assistenza Clienti IONOS.
Passaggi necessari dopo la sostituzione del disco rigido
Dopo aver sostituito il disco rigido difettoso, è necessario ricostruire il software RAID. Per ulteriori informazioni su come ricostruire un software RAID, consulta il seguente articolo: Ricostruire un software RAID (Linux)
Contenuto
- Verificare lo stato del RAID software
- Interpretare i risultati
- Diagnosi dei guasti e determinazione dei dati necessari per la sostituzione del disco rigido
- Interpretazione dei parametri e diagnosi dei guasti
- Visualizzare informazioni dettagliate per la sostituzione del disco
- Creare un log SMART
- Preparare il server per la sostituzione del disco rigido
- Organizzare la sostituzione del disco rigido
- Passaggi necessari dopo la sostituzione del disco rigido
- Torna su