C'est normalement 'déjà' fait au niveau des disques SCSI 'haut de gamme' depuis longue date : ils intègrent eux même des pistes de 'spare' individuellement et remplacent à la volée sans intervention du controleur ni de l'os.
Pour moi c'est le cas de tous les disque depuis plusieurs années (c'est pour cela qu'aujourd'hui on ne voit plus les cluster défectueux : ils sont cachés)
Comment vérifier que votre disque est en bon état ?
1/ démarez un live CD Ubuntu-8.04
2/ tapez
apt install smartmontools en ligne de commande
3/ tapez
smartctl -a /dev/sda en ligne de commande
Vous avez un rapport de ce type :
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 016 Pre-fail Always - 0
2 Throughput_Performance 0x0005 100 100 050 Pre-fail Offline - 0
3 Spin_Up_Time 0x0007 119 119 024 Pre-fail Always - 313 (Average 316)
4 Start_Stop_Count 0x0012 100 100 000 Old_age Always - 23
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 100 100 020 Pre-fail Offline - 0
9 Power_On_Hours 0x0012 099 099 000 Old_age Always - 10588
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 23
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 463
193 Load_Cycle_Count 0x0012 100 100 000 Old_age Always - 463
194 Temperature_Celsius 0x0002 166 166 000 Old_age Always - 36 (Lifetime Min/Max 17/47)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 253 000 Old_age Always - 0
Paramètres critiques (ils doivent être a 0 si tout va bien) :05 Reallocated Sectors Count Nombre de secteurs réalloués. Quand le disque dur obtient une erreur de lecture/écriture/vérification sur un secteur, il note ce secteur comme réalloué et transfère les données vers une zone réservée spéciale (la zone de réserve). Ce processus est aussi connu sous le nom de remapping et les secteurs réalloués sont appelés remaps. C'est pourquoi, sur les disques modernes, on ne peut pas voir de "mauvais" blocs lorsqu'on teste la surface du disque (tous les mauvais secteurs sont cachés dans les secteurs réalloués). Cependant, plus il y a de secteurs réalloués, plus la vitesse d'écriture/lecture diminue.
196 Reallocation Event Count Nombre d'opérations de réallocation (remap). La valeur brute de cet attribut est le nombre total de tentatives de transfert de données entre un secteur réalloué et un secteur de réserve. Les essais fructueux et les échecs sont tous comptés au même titre.
197 Current Pending Sector Count Nombre de secteurs "instables" (en attente de réallocation). Quand des secteurs instables sont lus avec succès, cette valeur est diminuée. Si des erreurs se produisent à la lecture d'un secteur, le disque va tenter de récupérer les données, puis de les transférer vers la zone de réserve et va marquer le secteur comme réalloué.
198 Uncorrectable Sector Count Nombre total d'erreurs incorrigibles à la lecture/écriture d'un secteur. Une augmentation de cette valeur indique des défauts de la surface du disque et/ou des problèmes avec le sous-système mécanique.
220 Disk Shift Distance de laquelle le disque est déplacé par rapport à son axe de rotation (habituellement à cause des chocs). L'unité de mesure est inconnue.
Voila, c'est un résumé simplifié pour voir si son disque est en bon état.
Exemple de disque en mauvais état :
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
3 Spin_Up_Time 0x0027 225 224 063 Pre-fail Always - 10762
4 Start_Stop_Count 0x0032 252 252 000 Old_age Always - 3092
5 Reallocated_Sector_Ct 0x0033 251 250 063 Pre-fail Always - 29
6 Read_Channel_Margin 0x0001 253 253 100 Pre-fail Offline - 0
7 Seek_Error_Rate 0x000a 253 252 000 Old_age Always - 0
8 Seek_Time_Performance 0x0027 249 228 187 Pre-fail Always - 35882
9 Power_On_Minutes 0x0032 216 216 000 Old_age Always - 1058h+08m
10 Spin_Retry_Count 0x002b 253 252 157 Pre-fail Always - 0
11 Calibration_Retry_Count 0x002b 253 252 223 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 246 246 000 Old_age Always - 3097
192 Power-Off_Retract_Count 0x0032 253 253 000 Old_age Always - 0
193 Load_Cycle_Count 0x0032 253 253 000 Old_age Always - 0
194 Temperature_Celsius 0x0032 253 253 000 Old_age Always - 29
195 Hardware_ECC_Recovered 0x000a 252 252 000 Old_age Always - 36094
196 Reallocated_Event_Count 0x0008 250 250 000 Old_age Offline - 3
197 Current_Pending_Sector 0x0008 253 253 000 Old_age Offline - 7
198 Offline_Uncorrectable 0x0008 252 252 000 Old_age Offline - 1
199 UDMA_CRC_Error_Count 0x0008 199 199 000 Old_age Offline - 0
200 Multi_Zone_Error_Rate 0x000a 253 252 000 Old_age Always - 0
201 Soft_Read_Error_Rate 0x000a 253 252 000 Old_age Always - 0
202 TA_Increase_Count 0x000a 253 077 000 Old_age Always - 1
203 Run_Out_Cancel 0x000b 253 252 180 Pre-fail Always - 102
204 Shock_Count_Write_Opern 0x000a 253 252 000 Old_age Always - 0
205 Shock_Rate_Write_Opern 0x000a 253 252 000 Old_age Always - 0
207 Spin_High_Current 0x002a 253 252 000 Old_age Always - 0
208 Spin_Buzz 0x002a 253 252 000 Old_age Always - 0
209 Offline_Seek_Performnce 0x0024 120 120 000 Old_age Offline - 0
99 Unknown_Attribute 0x0004 253 253 000 Old_age Offline - 0
100 Unknown_Attribute 0x0004 253 253 000 Old_age Offline - 0
101 Unknown_Attribute 0x0004 253 253 000 Old_age Offline - 0
Sinon nous avons des paramètres intéressants :04 Start/Stop Count Décompte des cycles de mise en rotation (démarrage/arrêt).
09 Power-On Hours (POH) Nombre d'heures de fonctionnement
12 Device Power Cycle Count Cet attribut indique le nombre total de cycles marche/arrêt complets du disque
194 Temperature_Celsius Sa température actuelle en °