reparar o sistema de arquivos editando o arquivo fstab

reparar o sistema de arquivos editando o arquivo fstab

é possível executar o reparo do xfs reeditando o arquivo fstab?

/dev/mapper/vg-linux_root /                       xfs     defaults        0 0
UUID=7de1dc5c-b605-4a6f-bdf1-f1e869f6ffb9 /boot   xfs     defaults        0 0
/dev/mapper/vg-linux_var /var                     xfs     defaults        0 0
/dev/mapper/vg-linux_swap swap                    swap    defaults        0 0

Não tenho certeza, mas substitua o último número de 0 por 1, certo?

Responder1

Não, apenas editar /etc/fstab não pode fazer com que xfs_repair seja executado.

Para outros tipos de sistemas de arquivos, funcionaria. Mas o XFS é especial aqui.

Alterar o 6º campo para /etc/fstabum valor diferente de zero em um sistema de arquivos XFS fará com que o sistema seja executado fsck.xfs, cuja página de manual diz:

NAME
       fsck.xfs - do nothing, successfully

[...]

       However,  the  system  administrator  can force fsck.xfs to run xfs_re‐
       pair(8) at boot time by creating a /forcefsck file or booting the  sys‐
       tem with "fsck.mode=force" on the kernel command line.

Então, normalmente fsck.xfsnão fará nada.

Se você realmente deseja xfs_repairexecutar na inicialização, há duas condições que devem ser atendidas:

a) O 6º campo /etc/fstabdeve ser diferente de zero para o sistema de arquivos XFS em questão, para que fsck.xfsseja executado.

b) Um /forcefsckarquivo deve existir no sistema de arquivos raiz (ou talvez dentro do initramfs, se estiver planejando verificar o sistema de arquivos raiz), ou a linha de comando do kernel deve ter a fsck.mode=forceopção de inicialização. Isso fará com fsck.xfsque você execute xfs_repairem vez de não fazer nada.

O que há de tão especial em xfs_repair, então?

O sistema de arquivos XFS e a xfs_repairferramenta assumirão que o disco subjacente está em boas condições, ou pelo menos é capaz de substituir de forma transparente blocos defeituosos por blocos sobressalentes integrados (como fazem todos os discos modernos). Se um disco moderno tiver blocos defeituosos persistentes visíveis para o sistema operacional, isso geralmente significa que o mecanismo de bloco sobressalente integrado já foi sobrecarregado pela quantidade de blocos defeituosos e, de qualquer maneira, o disco provavelmente irá falhar completamente em breve.

A página de manual xfs_repairdiz:

   Disk Errors
       xfs_repair aborts on most disk I/O errors. Therefore, if you are trying
       to  repair  a  filesystem that was damaged due to a disk drive failure,
       steps should be taken to ensure that all blocks in the  filesystem  are
       readable and writable before attempting to use xfs_repair to repair the
       filesystem. A possible method is using dd(8) to copy the  data  onto  a
       good disk.

Portanto, você provavelmente não deve configurar xfs_repaira execução automática em circunstâncias normais.

Se um sistema de arquivos XFS tiver erros, você deve sempre primeiro avaliar a condição do disco subjacente: smartctl -a /dev/<disk device>pode ser útil, como pode ser usado ddpara ler todo o conteúdo da partição/LV /dev/nulle verificar se o comando pode ser concluído sem erros.

Se o disco estiver falhando, você deve primeiro copiar o conteúdo da partição/LV para um disco novo e livre de erros (talvez usando ddou ddrescue), e só então você deve tentar executar xfs_repairno sistema de arquivos no disco livre de erros.

A execução xfs_repairautomática no momento da inicialização pode ser uma solução alternativa apropriada se você souber que algo está causando erros no nível do sistema de arquivos, mesmo quando seus discos estiverem em boas condições. Mas isso é apenas uma solução alternativa, não uma correção: você deve descobrir o que está causando os erros do sistema de arquivos e corrigir a causa raiz. (Talvez um bug no driver do sistema de arquivos, exigindo um pacote de kernel atualizado para correção?)

Responder2

Se os arquivos contiverem /dev/sdaerros, você precisará executá fsck-los. Lembre-se de que isso não reparará o disco em si, mas apenas os arquivos. Se o disco realmente apresentar erros e estiver falhando, é melhor substituí-lo e restaurar os dados de um backup, porque se ficar ruim o suficiente, você possivelmente terá perda de dados, especialmente se o disco morrer completamente.

informação relacionada