Depois de jogar com o mdadm um pouco demais , agora estou tentando recuperar meus volumes lvm2 que estavam no array RAID1 original. O pvscan não encontra nada, mas isso não é uma surpresa: como o mdadm não é capaz de reconstruir o array, o pvscan não tem /dev/md1 para examinar.
No entanto, eu sei (er ... eu espero) que meus volumes lvm2 ainda estão lá, acho que apenas derrubei os metadados do ataque.
Minha ideia é perder /dev/sdc2 em /dev/loop1 com um deslocamento usando um sysresccd ao vivo, para que eu pule os metadados RAID quebrados em /dev/sdc2 e alcance o próprio PV. Eu planejo algo como:
losetup -o xxxxxx /dev/loop1 /dev/sdc2
pvscan
Então o pvscan pode encontrar o volume em /dev/loop1. O problema é que não sei o offset (mas isso pode ser superado com estudo ou tentativa e erro) e, o mais importante, que o losetup não funciona com dispositivos físicos. Como posso criar um dispositivo que aponta para outro dispositivo com um deslocamento? Ou como posso fazer o pvscan procurar volumes físicos usando um deslocamento?
EDIT depois do comentário @lsd:
Quando tentei:
losetup -o 32256 /dev/loop1 /dev/sdc2
Eu obtive:
losetup: /dev/sdc2: warning: file smaller than 512 bytes, the loop device maybe be useless or invisible for system tools.
e presumi que o aviso estava me dizendo que algo estava errado, porque /dev/sdc2 é menor que 512 bytes apenas se você o considerar como um arquivo normal, mas se o losetup suportar dispositivos de bloco, ele deve saber seu tamanho real ... devo ignorar o aviso, no entanto?
losetup
funciona muito bem em arquivos de dispositivo. Pelo menos no Ubuntu 14.04. Linux 3.13.0-43-generic com util-linux 2.20.1-5.1ubuntu20. E com 2.26-rc1 do git.(por algum motivo, a substituição do processo não funciona:
sudo cmp <(sudo tail -c 32257 /dev/sdb3) /dev/loop5
. "cmp: /dev/fd/63: No such file or directory")Não estou mais usando o lvm neste sistema. Não me lembro do LVM quebrando dispositivos normais de loopback. A menos que ele faça alguma forma de bloqueio nos dispositivos de bloco simples, para que eles não possam ser usados diretamente.