Forçar fsck.ext4 na reinicialização, mas realmente "forte"

Forçar fsck.ext4 na reinicialização, mas realmente "forte"

Um dos meus servidores Ubuntu 10.04 está me causando problemas. Quando executo, fsck.ext4 -n /dev/sda5ele informa que há erros na contagem de inodes livres, na contagem de blocos livres e muito mais.

Eu tentei:

touch /forcefsck

Também tentei:

shutdown -rF now

e ainda assim, após a reinicialização, vejo erros.

Também acabei de verificar meu netbook eeePC, Ubuntu 10.10, e tenho o mesmo problema!

Como posso forçar um fsck realmente "forçado" "forçado" "consertar seriamente meu sistema de arquivos" do sistema de arquivos "/" na reinicialização?

Esclarecimento:Eu corro fsck.ext4 -nporque é um sistema de arquivos montado, para verificar se há erros. Isso me diz que existem. Eu pensei que o fsck automático a cada 30 montagens durante o processo de inicialização fosseprecisamentepara cuidar de erros no sistema de arquivos raiz. Mas isso não acontece no meu caso. Eu poderia reiniciar com um LiveCD e corrigir os erros e, em seguida, reiniciar novamente, mas isso representa um sério tempo de inatividade para um servidor ativo. Reinicializar, auto fsck e continuar a inicialização é muito mais sustentável em um servidor ativo e acredito que deve ser o comportamento correto.

Informação adicional:Aqui está a saída. Parece algo que o autofsck resolveria, não é?

root@server:~# fsck.ext4 -n /dev/sda5
e2fsck 1.41.11 (14-Mar-2010)
Warning!  /dev/sda5 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sda5 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (1849368, counted=1948909).
Fix? no

Free inodes count wrong (545504, counted=552134).
Fix? no


/dev/sda5: ********** WARNING: Filesystem still has errors **********

/dev/sda5: 116752/662256 files (0.2% non-contiguous), 795324/2644692 blocks

Responder1

Eu sei que este é um tópico muito antigo, mas recentemente tive que resolver esse problema, então queria postar como forçar o sistema operacional a corrigir problemas encontrados com o fsck durante a inicialização (para 12.04).

Você precisa executar o comando sudo touch /forcefsck. Isso fará com que ele execute um fsck na próxima inicialização. Você pode ver os resultados do fsck em /var/log/boot.log.

No entanto, você não tem garantia de que o fsck consertará tudo o que encontrar. Para fazer isso, você precisaria editar o arquivo /etc/default/rcS. Há uma linha no final desse arquivo:

FSCKFIX=no

Isso precisa ser alterado para o seguinte:

FSCKFIX=yes

Isso terá o mesmo efeito que executar o fsck com a opção -y que forçará a implementação de todas as correções possíveis e não solicitará interação do usuário.

Isso permitirá que você execute o fsck como o OP estava solicitando, sem precisar recorrer à inicialização a partir de um disco ativo, o que nem sempre é possível, especialmente se você estiver em um sistema remoto.

Responder2

sudo touch /forcefsck
sudo reboot

Você cometeu um erro de digitação: você está tocando em /forcefcsk. O "c" e o "s" são trocados. fsck é a abreviação de FileSystemCheck.

Responder3

Na página de manual do e2fsck:

"Observe que, em geral, não é seguro executar e2fsck em sistemas de arquivos montados. A única exceção é se a opção -n for especificada e as opções -c, -l ou -L não forem especificadas. No entanto, mesmo que seja seguro para fazer isso, os resultados impressos pelo e2fsck não são válidos se o sistema de arquivos estiver montado. Se o e2fsck perguntar se você deve ou não verificar um sistema de arquivos que está montado, a única resposta correta é ''não''. estão fazendo devem considerar responder a esta pergunta de qualquer outra forma."

Portanto, se você verificar um FS montado com fsck, mesmo usando a opção -n, o resultado pode não ser válido. Não verifique sistemas de arquivos montados. Use um Live-CD/Live-USB.

Se você não verificar o sistema de arquivos enquanto ele está montado, não entendo por que você precisa usá-lo, touch /forcefsckbasta desmontá-lo e corrigi-lo. Mas se for o caso e depois de uma correção seu FS ainda apresentar erros, você pode considerar usar:

e2fsck -cy /dev/sda5

Isso corrigirá um problema relacionado ao disco rígido chamado bloqueios defeituosos que você possa ter (isso levará muito tempo).

Se você quiser verificar um sistema de arquivos montado, não sei como proceder, mas acho que você deveria criar outra pergunta.

Responder4

Você pode fazer as revisões automaticamente da seguinte maneira:

Tune2fs -c 5 -i 10 / dev / sda1

-cé o número máximo de montagens antes da execução fscke -ié o número máximo de dias antes da execução fsck.

Neste caso será feito a cada 5 montagens ou a cada 10 dias, o que ocorrer primeiro.

Tenho dois computadores, um com Linux SuSE 13.2 e outro com Linux Mint 18.0 e em ambos funciona perfeitamente.

informação relacionada