Diagnosi e sostituzione di un disco rigido difettoso (Server Dedicato Linux con software RAID)
Per creare un PDF, utilizzare la funzione “Stampa” in fondo alla pagina.
In questo articolo ti spieghiamo come identificare un disco rigido difettoso su un Server Dedicato Linux con software RAID e come preparare il server per la sostituzione del disco rigido difettoso.
Nota bene:
I passaggi descritti in questo articolo presuppongono una conoscenza di base su come amministrare un server con Linux. Se hai domande o hai bisogno di assistenza per la sostituzione di un disco rigido difettoso, contatta l'Assistenza Clienti IONOS.
Per garantire la massima affidabilità possibile, devi monitorare il software RAID del tuo Server Dedicato. Se scopri che un disco rigido è difettoso, o ricevi un'e-mail di notifica che ti informa che un disco rigido è difettoso, è necessario contattare la nostra Assistenza Clienti per organizzare la sostituzione del disco rigido. Per farlo, è necessario identificare il disco rigido difettoso e preparare il server per la sostituzione del disco difettoso.
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 di un backup, consulta il seguente articolo: Eseguire un backup dei dati in un server di backup (Linux)
Verificare lo stato del software RAID
Per verificare lo stato del software RAID, inserisci il seguente comando nella shell:
[root@host ~]: cat /proc/mdstat
Se entrambi i dischi rigidi sono presenti e correttamente montati, visualizzerai il seguente messaggio:
[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: utilizzati: <none>
L'esempio precedente mostra tre dispositivi multipli o unità logiche (md0, md1, md2). Per ognuna di queste unità logiche, viene specificato di quali partizioni queste sono composte e su quali unità si trovano queste partizioni.
Esempio: il disco logico md0 è costituito dalle partizioni sda1 e sdb1.
Nella riga sotto l'unità logica, lo stato delle singole partizioni viene visualizzato tra parentesi quadre alla fine della riga. Una U significa che il rispettivo disco rigido è integrato nel RAID (up).
Nell'esempio seguente, tutte le unità logiche hanno una sola partizione montata che si trova sul disco rigido sda. La rispettiva partizione che si trova sul secondo disco rigido sdb non è inclusa. Lo si può vedere anche dalla voce [U_]. Le partizioni non montate del disco rigido sdb indicano che c'è un errore o un difetto su questo disco rigido.
[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>
Nell'esempio seguente, un disco rigido difettoso è ancora incluso nel RAID:
[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>
La voce (F) in questo esempio mostra che la partizione è contrassegnata come faulty.
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, digita il seguente comando:
CentOS
yum install smartmontools
Ubuntu
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
Dopo aver inserito il comando, visualizzerai ad es. le seguenti informazioni:
[root@8E8885C ~]# 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, gli viene automaticamente assegnato un settore di sostituzione. Il settore difettoso è contrassegnato in modo permanente come illeggibile. Se questo valore non è uguale a zero, è probabile che si verificherà un guasto del disco rigido. Questo valore è l'indicatore più importante per la sostituzione di un disco rigido.
Current_Pending_Sector_Ct: 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_Ct è 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:
CentOS
yum -y install hdparm
Ubuntu/Debian
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.
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@host ~]# 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 contrassegnare il disco difettoso come faulty in modo che questo possa essere rimosso dal RAID, immetti il seguente comando:
[root@host ~]# 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@host ~]# mdadm /dev/md3 -f /dev/sdb3
mdadm: set /dev/sdb3 faulty in /dev/md3
[root@host ~]# 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@host ~]# 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 la partizione / dal Multiple Device
Per rimuovere una partizione dal Multiple Device, digita il seguente comando:
[root@host ~]# mdadm -r /PERCORSO_DEL_RAID_ARRAY /PERCORSO_DEL_DISCO_RIGIDO
Negli esempi che seguono, i dischi rigidi sdb3 e sdb1 vengono rimossi rispettivamente dai Multiple Device md3 e md1:
[root@host ~]# mdadm -r /dev/md3 /dev/sdb3
mdadm: hot removed /dev/sdb3 from /dev/md3
[root@host ~]# 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@host ~]# 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>
Controllo delle partizioni di swap utilizzate
Controlla quali partizioni di swap vengono utilizzate dal sistema operativo. Per farlo, immetti il seguente comando:
[root@host ~]# 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@host ~]# 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@host ~]# swapoff PERCORSO_DEL_DISCO_RIGIDO
Esempio:
[root@host ~]# 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 software RAID
- 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