디렉토리의 ls에 물음표가 표시됩니다. IO 오류도


44

이걸 본 사람 있어요? 서버에 raid 5가 설치되어 있으며 어떤 이유로 든 이것을 표시하기 시작했습니다.

jason @ box2 : / mnt / raid1 / cra $ ls-알
LS : e6eacc985fea729b2d5bc74078632738에 액세스 할 수 없음 : 입력 / 출력 오류
LS : 257ad35ee0b12a714530c30dccf9210f에 액세스 할 수 없음 : 입력 / 출력 오류
총 0
drwxr-xr-x 5 루트 루트 123 2009-08-19 16:33.
drwxr-xr-x 3 루트 루트 16 2009-08-14 17:15 ..
?????????? ? ? ? ? ? 257ad35ee0b12a714530c30dccf9210f
drwxr-xr-x 3 루트 루트 57 2009-08-19 16:58 9c89a78e93ae6738e01136db9153361b
?????????? ? ? ? ? ? e6eacc985fea729b2d5bc74078632738

md5 문자열은 실제 디렉토리 이름이며 오류의 일부가 아닙니다. 물음표가 이상하고 물음표를 사용하는 디렉토리는 사용 / 삭제 / 등을 시도 할 때 io 오류가 발생합니다.

"사용 중"으로 인해 드라이브를 마운트 해제 할 수 없습니다. 서버를 재부팅하면 서버가 "고정"되었지만 종료시 약간의 오류가 발생했습니다. 두 개의 raid 5 배열을 구성했으며 둘 다 임의의 파일 에서이 작업을 시작했습니다. 둘 다 다음 구성을 사용하고 있습니다.

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

너무 멋진 것은 아니지만이 상자에 최적화 된 구성의 일부입니다. 드라이브를 분할하지 않았으며 가능한 문제로 제안되었습니다. 이것이 범인이 될 수 있습니까?


autofs가 디렉토리를 마운트하는 데 문제가있을 때 이러한 물음표를 보았습니다. autofs를 종료하면 디렉토리를 삭제하고 원격 서버의 권한 오류를 가리키는 수동 마운트를 시도 할 수있었습니다.
페이스

답변:


39

내 디렉토리가 (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이 문제를 해결했다.


4
'sudo chmod -R g + x mail'다음 chmod +x mail내 문제 를 해결했습니다. 감사합니다!
glebm

6
무엇 귀하의 경우 ls수익률 no such file or directory의 무리와 함께 ?????권한 / 권리 영역에?
케빈 메러디스

11

ls출력의 물음표 stat()는 디렉토리 항목을 표시 할 수 없음을 나타냅니다 . lsr (ead)는 있지만 x (검색) 권한은없는 디렉토리를 볼 수도 있습니다 . 그러나이 경우 I / O 오류는 보고되지 않습니다 .

귀하의 경우 디스크 오류 또는 파일 시스템 손상이있는 것 같습니다. /var/log/messages또는 dmesg자세한 내용을 공개 할 가능성이있다.


10

읽기를 언급하지만 실행 또는 stat ()를 언급하지 않은 답변은 정확합니다. 그러나이 (부패 이외의) 일반적인 원인은 몇 번 물린 것이며 IO 오류와 귀하의 질문을 잘 일치시킬 것입니다. 파일 시스템을 잘못 마운트하면 해당 파일 시스템의 마운트 지점에 물음표가 표시 될 수 있습니다. 방금 새 파일 시스템 마운트를 시도한 위치가 표시되면 손상 및 fsck에 대해 걱정하기 전에 다음을 시도하십시오.

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

물음표가 아닌 사용 권한 및 속성을 가진 257ad35ee0b12a714530c30dccf9210f 폴더가 표시되어야합니다. 그렇다면 mount 명령 또는 / etc / fstab 파일에 대한 다른 옵션을 검색하십시오. 그렇지 않다면 다른 답변을 읽고 가능한 것을 백업하고 fsck를 실행해야 할 때입니다.


이것은 내 문제였다
endolith

5

잠재적 인 손상을 복구하는 동안 추가로 엉망으로 만들면 손상되지 않은 원래 상태로 돌아갈 수 있도록 가능한 한 빨리 가능한 빨리 백업하십시오. 백업 후 문제가 있다고 생각하는지 확인하기 위해 fsck를 실행할 수 있습니다.


내 경우에는이 이미 백업.
Paolo


1

파일 시스템이 손상된 서버 (reiserfs)가 있었고 파일 이름을 제외한 모든 속성에 물음표가있는 디렉토리 항목을 생성했습니다. 우리의 경우 파일 이름은 영향을받지 않았습니다.

또한 여유 공간이 잘못보고되었습니다. 사용하여 du -sh /*우리는 30G에 대해 설명 할 수 있지만, 사용 200G 이상으로 드라이브가보고되고 있었다.

shutdown -rF now파일 시스템 검사를 강제로 수행 하여 서버를 재부팅 해도 작동하지 않았습니다. 단일 사용자 모드로 재부팅하고 다음을 실행해야했습니다.

fsck.reiserfs --rebuild-tree /dev/sda3

이것은 거의 효과가있었습니다. 몇 번 통과 한 다음 잠겼습니다. OS를 다시 설치해야했습니다.

백업을 유지하십시오!


1

autofs를 실행할 때 이것을 보았지만 autofs는 디렉토리를 마운트 할 수 없습니다. 그래서 디렉토리를 마운트 할 수없는 이유를 알아 내기 위해 autofs를 비활성화하고 디렉토리를 수동으로 마운트하려고 시도했습니다 (이 또한 디렉토리를 삭제할 수있게했습니다). 디렉토리를 수동으로 마운트하려고 시도했지만 권한 오류가 있음을 발견했습니다. 이를 수정 한 후 디렉토리는 다시 정상으로 돌아 왔습니다.


1

서버에서 실행중인 다른 프로세스 (예 : rsync)를 조심하십시오.

[root@server upload]# ls -la
ls: cannot access .3bfb3dc5-cb55-435f-8e23-2afcab2c6873_image4993891600240007749.jpg.bV6VTV: No such file or directory
total 194496
drwxr-x--- 2 gx apache    1382 Jan 11 10:36 .
drwxr-x--- 3 gx apache       3 Jan 11 10:29 ..
-rw-r--r-- 1 gx apache   94850 Dec 10  2015 37d355b9-210d-45df-8061-968ea5cb9f31_mob.jpg
...
-rw-r--r-- 1 gx apache   10864 Jul 24  2015 3bfb23bf-8ff5-4603-aa57-9b23ca498e2c_internet.png
-rw-r--r-- 1 gx apache   10864 Jul 24  2015 .3bfb23bf-8ff5-4603-aa57-9b23ca498e2c_internet.png.nHmIPk
-????????? ? ?  ?            ?            ? .3bfb3dc5-cb65-435f-8e23-2agcab2c6873_image4993891600240007749.jpg.bV6VTV

rm , mv 등과 같은 다른 간단한 파일 관리 명령을 호출하려고하면 오류가 발생할 수있는 임시 파일이 빠르게 생성되고 삭제됩니다 .


0

다른 관점을 제시하기 위해-파일의 목록 디렉토리 (루비)에서 프로그래밍 방식으로 디렉토리를 생성 할 때이를했습니다.

물론 파일의 줄은 끝에 \ n이있는 문자열로 나왔습니다. 이것은 좋아 보이고 작동하는 것 같습니다. 그러나 나는 디렉토리를 생성보다는 각 디렉토리 두 개를 만들어 결국 chomped되는 것을 시작으로 : /whatiwanted/whatiwanted?.


0

NFS 서버에 과부하가 걸리면 일시적인 오류로 표시되는 경우가 있습니다.

OP는 RAID에 대해 질문했지만 몇 가지 답변에 NFS에 대한 언급이 있었으며 실제로는 여기까지 오게되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.