目录的 ls 中显示问号。IO 错误也出现

目录的 ls 中显示问号。IO 错误也出现

有人见过这种情况吗?我的服务器上安装了 raid 5,不知什么原因,它开始显示以下内容:

jason@box2:/mnt/raid1/cra$ ls -alh
ls:无法访问 e6eacc985fea729b2d5bc74078632738:输入/输出错误
ls:无法访问 257ad35ee0b12a714530c30dccf9210f:输入/输出错误
共 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 根 根 57 2009-08-19 16:58 9c89a78e93ae6738e01136db9153361b
???????????? ? ? ? ? ? e6eacc985fea729b2d5bc74078632738

md5 字符串是实际的目录名称,而不是错误的一部分。问号很奇怪,任何带有问号的目录在您尝试使用/删除/等时都会引发 io 错误。

由于“忙”,我无法卸载驱动器。重新启动服务器“修复”了该问题,但在关机时会抛出一些 raid 错误。我配置了两个 raid 5 阵列,并且都开始对随机文件执行此操作。两者都使用以下配置:

mkfs.xfs -l 大小=128m -d 负载计数=32
挂载-t xfs-o noatime,logbufs = 8

没什么特别的,但这是此盒子优化配置的一部分。我们没有对驱动器进行分区,有人认为这可能是一个问题。这可能是罪魁祸首吗?

答案1

我遇到了类似的问题,因为我的目录具有读取 (r) 权限,但没有执行 (x) 权限。我的目录列表显示:

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

邮件目录已设置 r 位,但未设置列出或搜索和访问所需的 x。此操作sudo chmod -R g+x mail解决了此问题。

答案2

提到读取但不执行或 stat() 的答案是正确的。但有一个常见原因(除了损坏之外)困扰了我好几次,并且会很好地将您的问题与 IO 错误相匹配。如果您不正确地挂载文件系统,则该文件系统的挂载点可能会显示问号。如果您在刚刚尝试挂载新文件系统时看到这些,请在担心损坏和 fsck 之前尝试以下操作。

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

您应该看到 257ad35ee0b12a714530c30dccf9210f 文件夹带有权限和属性,而不是问号。如果是这样,请搜索 mount 命令或 /etc/fstab 文件的其他选项。如果没有,也许是时候阅读其他答案、备份您能备份的内容并运行 fsck 了。

答案3

输出中的问号ls仅表示它无法stat()访问目录条目。如果您ls拥有目录的 r(读)权限但没有 x(搜索)权限,也可以看到这些问号。但是在这种情况下,它不会报告I/O 错误

在您的情况下,似乎存在磁盘错误或文件系统损坏。 /var/log/messagesdmesg可能会透露更多细节。

答案4

文件名可能包含无法显示的字符。尝试使用 emacs DirEd 检查文件名:

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

相关内容