sistema de arquivos raiz somente leitura

25

De alguma forma, meu Debian foi apenas para leitura no sistema de arquivos raiz. Não tenho ideia de como isso poderia ter acontecido.
Por exemplo, quando estou na /rootpasta e digite o comando nanoe depois pressione Tabpara listar o arquivo possível nessa pasta, recebo a mensagem:

root@debian:~# nano -bash: cannot create temp file for here-document: Read-only file system

O mesmo para o cdcomando quando digito cd /homee pressiono Tabpara listar os caminhos que tenho:

root@debian:~# cd /home -bash: cannot create temp file for here-document: Read-only file system

Eu também tenho problemas com software como apte outros. Não é possível ao apt-get update. Eu tenho muitos erros como este:

Err http ://ftp.de.debian.org wheezy-updates/main Sources
406  Not Acceptable
W: Not using locking for read only lock file /var/lib/apt/lists/lock
W: Failed to fetch http ://ftp.de.debian.org/debian/dists/wheezy/Release  rename failed, Read-only file system (/var/lib/apt/lists/ftp.de.debian.org_debian_dists_wheezy_Release -> /var/lib/apt/lists/ftp.de.debian.org_debian_dists_wheezy_Release).
W: Failed to fetch http ://security.debian.org/dists/wheezy/updates/main/source/Sources  404  Not Found
W: Failed to fetch http ://security.debian.org/dists/wheezy/updates/main/binary-amd64/Packages  404  Not Found
W: Failed to fetch http ://ftp.de.debian.org/debian/dists/wheezy-updates/main/source/Sources  406  Not Acceptable
E: Some index files failed to download. They have been ignored, or old ones used instead.
W: Not using locking for read only lock file /var/lib/dpkg/lock

Eu tenho muitos problemas no sistema. É possível consertar isso? Como posso verificar o que aconteceu? O que devo procurar nos logs?

Eu sei que poderia ser por causa da linha no /etc/fstabarquivo:

/dev/mapper/debian-root /               ext4    errors=remount-ro 0       1

mas qual é o problema? Não encontro nada ou talvez não saiba para onde olhar.

Editar:

Pesquisei os logs de mensagens e encontrei apenas isso:

kernel: [    5.709326] EXT4-fs (dm-0): re-mounted. Opts: (null)
kernel: [    5.977131] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
kernel: [    7.174856] EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: (null)

Eu acho que está correto, porque eu tenho as mesmas entradas em outras máquinas debian.

Eu encontrei algo no dmesg (cortei um pouco essa saída porque havia muitas coisas ext4 padrão)

root@gs3-svn:/# dmesg |grep ext4
EXT4-fs error (device dm-0) in ext4_reserve_inode_write:4507: Journal has aborted
EXT4-fs error (device dm-0) in ext4_reserve_inode_write:4507: Journal has aborted
EXT4-fs error (device dm-0) in ext4_dirty_inode:4634: Journal has aborted
EXT4-fs error (device dm-0): ext4_discard_preallocations:3894: comm rsyslogd: Error loading buddy information for 1
EXT4-fs warning (device dm-0): ext4_end_bio:250: I/O error -5 writing to inode 133130 (offset 132726784 size 8192 starting block 159380)
EXT4-fs error (device dm-0): ext4_journal_start_sb:327: Detected aborted journal

5 erros e 1 aviso. Alguma ideia? É seguro usar mount -o remount, rw /?

s1c
fonte
2
Procure as strings "ext4" e "/ dev / mapper / debian-root" em /var/log/messages. Se o seu sistema de arquivos estiver corrompido, você deverá vê-lo nas primeiras mensagens do kernel durante a inicialização. Tente também mount -o remount,rw /dev/mapper/debian-rootnos dizer se isso gera um erro.
Lgeorget
Também você tem o espaço restante, o que lhe dá o comandodf
kiwy
Você pode inicializar no 'modo de recuperação' do grub? Como alternativa, edite as opções do kernel do grub e adicione a palavra single ao final e inicialize. Você deve terminar com um shell raiz a partir do qual pode executar várias ferramentas para verificar e reparar seu disco.
garethTheRed
redefinindo a "máquina VM" fez resolver o meu problema (caso - Ubuntu foi em execução no Virtual Box)
parasrish

Respostas:

29

O comportamento padrão para a maioria dos sistemas de arquivos Linux é proteger seus dados. Quando o kernel detecta um erro no subsistema de armazenamento, ele torna o sistema de arquivos somente leitura para evitar (mais) corrupção de dados.

Você pode ajustar isso de alguma maneira com a opção de montagem errors={continue|remount-ro|panic}que está documentada no manual do sistema ( man mount).

Quando o sistema de arquivos raiz encontrar esse erro, na maioria das vezes o erro não será registrado nos arquivos de log, pois eles também serão somente leitura. Felizmente, como é uma ação do kernel, a mensagem de erro original é registrada primeiro na memória, no buffer de anel do kernel. A menos que já esteja liberado da memória, você pode exibir o conteúdo do buffer de anel com o dmesgcomando .

A maioria dos discos rígidos reais oferece suporte ao SMART e você pode usar smartctlpara tentar diagnosticar a integridade do disco.

Dependendo das mensagens de erro, você pode decidir que ainda é seguro usar o sistema de arquivos e retornar a condição de leitura e gravação com mount -o remount,rw /

Em geral, porém, os erros de disco são um precursor para concluir a falha do disco. Agora é a hora de criar um backup dos seus dados ou confirmar o status dos backups existentes.

HBruijn
fonte
sim eu tenho os dados de backup. Couold você pode olhar para a minha pergunta de novo? Encontrei algo no dmesg e fiz pequenas edições na minha pergunta.
S1c
Normalmente, eu esperaria que esses erros ext4 fossem cercados por erros relacionados à IO ou ao dispositivo, pois provavelmente o problema não é o sistema de arquivos, mas o disco subjacente. Veja, por exemplo, askubuntu.com/questions/141862/…
HBruijn
Mais uma pergunta. Poderia ser por causa de partições montadas (armazenamento SAN / NAS)? É claro que eu os tenho no meu arquivo fstab definido.
s1c
Na minha experiência, apenas o sistema de arquivos que sofreu os erros de E / S é montado como somente leitura, nem as outras partições nem os compartilhamentos remotos não devem ser remontados como somente leitura.
21714 HBruijn
Montamos -o remount, rw / e, em seguida, chmod no arquivo que funcionou para nós. Quando terminar as alterações, monte -o remontar, ro / para levar o sistema de arquivos de volta para somente leitura.