Les erreurs entrée/sortie abrégé en E/S ou I/O en anglais sont des erreurs qui se produisent lorsque le système d’exploitation tente d’accéder aux données d’un support de stockage comme un disque dur, un SSD, une clé USB.
Une erreur entrée/sortie Linux est un problème qui peut survenir lorsqu’un disque dur externe ou une clé USB est branché sur un ordinateur Linux. Cela peut empêcher l’écriture ou la lecture des données sur le disque. Il existe plusieurs causes possibles pour cette erreur, comme une coupure de courant, un câble défectueux, un retrait imprudent du disque ou un disque endommagé
Dans ce tutoriel, je vous explique les origines des erreurs entrée/sortie dans Linux et comment les résoudre.
Qu’est-ce que l’erreur d’entrée/sortie sur Linux
L’erreur entrée/sortie indique que le système d’exploitation n’a pu lire ou écrire les données depuis le périphérique de stockage (disque dur, SSD, clé USB, etc).
Cette erreur peut avoir deux origines :
- Le système de fichiers est endommagé, par exemple après une coupure de l’alimentation
- Le disque dur/SSD rencontre une défaillance matérielle. En général, cela provoque des secteurs défectueux
L’erreur peut être reportée de la manière suivante dans les journaux Linux :
[2522065.275739] sd 0:0:1:0: [sdg] CDB:
[2522065.275741] Read(10): 28 00 2e 90 97 f8 00 00 08 00
[2522065.275750] end_request: I/O error, dev sdg, sector 781228024
[2522065.281091] Buffer I/O error on device sdg, logical block 97653503
[2522065.287157] sd 0:0:1:0: [sdg] Device not ready
[2522065.287163] sd 0:0:1:0: [sdg]
[2522065.287166] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[2522065.287168] sd 0:0:1:0: [sdg]
[2522065.287170] Sense Key : Not Ready [current]
[2522065.287174] sd 0:0:1:0: [sdg]
[2522065.287176] Add. Sense: Logical unit not ready, cause not reportable
[2522065.287179] sd 0:0:1:0: [sdg] CDB:
[2522065.287181] Read(10): 28 00 00 00 00 00 00 00 20 00
[2522065.287190] end_request: I/O error, dev sdg, sector 0
[2522065.291147] Buffer I/O error on device sdg, logical block 0
[2522065.291147] Buffer I/O error on device sdg, logical block 1
[2522065.291147] Buffer I/O error on device sdg, logical block 2
[2522065.308465] sd 0:0:1:0: [sdg] Device not ready
[2522065.308465] sd 0:0:1:0: [sdg]
[2522065.308465] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[2522065.308465] sd 0:0:1:0: [sdg]
[2522065.308465] Sense Key : Not Ready [current]
[2522065.308465] sd 0:0:1:0: [sdg]
[2522065.308465] Add. Sense: Logical unit not ready, cause not reportable
[2522065.308465] sd 0:0:1:0: [sdg] CDB:
[2522065.308465] Read(10): 28 00 00 00 00 00 00 00 08 00
[2522065.308465] end_request: I/O error, dev sdg, sector 0
L’E/S du disque étant très importante pour les performances de la machine, elle peut se manifester de différentes manières.
- Des entrées/sorties excessives peuvent entraîner une charge élevée du système, susceptible de dépasser la capacité de charge maximale de 1
- Des alertes peuvent être déclenchées, par exemple, lorsqu’un service est indisponible ou si le système n’est pas en mesure de démarrer un service
- Les disques peuvent avoir des performances médiocres en raison d’une latence accrue lors des sauvegardes
- Des erreurs d’applications voire des crashs du système
Comment résoudre l’erreur d’entrée/sortie sur Linux
Plus de détails : Les partitions de disque sur Linux : structure, création et formatage
Vérifier la santé du disque avec S.M.A.R.T
La première chose à vérifier est si le support de stockage rencontre un problème matériel.
Pour cela, vous pouvez interroger les données S.M.A.R.T. Attention, cela ne fonctionne pas avec une clé USB.
Pour ce faire, vous pouvez utiliser l’utilitaire smartctl en ligne de commandes.
En graphique, vous avez GSmartControl.
Les deux permettent de consulter l’auto-détection des erreurs de disque à travers S.MA.R.T.
Pour vérifier l’état de santé du disque /dev/sda :
sudo apt-get install smartmontools
sudo smartctl -a /dev/sda
Récupérer les données
Si le SSD, disque dur ou clé USB est endommagé, il faut faire une sauvegarde des données en urgence.
Vous pouvez copier les données avec la commande cp mais il est très probablement qu’une partie des données ne soit pas accessibles et donc que cela retourne une erreur.
ddrescue est un outil de récupération de données. Il copie des données d’un fichier ou d’un périphérique de bloc (SSD, disque dur, CD-Rom etc.) à un autre, essayant de sauver les bonnes parties d’abord en cas d’erreurs de lecture.
Si des erreurs S.MA.R.T sont présentes, il faut procéder au remplacement du disque.
Réparer le fichier système avec fsck
Si la corruption du système de fichiers a été causée par l’interruption de l’alimentation, le noyau Linux devrait toujours être en mesure de lire les données du disque, mais ne pourrait pas interpréter les fichiers auxquels les données appartiennent. Il en résulterait un ensemble différent d’erreurs dont une erreur E/S.
Vous pouvez utiliser l’utilitaire fsck pour réparer les corruptions du système de fichiers :
sudo fsck -c -y /dev/sda
Il existe également des solutions pour réparer le disque selon son format (FAT32 ou NTFS), en utilisant des outils comme dosfstools ou ntfs-3g.
Liens
- Vérifier l’état de santé de son disque dur/SSD avec la technologie S.M.A.R.T.
- Qu’est-ce que S.M.A.R.T. et comment l’utiliser pour prévenir les pannes de disque dur ou SSD
- 8 meilleurs logiciels pour faire un test S.M.A.R.T de son disque dur ou SSD
- Erreurs S.M.A.R.T : explications et solutions
- Testdisk : Comment récupérer une partition supprimée ou perdue
- Testdisk : réparer les partitions de disque RAW
- SystemRescue Live USB de dépannage sous Linux
- Photorec : récupérer des fichiers supprimés sur Linux
- Comment retrouver/récupérer un fichier supprimé sur Linux
- fdisk/gfdisk : Créer, supprimer, redimensionner des partitions de disque en ligne de commandes sur Linux
- cfdisk : Créer, supprimer, redimensionner des partitions de disque en ligne de commandes sur Linux
- mkfs : formater et créer un système de fichiers (ext4, NTFS, FAT) sur Linux
- hdparm : optimisation et test de vitesse de disques sur Linux
L’article Erreur d’entrée/sortie sur Linux : les solutions est apparu en premier sur malekal.com.
0 Commentaires