O método estúpido e demorado:
Para cada disco, monte o RAID com esse disco ausente e monte-o. Compare todos os arquivos dessas montagens; se você encontrar alguma diferença em algum dos arquivos, essa é a sua incompatibilidade.
Faça isso em um sistema de recuperação, onde seu RAID não está em execução. Para garantir que nenhuma alteração seja feita nos próprios membros do RAID, crie dispositivos de loop somente leitura para eles.
# losetup --find --show --read-only /dev/diska
/dev/loop0
# losetup --find --show --read-only /dev/diskb
/dev/loop1
# losetup --find --show --read-only /dev/diskc
/dev/loop2
Montar com um disco ausente:
# mdadm --assemble --run --readonly /dev/md42 /dev/loop0 /dev/loop1
mdadm: /dev/md42 has been started with 2 drives (out of 3).
# mount -o ro /dev/md42 loop/
# md5sum loop/file
95e3afde4229e266cb49f1d6e3fba705 file
Montar com outro disco ausente: (e fazer isso para cada disco por vez, então cada disco foi o disco ausente uma vez)
# mdadm --stop /dev/md42
# mdadm --assemble --run --readonly /dev/md42 /dev/loop0 /dev/loop2
mdadm: /dev/md42 has been started with 2 drives (out of 3).
# mount -o ro /dev/md42 loop/
# md5sum loop/file
679c261d076f268a880c0fe847739e64 file
Então, você tem um arquivo diferente. Se qualquer um deles pode ser o correto, você tem que decidir por si mesmo.
Localizar o endereço de incompatibilidade diretamente seria certamente mais inteligente; Eu não sei se md
pode ser coagido para dar esses endereços para você, no entanto. Você ainda teria que encontrar em qual arquivo esse endereço poderia estar relacionado em seu sistema de arquivos. A facilidade com que isso pode ser feito depende do sistema de arquivos.