주 파일 시스템이 읽기 전용 모드가되는 원인을 찾는 방법 아닌지 알아야합니다 dying

우분투 12.04

파일 시스템이 자주 읽기 전용 모드로 전환됩니다. 우선이 질문 파일 시스템을 읽은 것은 이미 이미 읽기 전용 모드 입니다. 그러나 그것이 아닌 다른 것에 의한 것이 아닌지 알아야합니다 dying hard drive. 이것은 내 클라이언트가 제공하는 서버이며 node.js workers+ 1을 실행 중이며 node.js server사용하고 mongodb있습니다.

때때로 (20-50h마다) 시스템이 갑자기 파일 시스템을 읽기 전용으로 만들고 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는 쉘에 존재하지 않는 명령을 입력하면 다음과 같이 나타납니다.

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이 나갈 것이라는 강력한 증거입니다 . 확인을 위해 smartctl 테스트를 실행할 수 smartctl -t long /dev/sda있지만 ( ) 가능한 한 빨리 교체하는 경향이 있습니다.

편집 : smartctl내가 준 명령은 쓰여진대로 정확합니다. 질문에 실패 모드를 표시해 주셔서 감사합니다. 이것은 매우 오래된 하드웨어이거나 가상화 또는 하드웨어 RAID 컨트롤러와 같은 종류의 변환 계층이있는 것처럼 보입니다. 당신은 명확히 할 수 있습니까?

HDD가 나갔다는 주장을 반복해도 되겠습니까? 테스트는 매우 좋지만 시스템 팩을 설치하고 데이터를 잃기 전에 하드웨어를 교체하는 것이 최우선 과제입니다. 에 더 이상 시간을 낭비하기 전에 최소한 백업이 완전히 최신 상태인지 확인하십시오smartctl .

편집 2 : 파일 시스템을 fscking하는 것이 좋습니다.하지만 FS가 불일치하여 FS가 ro 모드로 떨어지지 않기 때문에 문제가 해결 될 것이라는 희망은 거의 없습니다. 기본 하드웨어와 대화하는 데 문제가 있습니다.

기본 하드웨어에 문제가 없다면 커널과 하드웨어 (가상화 계층)간에 문제가있는 것입니다. VPS 제공 업체에 VPS 시스템에서 실행중인 배포판 및 정확한 커널 버전이 완전히 지원되는지 확인해야합니다.


답변

정확한 오류를 찾기위한보다 완벽한 방법은 읽기 전용 기간에있을 수 있으며 dmesg모든 버그 / 문제에 대해 명령 을 실행할 수 있습니다. fsck건식 모드로 실행 하여 문제가 무엇인지 알아볼 수도 있습니다 . (액세스 제한으로 인해 죄송합니다. 첨부 파일을 볼 수 없습니다. 발행 기간 동안 첨부 파일을 나중에 확인하겠습니다)


답변

또한 서버 FS가 읽기 전용으로 전환되는 동일한 문제에 직면했습니다. inode를 확인하십시오.

df -i