Znaki zapytania wyświetlane w ls katalogu. Błędy we / wy

44

Czy ktoś już to widział? Mam zainstalowany na moim serwerze raid 5 iz jakiegokolwiek powodu zaczął to pokazywać:

jason @ box2: / mnt / raid1 / cra $ ls -alh
ls: nie można uzyskać dostępu do e6eacc985fea729b2d5bc74078632738: Błąd wejścia / wyjścia
ls: nie można uzyskać dostępu 257ad35ee0b12a714530c30dccf9210f: Błąd wejścia / wyjścia
łącznie 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

Ciągi md5 są rzeczywistymi nazwami katalogów i nie stanowią części błędu. Znaki zapytania są nieparzyste, a każdy katalog ze znakiem zapytania zgłasza błąd io, gdy próbujesz go użyć / usunąć / etc.

Nie mogłem odmontować dysku z powodu „zajętości”. Ponowne uruchomienie serwera „naprawiło” go, ale powodowało błędy podczas zamykania. Skonfigurowałem dwie macierze RAID 5 i obie zaczęły to robić na losowych plikach. Oba używają następującej konfiguracji:

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

Nic nadzwyczajnego, ale część zoptymalizowanej konfiguracji tego pudełka. Nie dzielimy dysków na partycje, co sugerowano jako możliwy problem. Czy to może być sprawca?


źródło
Widziałem te znaki zapytania, gdy autorzy mieli problemy z podłączeniem katalogu. Wyłączenie autofs pozwoliło mi usunąć katalog i spróbować zamontować ręcznie, co wskazywało na błąd uprawnień na zdalnym serwerze.
Tempo

Odpowiedzi:

39

Miałem podobny problem, ponieważ mój katalog miał uprawnienia do odczytu (r), ale nie do wykonania (x). Mój wykaz katalogów pokazał:

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

Katalog poczty ma ustawiony bit r, ale nie x, którego potrzebujesz do wyświetlenia lub wyszukiwania i dostępu. Robienie sudo chmod -R g+x mailtego rozwiązało problem.

użytkownik65174
źródło
4
„sudo chmod -R g + x mail”, a następnie chmod +x mailrozwiązałem mój problem, dzięki!
glebm 10.10.11
6
co jeśli lspowrócisz no such file or directoryz grupą ?????w obszarze przywilejów / praw?
Kevin Meredith
11

Znaki zapytania na lswyjściu wskazują po prostu, że nie mógł on stat()pozycji katalogu. Możesz je również zobaczyć, jeśli masz lskatalog, dla którego masz uprawnienia r (ead), ale nie x (wyszukiwanie). Jednak w takim przypadku nie zgłosiłby błędu we / wy .

W twoim przypadku wygląda to na błąd dysku lub uszkodzenie systemu plików. /var/log/messageslub dmesgmoże ujawnić dalsze szczegóły.

mark4o
źródło
10

Odpowiedzi wspominające o przeczytaniu, ale nie wykonaniu lub stat () są poprawne. Ale jest jedna wspólna przyczyna tego (inna niż korupcja), która ugryzła mnie kilka razy i ładnie dopasowałaby twoje pytanie do błędów IO. Jeśli nieprawidłowo zamontujesz system plików, punkt podłączenia tego systemu plików może zostać wyświetlony ze znakami zapytania. Jeśli widzisz te, w których właśnie próbowałeś zamontować nowy system plików, wypróbuj następujące rozwiązania, zanim zaczniesz martwić się o uszkodzenie i fsck.

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

Powinieneś zobaczyć folder 257ad35ee0b12a714530c30dccf9210f z uprawnieniami i atrybutami zamiast znaków zapytania. Jeśli tak, wyszukaj inne opcje dla polecenia mount lub pliku / etc / fstab. Jeśli nie, być może nadszedł czas, aby przeczytać inne odpowiedzi, wykonać kopię zapasową tego, co możesz, i uruchomić fsck.

duży typ
źródło
to był mój problem
endolith
5

Wykonaj kopię zapasową tak szybko, jak to tylko możliwe, jeśli tylko możesz, aby ją popsuć podczas próby naprawy potencjalnych uszkodzeń, możesz wrócić do pierwotnego stanu mniej zepsutego. Po utworzeniu kopii zapasowej możesz uruchomić fsck, aby sprawdzić, czy sądzi, że są jakieś problemy.

Steven Schlansker
źródło
w moim przypadku to już jest zapasowej.
Paolo,
1

Mieliśmy serwer z uszkodzonym systemem plików (reiserfs) i generował wpisy katalogu ze znakami zapytania dla wszystkich atrybutów oprócz nazwy pliku. W naszym przypadku nazwy plików nie uległy zmianie.

Ponadto wolne miejsce było zgłaszane niepoprawnie. Korzystając z niego du -sh /*, mogliśmy uzyskać jedynie około 30G, ale dysk był zgłaszany jako ponad 200G w użyciu.

Ponowne uruchomienie serwera w shutdown -rF nowcelu wymuszenia sprawdzenia systemu plików nie działało. Musiałem ponownie uruchomić komputer w trybie pojedynczego użytkownika i uruchomić:

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

To prawie działało. Przeszedł kilka przejść, a potem zamknął się. Musiałem ponownie zainstalować system operacyjny.

Utrzymuj swoje kopie zapasowe!


źródło
1

Widziałem to również podczas uruchamiania autofs, ale autofs nie może zamontować katalogu. Więc aby dowiedzieć się, dlaczego nie można zamontować katalogu, wyłączyłem autofs i próbowałem zamontować katalog ręcznie (pozwoliło mi to również usunąć katalog). Próbowałem ręcznie zamontować katalog i stwierdziłem, że wystąpił błąd uprawnień. Po rozwiązaniu problemu katalog powrócił do normy.

Tempo
źródło
1

Uważaj na inne uruchomione procesy na serwerze, na przykład 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

Generuje pliki tymczasowe, które są tworzone i upuszczane szybko, co spowoduje błędy, jeśli spróbujesz wywołać inne proste polecenia zarządzania plikami, takie jak rm , mv itp.

Marton Tatai
źródło
0

Żeby dać inną perspektywę - miałem to, gdy programowo generowałem katalogi z katalogów list w pliku (w ruby).

Oczywiście linia z pliku pojawiła się jako ciąg z \ n na końcu - który wyglądał dobrze i wydawał się działać. Jednak kiedy zacząłem tworzyć katalogi, a nie chrupać, ostatecznie utworzyłem dwa z każdego katalogu: /whatiwantedi /whatiwanted?.

Luke Pearce
źródło
0

Czasami widzę to jako przejściowy błąd, gdy serwer NFS jest mocno przeciążony.

OP zapytał o RAID, ale kilka odpowiedzi wspomina o NFS, i to właśnie wyszukiwanie mnie tu przywiodło.

arp
źródło