วิธีค้นหาสาเหตุของระบบไฟล์หลักจะอ่านในโหมดเท่านั้น


9

Ubuntu 12.04

ระบบไฟล์เข้าสู่โหมดอ่านอย่างเดียวบ่อยครั้ง ก่อนอื่นฉันได้อ่านคำถามนี้แล้วระบบไฟล์จะเข้าสู่โหมดอ่านอย่างเดียวบ่อยๆแล้ว dying hard driveแต่ก็ต้องรู้ว่าถ้ามันไม่ได้เกิดจากสิ่งอื่นมากกว่า นี่คือเซิร์ฟเวอร์ที่ลูกค้าของฉันจัดทำขึ้นและฉันกำลังเรียกใช้งานnode.js workers+1 node.js serverและฉันกำลังใช้งานmongodbอยู่

ในบางครั้งระบบ (ทุก ๆ 20-50 ชม.) ทำให้ระบบไฟล์อ่านอย่างเดียวกระบวนการ mongodb ล้มเหลว (เนื่องจากอ่านอย่างเดียว fs) และโหนดพนักงาน / เซิร์ฟเวอร์ของฉัน (ซึ่งเริ่มต้นด้วยforever) เพิ่งถูกฆ่า

นี่คือบันทึกจาก dmesg - ฉันเห็นข้อผิดพลาดและข้อความที่ FS กำลังอ่านอย่างเดียวและยังมีข้อผิดพลาดของ JOURNAL อยู่ด้วย แต่ฉันต้องการค้นหาสาเหตุของข้อผิดพลาดเหล่านั้น ..

http://speedy.sh/Ux2VV/dmesg.log.txt


แก้ไข

smartctl -t long /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.5.0-23-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

SMART support is: Unavailable - device lacks SMART capability.
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.

ฉันทำอะไรผิด sda2เช่นเดียวกันสำหรับ

Morover ตอนนี้เมื่อฉันพิมพ์คำสั่งใด ๆ ที่ไม่มีอยู่ใน shell ฉันได้รับสิ่งนี้:

Sorry, command-not-found has crashed! Please file a bug report at:
https://bugs.launchpad.net/command-not-found/+filebug
Please include the following information with the report:

edit2

ฉันเพิ่งได้รับข้อมูลว่าเซิร์ฟเวอร์นี้เป็น VPS จริงและพวกเขาบอกฉันว่าฮาร์ดไดรฟ์นั้นใช้ได้และอยู่บน RAID 10 และพวกเขาบอกฉันว่า "การบังคับ fsck ใน fstab น่าจะช่วยได้" ...


edit3

นี่คือผลลัพธ์จากmountคำสั่ง:

/dev/sda2 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /media/psf type prl_fs (rw,nosuid,nodev,sync,noatime,share,_netdev)

ดังนั้นจึงไม่มีไดรฟ์ sda จริงหรือ sda2 เท่านั้น?


edit4

เอาต์พุตจากfsck -Nคำสั่ง:

root@ubuntu:~# fsck -N sda
fsck from util-linux 2.20.1
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 sda /dev/sda2 

ฉันใช้ปัญหาเดียวกันอูบุนตูของฉันมีแอพ NodeJS, MongoDB, Chrome, VSCode, Robomongo, เทอร์มินัล tilix, Matermost, Thunderbird และ Postman แอปพลิเคชั่นที่ใช้งานทุกวัน
Ankur Loriya

คำตอบ:


8
[26729.124569] Write(10): 2a 00 03 96 5a b0 00 00 08 00
[26729.124576] end_request: I/O error, dev sda, sector 60185264
[26729.125298] Buffer I/O error on device sda2, logical block 4593494
[26729.125986] lost page write due to I/O error on sda2

สำหรับฉันนั่นเป็นหลักฐานที่แข็งแกร่งว่าคุณ/dev/sdaกำลังจะออกไป คุณสามารถใช้การทดสอบ smartctl ในการยืนยัน ( smartctl -t long /dev/sda) แต่ฉันอยากจะแทนที่โดยเร็วที่สุด

แก้ไข : smartctlคำสั่งที่ฉันให้นั้นถูกต้องตามที่เขียนไว้ ขอขอบคุณที่แสดงโหมดความล้มเหลวในคำถามของคุณ ดูเหมือนว่าคุณมีฮาร์ดแวร์ที่เก่ามากหรือมีเลเยอร์การแปลบางอย่างในทาง: virtualisation หรือคอนโทรลเลอร์ RAID ของฮาร์ดแวร์ คุณช่วยอธิบายได้ไหม

ฉันขอยืนยันซ้ำได้ไหมว่า HDD ของคุณกำลังจะหมด? การทดสอบนั้นทำได้ดีมาก แต่การได้รับฮาร์ดแวร์มาแทนที่ก่อนที่ระบบของคุณจะแพ็คขึ้นและข้อมูลของคุณสูญหายควรเป็นลำดับความสำคัญของคุณในตอนนี้ โปรดอย่างน้อยที่สุดต้องแน่ใจว่าข้อมูลสำรองของคุณเป็นข้อมูลล่าสุดอย่างสมบูรณ์ก่อนที่จะเสียเวลาอีกต่อsmartctlไป

แก้ไข 2 : มันคุ้มค่าที่จะลองสิ่งที่พวกเขาแนะนำ - fscking ระบบไฟล์ - แต่ฉันหวังว่ามันจะแก้ไขปัญหาได้เนื่องจาก FS ของคุณไม่ได้ไปโหมด ro เนื่องจาก FS ไม่สอดคล้องกัน ของปัญหาการพูดคุยกับฮาร์ดแวร์พื้นฐาน

หากพวกเขามีความมั่นใจว่าฮาร์ดแวร์พื้นฐานนั้นใช้ได้ก็เป็นปัญหาระหว่างเคอร์เนลและฮาร์ดแวร์นั่นคือเลเยอร์การสร้างระบบเสมือน คุณอาจได้รับผู้ให้บริการ VPS ของคุณเพื่อยืนยันว่า distro และรุ่นเคอร์เนลที่แน่นอนที่คุณใช้อยู่นั้นได้รับการสนับสนุนอย่างเต็มที่ในระบบ VPS ของพวกเขา


2

วิธีที่สมบูรณ์แบบมากขึ้นในการค้นหาข้อผิดพลาดที่แน่นอนอาจอยู่ในช่วงเวลาอ่านอย่างเดียวและเรียกใช้คำสั่งdmesgสำหรับข้อบกพร่อง / ปัญหาใด ๆ คุณอาจลองเรียกใช้fsckในโหมดแห้งเพื่อค้นหาว่าปัญหาคืออะไร (ขออภัยเนื่องจากข้อ จำกัด การเข้าถึงฉันไม่สามารถดูสิ่งที่แนบมาของคุณหากในช่วงระยะเวลาที่มีปัญหาฉันจะตรวจสอบในภายหลัง)


ฉันใช้dmesgคำสั่งเมื่อระบบไฟล์อยู่ในโหมดอ่านอย่างเดียว ตอนนี้ฉันเพิ่งรีบูตเซิร์ฟเวอร์และตอนนี้ก็ใช้งานได้ คุณหมายถึงfsck in dry modeอะไร ฉันไม่เคยใช้คำสั่งนี้ ...
user606521

`fsck -N <พาร์ทิชัน>` อย่าดำเนินการเพียงแค่แสดงสิ่งที่จะทำ
rootlash

ฉันแก้ไขคำถามและเพิ่มผลลัพธ์จากfsck -N sda
user606521

2

ฉันยังต้องเผชิญกับปัญหาเดียวกันนั้นเซิร์ฟเวอร์ FS กำลังจะอ่านอย่างเดียว ตรวจสอบไอโหนดพวกเขาอาจจะเต็ม:

df -i

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