Ubuntu 12.04
Файловая система часто переходит в режим только для чтения. Прежде всего, я прочитал этот вопрос: файловая система уже часто переходит в режим только для чтения . Но я должен знать, не вызвано ли это чем-то еще dying hard drive
. Это сервер предоставляется моим клиентом , и я просто подножки есть некоторые node.js workers
+ один , node.js server
и я использую mongodb
.
Время от времени (каждые 20-50 часов) система внезапно делает файловую систему доступной только для чтения, процесс mongodb завершается неудачно (из-за только для чтения fs), и мои рабочие / серверы узла (которые запускаются forever
) просто уничтожаются.
Вот журнал от dmesg - я вижу там некоторые ошибки и сообщения, что FS собирается только для чтения, и есть также некоторая ошибка ЖУРНАЛА, но я хотел бы найти причину этих ошибок ..
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
.
Теперь, когда я набираю любую команду, которая не существует в оболочке, я получаю это:
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 drive? Только 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
источник
Ответы:
Для меня это довольно веское доказательство того, что ваш
/dev/sda
выход. Вы можете запустить тест smartctl для подтверждения (smartctl -t long /dev/sda
), но я бы хотел заменить его как можно скорее.Изменить :
smartctl
команда, которую я дал, является правильным, как написано. Спасибо за показ режима отказа в вашем вопросе; похоже, либо у вас очень старое оборудование, либо есть какой-то уровень трансляции: либо виртуализация, либо аппаратный контроллер RAID. Вы можете уточнить?Могу ли я повторить свое утверждение о том, что ваш жесткий диск находится на выходе? Тестирование все очень хорошо, но замена оборудования до того, как ваша система будет упакована и ваши данные будут потеряны, должна стать вашим приоритетом. Пожалуйста, по крайней мере, убедитесь, что ваши резервные копии полностью обновлены, прежде чем тратить больше времени
smartctl
.Редактировать 2 : безусловно, стоит попробовать то, что они предложили - fscking файловой системы - но я мало надеюсь, что это решит проблему, потому что ваша FS не переходит в режим ro из-за несоответствий FS, она переходит в режим ro, потому что проблем, связанных с базовым оборудованием.
Если они уверены, что с базовым оборудованием все в порядке, то это проблема между ядром и оборудованием, то есть уровнем виртуализации. Вам, вероятно, следует попросить вашего провайдера VPS подтвердить, что дистрибутив и точная версия ядра, которую вы используете, полностью поддерживаются в их системе VPS.
источник
Более совершенный способ найти точную ошибку может быть во время периода только для чтения и выполнить команду
dmesg
для любых ошибок / проблем. Вы также можете попробовать запуститьfsck
в сухом режиме, чтобы выяснить, в чем проблема. (извините из-за ограничения доступа, я не могу просмотреть ваше вложение. Если оно будет в период выдачи, я проверю его позже)источник
dmesg
команду, когда файловая система была в режиме только для чтения. Сейчас я просто перезагрузил сервер и пока он работает. Что вы имеете в видуfsck in dry mode
? Я никогда не использовал эту команду ...fsck -N sda
Я также столкнулся с той же проблемой, когда сервер FS переходил только для чтения. Сделайте проверку inode, возможно, они переполнены:
источник