이걸 본 사람 있어요? 서버에 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
너무 멋진 것은 아니지만이 상자에 최적화 된 구성의 일부입니다. 드라이브를 분할하지 않았으며 가능한 문제로 제안되었습니다. 이것이 범인이 될 수 있습니까?
답변
내 디렉토리가 (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
이 문제를 해결했다.
답변
ls
출력의 물음표 stat()
는 디렉토리 항목을 표시 할 수 없음을 나타냅니다 . ls
r (ead)는 있지만 x (검색) 권한은없는 디렉토리를 볼 수도 있습니다 . 그러나이 경우 I / O 오류는 보고되지 않습니다 .
귀하의 경우 디스크 오류 또는 파일 시스템 손상이있는 것 같습니다. /var/log/messages
또는 dmesg
자세한 내용을 공개 할 가능성이있다.
답변
읽기를 언급하지만 실행 또는 stat ()를 언급하지 않은 답변은 정확합니다. 그러나이 (부패 이외의) 일반적인 원인은 몇 번 물린 것이며 IO 오류와 귀하의 질문을 잘 일치시킬 것입니다. 파일 시스템을 잘못 마운트하면 해당 파일 시스템의 마운트 지점에 물음표가 표시 될 수 있습니다. 방금 새 파일 시스템 마운트를 시도한 위치가 표시되면 손상 및 fsck에 대해 걱정하기 전에 다음을 시도하십시오.
$ sudo umount /mnt/raid1/cra/257ad35ee0b12a714530c30dccf9210f
$ ls -alh /mnt/raid1/cra
물음표가 아닌 사용 권한 및 속성을 가진 257ad35ee0b12a714530c30dccf9210f 폴더가 표시되어야합니다. 그렇다면 mount 명령 또는 / etc / fstab 파일에 대한 다른 옵션을 검색하십시오. 그렇지 않다면 다른 답변을 읽고 가능한 것을 백업하고 fsck를 실행해야 할 때입니다.
답변
잠재적 인 손상을 복구하는 동안 추가로 엉망으로 만들면 손상되지 않은 원래 상태로 돌아갈 수 있도록 가능한 한 빨리 가능한 빨리 백업하십시오. 백업 후 문제가 있다고 생각하는지 확인하기 위해 fsck를 실행할 수 있습니다.
답변
파일 이름은 표시 할 수없는 문자 만 포함 할 수 있습니다. emacs DirEd로 파일 이름을 확인하십시오 :
http://www.cs.utah.edu/dept/old/texinfo/emacs19/emacs_32.html
답변
파일 시스템이 손상된 서버 (reiserfs)가 있었고 파일 이름을 제외한 모든 속성에 물음표가있는 디렉토리 항목을 생성했습니다. 우리의 경우 파일 이름은 영향을받지 않았습니다.
또한 여유 공간이 잘못보고되었습니다. 사용하여 du -sh /*
우리는 30G에 대해 설명 할 수 있지만, 사용 200G 이상으로 드라이브가보고되고 있었다.
shutdown -rF now
파일 시스템 검사를 강제로 수행 하여 서버를 재부팅 해도 작동하지 않았습니다. 단일 사용자 모드로 재부팅하고 다음을 실행해야했습니다.
fsck.reiserfs --rebuild-tree /dev/sda3
이것은 거의 효과가있었습니다. 몇 번 통과 한 다음 잠겼습니다. OS를 다시 설치해야했습니다.
백업을 유지하십시오!
답변
autofs를 실행할 때 이것을 보았지만 autofs는 디렉토리를 마운트 할 수 없습니다. 그래서 디렉토리를 마운트 할 수없는 이유를 알아 내기 위해 autofs를 비활성화하고 디렉토리를 수동으로 마운트하려고 시도했습니다 (이 또한 디렉토리를 삭제할 수있게했습니다). 디렉토리를 수동으로 마운트하려고 시도했지만 권한 오류가 있음을 발견했습니다. 이를 수정 한 후 디렉토리는 다시 정상으로 돌아 왔습니다.