如何find主文件系统转为只读模式的原因

Ubuntu 12.04

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

时不时(每20-50小时)系统突然使文件系统只读,mongodb进程失败(由于只读fs)和我的节点worker / server( forever启动)只是被杀害。

这里是来自dmesg的日志 – 我可以看到一些错误和消息,FS是只读的,也有一些日记错误,但我想find这些错误的原因..

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现在当我input任何命令不存在于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上。他们告诉我,“在fstab强制fsck应该有所帮助”…


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 

 [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正在退出。 你可以运行一个smartctltesting来确认( smartctl -t long /dev/sda ),但我倾向于尽快更换它。

编辑 :我给的smartctl命令是正确的,如书面。 感谢您在问题中显示失败模式; 这看起来好像你有很旧的硬件,或者有某种翻译层:虚拟化或硬件RAID控制器。 你能澄清吗?

我可以重复我的说法,您的硬盘驱动器正在出路吗? testing一切都很好,但是在系统打包之前更换硬件,丢失数据应该是您的首要任务。 请至less确保您的备份完全是最新的,然后再浪费更多时间在smartctl

编辑2 :当然值得尝试他们提出的build议 – fscking文件系统 – 但我没有什么希望能解决这个问题,因为你的FS不会因为FS不一致而掉到ro模式,因为它会掉到ro模式与底层硬件交stream的问题。

如果他们相信底层硬件是好的,那么这是内核和硬件之间的问题,也就是虚拟化层。 您可能应该让您的VPS提供商确认您的VPS系统完全支持您正在运行的发行版和确切的内核版本。

更完美的方式来find确切的错误可能是在只读期间,并运行命令dmesg的任何错误/问题。 您也可以尝试在干模式下运行fsck所在。 (抱歉,由于访问限制我无法查看您的附件,如果在问题期间,我会稍后检查)