Se você estiver tentando executar o xfs_repair , recebendo a mensagem de erro que sugere a montagem do sistema de arquivos para reproduzir o log e depois de continuar recebendo a mesma mensagem de erro, talvez seja necessário executar um reparo forçado (usando o -L
sinalizador com xfs_repair
). Esta opção deve ser o último recurso.
Por exemplo, usarei um caso em que tive uma partição raiz corrompida na minha instalação do CentOS 7. Ao tentar montar a partição, recebi continuamente a mensagem de erro abaixo:
mount: mount / dev / mapper / centos-root em / mnt / centos-root falhou: A estrutura precisa de limpeza
Infelizmente, forçar um reparo envolveria zerar (destruir) o log antes de tentar um reparo. Ao usar esse método, existe o potencial de acabar com mais dados corrompidos do que o inicialmente previsto; no entanto, podemos usar as ferramentas xfs apropriadas para ver que tipo de dano pode ser causado antes de fazer alterações permanentes.
Usando xfs_metadump e xfs_mdrestore , você pode criar uma imagem de metadados da partição afetada e executar o reparo forçado na imagem em vez da própria partição. Os benefícios disso são a capacidade de ver os danos que vêm com um reparo forçado antes de executá-lo na partição.
Para fazer isso, você precisará de um disco rígido externo ou USB de tamanho decente. Comece montando a unidade USB - meu USB foi localizado em /dev/sdb1
, o seu pode ter um nome diferente.
mkdir -p /mnt/usb
mount /dev/sdb1 /mnt/usb
Depois de montada, execute xfs_metadump
para criar uma cópia dos metadados da partição para o USB - novamente, a partição afetada pode ser diferente. Nesse caso, eu tinha uma partição raiz corrompida localizada em /dev/mapper/centos-root
:
xfs_metadump /dev/mapper/centos-root /mnt/usb/centos-root.metadump
Em seguida, você desejará restaurar os metadados em uma imagem para que possamos executar um reparo e medir o dano.
xfs_mdrestore /mnt/usb/centos-root.metadump /mnt/usb/centos-root.img
Descobri que no modo de recuperação xfs_mdrestore
não está disponível e, em vez disso, você precisa estar no modo de recuperação de um CD ao vivo do CentOS.
Por fim, podemos executar o reparo na imagem:
xfs_repair -L /mnt/usb/centos-root.img
Após a conclusão do reparo e você ter avaliado a saída e os possíveis danos, é possível determinar se deseja executar o reparo na partição.
Para executar o reparo na partição, basta executar:
xfs_repair -L /dev/mapper/centos-root
Não esqueça de verificar também as outras partições. Após os reparos, reinicie o sistema e você poderá inicializar com êxito.
Lembre-se de que a -L
bandeira deve ser usada como último recurso, onde não há outras opções possíveis para reparar.
Descobri que esses artigos on-line ajudavam: