web-dev-qa-db-fra.com

Obtenu "Erreur de sortie d'entrée" lors de l'exécution des commandes

Lundi lundi matin, j'ai trouvé que mon serveur ne peut exécuter aucune commande, et il shouws "Erreur de sortie d'entrée". Avec essayé pendant une demi-heure, j'ai trouvé que la seule commande peut être exécutée est Sudo poweroff -f (doit utiliser le drapeau -f ou j'ai eu une "erreur de sortie d'entrée").
[.____] et je démarre manuellement le serveur et vérifiez le journal du système, mais je n'ai rien de spécial. Et j'ai fait un test de SmartCTL pour confirmer s'il y a un concours prometteur avec disque dur. Et il a passé sans erreur.
[.____] alors ce lundi que ce problème montre à nouveau. Je ferme le serveur et le démarre manuellement, et ça a l'air bien comme rien ne s'est passé. Ensuite, j'utilise MSMTest86 8.2 Test si si la clé USB est OK. Et rompose le câble SATA et le disque dur en bon état et connecté brinderment.
[.____] Je pense que c'est peut-être le problème avec le système d'exploitation ou au système de fichiers? Mon système d'exploitation est Debian 8.11. Peux-tu me donner quelques conseils? Merci à tous!

4
fajin yu

J'ai trouvé que mon serveur ne peut exécuter aucune commande, et il shouws "erreur de sortie d'entrée"

Le code d'erreur EIO ("erreur d'entrée/sortie") sur le lancement de la commande se produirait lorsque votre système de fichiers est endommagé; Ou pire lorsque vous courez sur un stockage défectueux.

Croiser les doigts; Quoi qu'il en soit, soyez conscient que, à ce point , n'essayez pas d'alimenter le serveur, sauf indication contraire .1

Le test

Il existe un moyen sûr de faire la distinction entre deux causes racines: Conduisez le niveau de blocage du bloc sur le système et observez les messages du noyau.

  1. Démarrez votre système avec le disque de démarrage de la récupération GNU/Linux.
  2. Changez le système sur la console de texte ancienne unique (appuyez sur CTRL + ALT + F1); N'utilisez pas le terminal graphique pour cela .
  3. Connectez-vous en tant que root.
  4. Courir dmesg -E Pour activer l'affichage du message du noyau en direct sur la console.
  5. Courir dmesg -n debug Pour laisser le message du noyau de bas niveau cependant.
  6. Run blkid pour voir quel disque Contient une partition système. (Notez que blkid _ va lister les partitions; Numéro de bande de la fin du chemin de partition et vous obtiendrez le disque)
  7. Courir time -p dd if=/dev/sda of=/dev/null bs=4M Pour effectuer un fichier complet - Disque Test de lecture (veuillez taper ceci soigneusement). Si votre système disque n'est pas /dev/sda, substitut en conséquence.
  8. Regardez l'écran (il faudra un long moment) ...

Résultats

  • Dans le meilleur cas où dd est terminé avec succès et sans incident, il s'agit probablement d'un problème de système de fichiers.

    • Si vous êtes à l'aise de faire une vérification du système de fichiers à partir du disque de démarrage, vous pouvez le faire maintenant (recommandé).
    • Si vous préférez laisser le système le trier en soi, redémarrez (supprimez également le disque de démarrage) et démarrez votre système habituel mais avec fsck.mode=force annexé à la fin de la ligne de commande du noyau. (Voir - cette question pour plus de détails)
    • Discuter du résultat de la vérification du système de fichiers justifiera cependant une question différente.
  • Toutefois, dans le pire cas , vous verriez des messages de noyau comme celui-ci couler à l'écran:

    ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
    ata2.00: irq_stat 0x40000001
    ata2.00: failed command: READ DMA EXT
    ata2.00: cmd 25/00:08:78:15:c5/00:00:6c:00:00/e0 tag 0 dma 4096 in
             res 51/40:00:78:15:c5/00:00:6c:00:00/e0 Emask 0x9 (media error)
    ata2.00: status: { DRDY ERR }
    ata2.00: error: { UNC }
    ata2.00: configured for UDMA/100
    sd 1:0:0:0: [sda] Unhandled sense code
    sd 1:0:0:0: [sda]  
    Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
    sd 1:0:0:0: [sda]  
    Sense Key : Medium Error [current] [descriptor]
    Descriptor sense data with sense descriptors (in hex):
            72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
            6c c5 15 78 
    sd 1:0:0:0: [sda]  
    Add. Sense: Unrecovered read error - auto reallocate failed
    sd 1:0:0:0: [sda] CDB: 
    Read(10): 28 00 6c c5 15 78 00 00 08 00
    end_request: I/O error, dev sda, sector 1824855416
    Buffer I/O error on device sda, logical block 228106927
    ata2: EH complete
    

    Recherchez les parties clés:

    • DRDY, ERR et UNC en bretelles
    • Medium Error statut
    • Unrecovered read error Sense message

    Si vous avez jeté un coup d'œil et trouvez-les dans les messages (même une fois), ils montrent que vous êtes confronté à une erreur de disque physique.

    Lorsque tel est le cas, Ne laisse pas dd Terminer, appuyez sur Ctrl + C pour arrêter, maintenant ; Éteignez votre système et apportez votre disque à une boutique de récupération de données Vous avez confiance.

  • Si vous n'avez pas trouvé ce qui précède les pires Tellales, et plutôt trouvé ce type de messages de noyau répété:

    ata2: exception Emask 0x10 SAct 0x0 SErr 0x4040000 action 0xe frozen
    ata2: irq_stat 0x00000040, connection status changed
    ata2: SError: { CommWake DevExch }
    ata2: hard resetting link
    ata2: link is slow to respond, please be patient (ready=0)
    

    Pièces clés:

    • hard resetting link
    • link is slow to respond

    Ensuite, vous êtes plutôt confronté à un problème de liaison SATA (par exemple Câblage incorrect): Appuyez sur Ctrl + C pour arrêter, fermez votre système, corrigez votre câble de disque et votre connexion et réessayez.

Notes de côté

Et j'ai fait un test de SmartCTL pour confirmer s'il y a un concours prometteur avec disque dur. Et il a passé sans erreur.

Méfiez-vous que Certains disques durs racontent des mensonges droites dans leur statut S.M.A.R.T Statut (Je vous regarde, toshiba); Mon ancien disque dur d'ordinateur portable juste à la terre pour arrêter lors de la lecture, vomit d'erreurs de lecture, et il a toujours dit "rien de mal" dans ses registres de statut.

Si votre serveur est critique de la mission, vous devriez envisager [~ # ~] raid [~ # ~ ~] .


  • 1 Tale avertit: Ma colocataire a une fois ignoré cet avertissement et gardez de la meulage du vérificateur de système de fichiers sur son système de bureau. Il n'a pas attendu que je vérifie jusqu'à ce que cela soit Finalement échoué à démarrer. Une fois que j'ai eu la chance de le vérifier, les dégâts de disque étaient déjà au-delà de la récupération (le disque de 500 Go ne pouvait que lire à peine à l'escargot Kb/s, et il n'y avait pas de surface lisible continue significative, même après plusieurs jours).

    D'autre part, dans un autre cas avec le même symptôme, le propriétaire de la machine a tenté mon avertissement et a quitté la chose jusqu'à ce que je puisse le vérifier. Bien sûr, c'était une défaillance du disque dur. Après une demi-journée de GNU DDRESCUE SESSION et un nouveau disque dur, je lui ai apporté une bonne nouvelle que son système et ses données soient récupérés à 100% au niveau du bloc - c'est-à-dire tous les fichiers intacts et prêts à démarrer encore une fois sans modification.

2

J'ai rencontré cette erreur sur mon serveur Linux (exécutant DEBIAN 10) lorsque vous naviguez des dossiers et d'accéder aux fichiers, malgré le passage tout SMART tests. Je n'ai pas pu résoudre le problème en utilisant l'un des Réponses postées sur Stackexchange.

J'utilisais un disque dur de 2,5 "dans une baie de lecteur de 3,5 pouces, et il s'avère que le lecteur avait une perte vibrée du connecteur SATA. Je fermai le serveur et a branché le lecteur dans fermement et les erreurs ont disparu.

0
Wurstbrot24