13.3. Mecanismos de tratamento de erros em XFS
Esta seção descreve como o XFS lida com vários tipos de erros no sistema de arquivo.
Montagens não limpas
Journalling mantém um registro transacional das mudanças de metadados que acontecem no sistema de arquivos.
No caso de uma falha no sistema, falha de energia ou outra montagem não limpa, o XFS usa o diário (também chamado log) para recuperar o sistema de arquivo. O kernel realiza a recuperação do diário ao montar o sistema de arquivos XFS.
Corrupção
Neste contexto, corruption significa erros no sistema de arquivos causados, por exemplo, por:
- Falhas de hardware
- Bugs no firmware de armazenamento, drivers de dispositivos, a pilha de software, ou o próprio sistema de arquivos
- Problemas que fazem com que partes do sistema de arquivo sejam sobregravadas por algo fora do sistema de arquivo
Quando o XFS detecta corrupção no sistema de arquivos ou nos metadados do sistema de arquivos, ele pode desligar o sistema de arquivos e relatar o incidente no registro do sistema. Note que se a corrupção ocorreu no sistema de arquivo que hospeda o diretório /var
, estes logs não estarão disponíveis após uma reinicialização.
Exemplo 13.1. Entrada de registro no sistema relatando uma corrupção no XFS
# dmesg --notime | tail -15 XFS (loop0): Mounting V5 Filesystem XFS (loop0): Metadata CRC error detected at xfs_agi_read_verify+0xcb/0xf0 [xfs], xfs_agi block 0x2 XFS (loop0): Unmount and run xfs_repair XFS (loop0): First 128 bytes of corrupted metadata buffer: 00000000027b3b56: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000005f9abc7a: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000005b0aef35: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000000da9d2ded: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000001e265b07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000006a40df69: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000000b272907: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000000e484aac5: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ XFS (loop0): metadata I/O error in "xfs_trans_read_buf_map" at daddr 0x2 len 1 error 74 XFS (loop0): xfs_imap_lookup: xfs_ialloc_read_agi() returned error -117, agno 0 XFS (loop0): Failed to read root inode 0x80, error 11
Os utilitários de espaço do usuário geralmente relatam a mensagem Input/output error quando tentam acessar um sistema de arquivo XFS corrompido. A montagem de um sistema de arquivo XFS com um log corrompido resulta em uma montagem falhada e a seguinte mensagem de erro:
montar /mount-point: a chamada ao sistema de montagem(2) falhou: A estrutura precisa ser limpa.
Você deve usar manualmente o utilitário xfs_repair
para reparar a corrupção.
Recursos adicionais
-
A página de manual
xfs_repair(8)
fornece uma lista detalhada de verificações de corrupção XFS.