如何找到主文件系统进入只读模式的原因


9

Ubuntu 12.04

文件系统经常进入只读模式。首先,我已经阅读了这个问题文件系统,它已经经常进入只读模式。但是我必须知道它是否不是由引起的dying hard drive。这是我的客户提供的服务器,我在那里运行了node.js workers一个+一个node.js server,我正在使用mongodb

系统有时(每20-50h)突然使文件系统变为只读,mongodb进程失败(由于fs只读),而我的节点worker /服务器(由发起forever)被杀死。

这是dmesg的日志-我可以看到FS将变为只读状态的一些错误和消息,并且还存在一些JOURNALAL错误,但我想找出导致这些错误的原因。

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

现在,当我键入shell中不存在的任何命令时,Morover会得到以下信息:

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:

编辑2

我刚刚得到的信息是该服务器实际上是VPS,他们告诉我硬盘驱动器可以,并且它们在RAID 10上。他们告诉我“在fstab中强制fsck应该会有所帮助” ...


编辑3

这是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?


编辑4

fsck -N命令输出:

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

我使用相同的问题,我的ubuntu每天都有NodeJS应用,MongoDB,Chrome,VSCode,Robomongo,tilix终端,Matermost,Thunderbird和Postman活动应用程序
Ankur Loriya 18/12/21

Answers:


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我给的命令是正确的书面。感谢您显示问题中的失败模式;看起来您的硬件很旧,或者有某种转换层:虚拟化或硬件RAID控制器。你能澄清一下吗?

我是否可以再说一次您的硬盘即将淘汰?测试一切都很好,但是现在应该优先考虑在系统打包和数据丢失之前更换硬件。请至少在浪费更多时间之前,确保您的备份是最新的smartctl

编辑2:值得尝试他们提出的建议-fscking文件系统-但我几乎没有希望能解决此问题,因为您的FS不会因为FS不一致而下降到ro模式,而是因为FS下降到ro模式,因为与底层硬件对话的问题。

如果他们有信心底层硬件很好,那么这就是内核和硬件(即虚拟化层)之间的问题。您可能应该让您的VPS提供程序确认您正在运行的发行版和确切的内核版本在其VPS系统上得到了完全支持。


2

查找精确错误的更完美方法可能是在只读期间并dmesg针对任何错误/问题运行命令。您也可以尝试fsck以干燥模式运行以找出问题所在。(很抱歉,由于访问限制,我无法查看您的附件。如果在发行期内,附件将在以后进行检查)


dmesg当文件系统处于只读模式时,我使用了命令。现在,我刚刚重新启动服务器,现在它可以工作了。你是什么意思fsck in dry mode?我从未使用过此命令...
user606521 2013年

`fsck -N <分区>`不执行,仅显示将要执行的操作。
rootslash

我编辑了问题,并从fsck -N sda
user606521

2

我也遇到过同样的问题,其中服务器FS变为只读。检查inode,它们可能已满:

df -i

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.