เครื่องหมายคำถามแสดงใน ls ของไดเรกทอรี ข้อผิดพลาดของ IO เช่นกัน


44

มีใครเห็นสิ่งนี้มาก่อนหรือไม่ ฉันมีการโจมตี 5 ติดตั้งบนเซิร์ฟเวอร์ของฉันและด้วยเหตุผลใดก็ตามที่มันเริ่มแสดงสิ่งนี้:

jason @ box2: / mnt / raid1 / cra $ ls -alh
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 arrays และทั้งสองเริ่มทำสิ่งนี้กับไฟล์สุ่ม ทั้งสองกำลังใช้การกำหนดค่าต่อไปนี้:

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

ไม่มีอะไรแฟนซีเกินไป แต่เป็นส่วนหนึ่งของการกำหนดค่าที่เหมาะสมที่สุดสำหรับกล่องนี้ เราไม่ได้แบ่งพาร์ทิชันและแนะนำว่าเป็นปัญหาที่เป็นไปได้ นี่อาจเป็นผู้ร้ายหรือไม่


ฉันเห็นเครื่องหมายคำถามเหล่านี้เมื่อ autofs มีปัญหาในการติดตั้งไดเรกทอรี การปิดระบบป้อนอัตโนมัติอนุญาตให้ฉันลบไดเรกทอรีและลองติดตั้งด้วยตนเองซึ่งชี้ไปที่ข้อผิดพลาดเกี่ยวกับการอนุญาตบนเซิร์ฟเวอร์ระยะไกล
Pace

คำตอบ:


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

เมลไดเร็กทอรีมีการตั้งค่าบิต แต่ไม่ใช่ 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()เข้าไดเรกทอรี คุณยังสามารถดูสิ่งเหล่านี้ได้หากคุณlsเป็นไดเร็กตอรี่ที่คุณได้รับอนุญาตให้ใช้ r (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 เพื่อดูว่ามันคิดว่ามีปัญหาหรือไม่


ในกรณีของฉันอย่างนี้แล้วเป็นสำรอง
เปาโล


1

เรามีเซิร์ฟเวอร์ที่มีระบบไฟล์ที่เสียหาย (reiserfs) และมันสร้างรายการไดเรกทอรีที่มีเครื่องหมายคำถามสำหรับคุณลักษณะทั้งหมดยกเว้นชื่อไฟล์ ในกรณีของเราชื่อไฟล์ไม่ได้รับผลกระทบ

นอกจากนี้ยังมีการรายงานพื้นที่ว่างอย่างไม่ถูกต้อง การใช้งานdu -sh /*เราทำได้เพียงบัญชีประมาณ 30G แต่มีรายงานว่ามีการใช้งานไดรฟ์มากกว่า 200G

การรีบูตเซิร์ฟเวอร์ด้วยshutdown -rF nowเพื่อบังคับให้การตรวจสอบระบบไฟล์ไม่ทำงาน ฉันต้องรีบูตเข้าสู่โหมดผู้ใช้คนเดียวและทำงาน:

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

นี้เกือบจะทำงาน มันผ่านไปสองสามครั้งแล้วล็อค จำเป็นต้องติดตั้งระบบปฏิบัติการใหม่

รักษาการสำรองข้อมูลของคุณ!


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 มันก็จบลงสร้างสองของแต่ละ directory: และ/whatiwanted/whatiwanted?


0

บางครั้งฉันเห็นว่านี่เป็นข้อผิดพลาดชั่วคราวเมื่อเซิร์ฟเวอร์ NFS โอเวอร์โหลดอย่างหนัก

OP ถามถึง RAID แต่มีคำตอบหลายคำที่พูดถึง NFS และที่จริงแล้วนั่นคือการค้นหาที่นำฉันมาที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.