Falha no sistema - caracteres estranhos no syslog


11

Eu tenho um pequeno servidor que eu uso para teste e programação. Atualmente, ele roda o Debian 9.4 stretch com o kernel 4.14.0-0.bpo.3-amd64 .

Hoje eu tentei conectar-me através do SSH, mas não consegui, tentei fazer o ping e estava inacessível. Portanto, tive que reiniciá-lo desconectando o cabo de alimentação. Então eu fui /var/log/syslog e encontrei uma linha estranha contendo exatamente 6140 caracteres como o seguinte

^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@

nada mais até que novas entradas de log do sistema sejam reiniciadas. Esta é realmente a primeira vez que isso acontece.

Alguém sabe o que poderia ser?



1
@JdeBP Eu prefiro sua primeira resposta / link, é isso mesmo. Odd tem uma pergunta com mais de 1500 visitas e você não recebe um único voto, +1.
Rui F Ribeiro

Respostas:


14

O conteúdo do arquivo syslog que você está mostrando a todos os zeros é de fato uma corrupção da escrita do sistema de arquivos / syslog.

A falha do sistema travou o sistema durante a gravação no arquivo syslog, e esse é o resultado final.

Já vi isso acontecer várias vezes ao longo dos anos, em VMs Linux e mais algumas vezes em Raspberries e Banana Pis.

Nada para ficar obcecado (muito) ou perder muito tempo para investigar por que você o tem em um evento único. Eu ficaria mais preocupado em descobrir por que ele falhou, especialmente se for um evento regular.

PS entrando em território anedótico, da última vez que tive isso acontecendo regularmente em um Banana Pi R1, consegui rastrear a causa de um chipset wifi (com defeito) realtek.


4
Também é importante notar que ^@é o byte NUL (valor de byte 0), portanto são dados "vazios" que são anexados ao arquivo de log por acidente. Isso pode acontecer, por exemplo, quando um novo bloco vazio é atribuído ao final do arquivo, mas a quantidade de bytes realmente ocupados por dados significativos nesse bloco não é atualizada corretamente (porque a falha / redefinição física ocorreu antes desse contador ser comprometida com a unidade).
marcelm

como descobrir por que ele caiu?
CEO na Apartico 03/07/19

@CEOatApartico Aconselho a abertura de uma nova pergunta.
Rui F Ribeiro


6

Para expandir um pouco essa resposta , seu syslog possui o conteúdo de uma página de memória parcialmente comprometida com o disco, com os metadados do syslog não atualizados. Essa sequência de ^@caracteres é na verdade NUL bytes; exatamente o que uma página de memória recém-alocada contém inicialmente.


Um lembrete amigável: se você o baseará na resposta do JdeBP, tente fazer o certo. Os setores do disco são zerados quando alocados pelo kernel por razões de segurança, não é memória com 0s sendo gravados por si só. Eu aconselho a corrigir isso.
Rui F Ribeiro
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.