70 votes

Des points d'interrogation apparaissent dans ls du répertoire. Erreurs IO aussi

Quelqu'un a-t-il déjà vu cela ? J'ai un raid 5 monté sur mon serveur et pour une raison quelconque, il a commencé à montrer ceci :

jason@box2:/mnt/raid1/cra$ ls -alh
ls: cannot access e6eacc985fea729b2d5bc74078632738: Input/output error
ls: cannot access 257ad35ee0b12a714530c30dccf9210f: Input/output error
total 0
drwxr-xr-x 5 root root 123 2009-08-19 16:33 .
drwxr-xr-x 3 root root  16 2009-08-14 17:15 ..
?????????? ? ?    ?      ?                ? 257ad35ee0b12a714530c30dccf9210f
drwxr-xr-x 3 root root  57 2009-08-19 16:58 9c89a78e93ae6738e01136db9153361b
?????????? ? ?    ?      ?                ? e6eacc985fea729b2d5bc74078632738

Les chaînes md5 sont des noms de répertoire réels et ne font pas partie de l'erreur. Les points d'interrogation sont étranges, et tout répertoire avec un point d'interrogation génère une erreur io lorsque vous tentez de l'utiliser/supprimer/etc.

Je n'ai pas pu démonter le disque en raison du message "occupé". Le redémarrage du serveur a "réglé" le problème, mais il lançait des erreurs de raid à l'arrêt. J'ai configuré deux matrices Raid 5 et les deux ont commencé à faire cela sur des fichiers aléatoires. Les deux utilisent la configuration suivante :

mkfs.xfs -l size=128m -d agcount=32
mount -t xfs -o noatime,logbufs=8

Rien d'extraordinaire, mais une partie d'une configuration optimisée pour cette boîte. Nous ne partitionnons pas les disques et cela a été suggéré comme un problème possible. Cela pourrait-il être le coupable ?

68voto

user65174 Points 671

J'ai eu un problème similaire car mon répertoire avait des droits de lecture (r) mais pas d'exécution (x). La liste de mes répertoires montrait :

myname@srv:/home$ ls -l service/mail/
ls: cannot access service/mail/001_SERVICE INBOX: Permission denied
total 0
-????????? ? ? ? ?                ? 001_SERVICE INBOX
d????????? ? ? ? ?                ? 01_CURRENT SERVICE

Le répertoire de courrier avait le bit r activé, mais pas le x dont vous avez besoin pour la liste ou la recherche et l'accès. En faisant sudo chmod -R g+x mail a résolu ce problème.

16voto

mightypile Points 261

Les réponses mentionnant la lecture, mais pas l'exécution ou stat() sont correctes. Mais il y a une cause commune de ceci (autre que la corruption) qui m'a mordu quelques fois et qui correspondrait bien à votre question avec les erreurs IO. Si vous montez incorrectement un système de fichiers, le point de montage de ce système de fichiers peut apparaître avec des points d'interrogation. Si vous les voyez alors que vous venez d'essayer de monter un nouveau système de fichiers, essayez ce qui suit avant de vous inquiéter de la corruption et de fsck.

$ sudo umount /mnt/raid1/cra/257ad35ee0b12a714530c30dccf9210f
$ ls -alh /mnt/raid1/cra

Vous devriez voir le dossier 257ad35ee0b12a714530c30dccf9210f avec des autorisations et des attributs plutôt que des points d'interrogation. Si c'est le cas, recherchez d'autres options pour votre commande mount ou votre fichier /etc/fstab. Sinon, il est peut-être temps de lire les autres réponses, de sauvegarder ce que vous pouvez et d'exécuter un fsck.

12voto

Joshua Points 8315

Les points d'interrogation dans le ls indique simplement qu'il n'a pas pu stat() l'entrée du répertoire. Vous pouvez également les voir si vous ls un répertoire pour lequel vous avez l'autorisation r(ead) mais pas x (recherche). Cependant, dans ce cas, il ne signalera pas Erreur E/S .

Dans votre cas, il semble qu'il y ait une erreur de disque ou peut-être une corruption du système de fichiers. /var/log/messages o dmesg est susceptible de révéler d'autres détails.

6voto

Maxim Veksler Points 43

Faites une sauvegarde dès que possible, ne serait-ce que pour que vous puissiez revenir à l'état initial moins endommagé si vous continuez à vous tromper en essayant de réparer les dégâts potentiels. Après avoir sauvegardé, vous pouvez lancer fsck pour voir s'il pense qu'il y a des problèmes.

1voto

Les noms de fichiers peuvent contenir des caractères non affichables. Essayez de vérifier les noms de fichiers avec emacs DirEd :

http://www.cs.utah.edu/dept/old/texinfo/emacs19/emacs_32.html

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X