Encontre arquivos afetados por blocos defeituosos com md-raid5 e LVM


8

Venho pesquisando bastante esse assunto nas últimas semanas - e acho que estou quase concluindo minha recuperação, tanto quanto possível, pelo menos. Para resumir uma longa história, descreverei o problema sem preencher todos os pequenos detalhes técnicos.

Suponha que você tenha várias matrizes RAID-5, cada uma com 8 discos, e as tenha expandido em um único volume lógico do LVM. Um dos discos morre em uma das matrizes e, durante a reconstrução, você encontra um erro de leitura irrecuperável em um segundo disco nessa matriz. E, claro, não há backups.

Já transferi os dados da unidade com o URE para uma nova unidade, apenas 5K de dados são danificados, todos agrupados em uma área muito pequena do disco. Também estou assumindo que, uma vez remontado o dispositivo MD usando a cópia ddrescue'd, multiplicarei o tamanho da minha perda de dados pelo número de unidades sem paridade em minha matriz (portanto, 35K de perda de dados), como a paridade os cálculos para as faixas usando esses blocos estarão incorretos.

Li e compreendi o procedimento em http://smartmontools.sourceforge.net/badblockhowto.html para determinar quais arquivos seriam corrompidos por uma situação como essa, mas meu problema é descobrir exatamente quais blocos serão corrompidos após o md reconstruir para usar como entrada para depuração. Descobrir todos os deslocamentos em que os metadados da loja md e lvm também não serão divertidos, mas acho que posso lidar com essa parte.

Posso apenas multiplicar todos os meus números de bad block por 7 e, em seguida, supor que os 6 blocos a seguir a seguir também sejam ruins e seguir as instruções LVM no guia acima?

E para deixar claro: não estou preocupado em reparar ou re-mapear os blocos defeituosos, como o guia descreve, substituí o disco e deixarei o md lidar com esse tipo de coisa. Eu só quero saber quais arquivos no sistema de arquivos ext4 foram afetados.

Respostas:


2

Você ainda está procurando ajuda sobre isso? Uma maneira de encontrar os arquivos afetados é tar o sistema de arquivos para / dev / null. Qualquer arquivo que contenha um erro será reclamado pelo tar. Algo como:

tar cf / dev / null / arquivo / sistema / to / check

pode fazer isso por você.

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.