Como encontrar a causa do sistema de arquivos principal entrando no modo somente leitura


9

Ubuntu 12.04

O sistema de arquivos entra no modo somente leitura com freqüência. Primeiro de tudo, eu li esta pergunta, o sistema de arquivos já está entrando no modo somente leitura frequentemente . Mas tenho que saber se não foi causado por outra coisa senão dying hard drive. Este é o servidor fornecido pelo meu cliente e estou apenas rodando lá um node.js workers+ um node.js servere estou usando mongodb.

De tempos em tempos (a cada 20-50h) o sistema repentinamente torna o sistema de arquivos somente leitura, o processo mongodb falha (devido ao fs somente leitura) e os trabalhadores / servidor do nó (que são iniciados forever) são mortos.

Aqui está o log do dmesg - eu posso ver alguns erros e mensagens que o FS vai somente leitura, e também há algum erro JOURNAL, mas eu gostaria de encontrar a causa desses erros.

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


editar

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.

O que estou fazendo errado? O mesmo é para sda2.

Agora, quando digito qualquer comando que não exista no shell, recebo o seguinte:

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

Acabei de receber informações de que esse servidor é realmente VPS e eles me disseram que os discos rígidos estão OK e estão no RAID 10. E eles me disseram que "forçar o fsck no fstab deve ajudar" ...


edit3

aqui é produzido pelo mountcomando:

/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)

Portanto, não existe realmente unidade sda? Apenas sda2?


edit4

Saída do fsck -Ncomando:

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

I usando o mesmo problema, meu ubuntu ter NodeJS aplicativo, MongoDB, o Chrome, VSCode, Robomongo, terminais tilix, Matermost, Thunderbird e do carteiro aplicativos ativos diariamente
Ankur Loriya

Respostas:


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

Para mim, é uma evidência bastante forte de que você /dev/sdaestá saindo. Você pode executar um teste smartctl nele para confirmação ( smartctl -t long /dev/sda), mas eu gostaria de substituí-lo o mais rápido possível.

Edit : o smartctlcomando que dei é correto como está escrito. Obrigado por mostrar o modo de falha na sua pergunta; parece que você tem um hardware muito antigo ou há algum tipo de camada de conversão no caminho: virtualização ou um controlador RAID de hardware. Você pode esclarecer?

Posso repetir minha afirmação de que seu HDD está saindo? Os testes estão muito bem, mas a substituição do hardware antes que o sistema seja compactado e os dados sejam perdidos deve ser sua prioridade agora. Por favor, certifique-se de que seus backups estejam completamente atualizados antes de desperdiçar mais tempo smartctl.

Edit 2 : certamente vale a pena tentar o que eles sugeriram - fscking no sistema de arquivos - mas tenho pouca esperança de que isso resolva o problema porque seu FS não está caindo no modo ro por causa de inconsistências do FS, está caindo no modo ro porque de problemas conversando com o hardware subjacente.

Se eles confiam que o hardware subjacente está bom, é um problema entre o kernel e o hardware, ou seja, a camada de virtualização. Você provavelmente deve solicitar ao seu provedor VPS que confirme que a distribuição e a versão exata do kernel que você está executando são totalmente suportadas no sistema VPS.


2

A maneira mais perfeita de encontrar o erro exato pode ser durante o período somente leitura e execute o comando dmesgpara quaisquer bugs / problemas. Você também pode tentar executar o fsckmodo seco para descobrir qual é o problema. (desculpe-me por restrição de acesso. Não consigo visualizar seu anexo. Se for durante o período de emissão, verificarei mais tarde)


Eu usei o dmesgcomando quando o sistema de arquivos estava no modo somente leitura. Agora eu apenas reiniciei o servidor e, por enquanto, ele funciona. Como assim fsck in dry mode? Eu nunca usei esse comando ...
user606521 22/10

`fsck -N <partition>` Não execute, apenas mostre o que seria feito.
rootslash

Eu editei a pergunta e adicionei a saída defsck -N sda
user606521

2

Eu também havia enfrentado o mesmo problema, em que o servidor FS estava entrando em somente leitura. Faça uma verificação do inode, eles provavelmente podem estar cheios:

df -i

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.