ext4 com estrutura corrupta do sistema de arquivos

1

Algo corrompeu minha partição ext4 no meu servidor debian. O servidor tinha um tempo de atividade de aproximadamente 1700 dias e, infelizmente, o no-break não tinha bateria suficiente para durar uma interrupção de energia durante todo o dia.

Eu estava rodando com o Debian (tão estúpido), e sobre o tempo que o systemd entrou em cena parei de fazer o apt-get dist-upgrade. (mais idiota)

Após a queda de energia, ele inicializou no modo de emergência do systemd e não foi possível montar a unidade. (/ dev / sdb1 não encontrado). Eu tentei o apt-get dist-upgrade para ver se ele iria consertar o problema, mas ele falhou depois de um tempo, e após a reinicialização eu não consegui mais logar porque o systemd falhou. Depois de um tempo eu encontrei o sysvinit no bootmenu, e pude então inicializar no linux. (Deveria ter feito isso primeiro! Doh)

A partição que foi corrompida está em um disco rígido de 750 GB e é usada para / home. Deve haver cerca de 100 GB de espaço usado, mas é relatado como 968 MB.

E de alguma forma, a estrutura de diretórios raiz de / (/ dev / sda1) foi copiada para / home (/ dev / sdc1) ???

root@server:/home# ls -lah
ls: cannot access 'run': Input/output error
ls: cannot access 'sys': Input/output error
ls: cannot access 'etc': Input/output error
total 92K
drwxr-xr-x 23 root    root    4.0K Jan 14  2013 .
drwxr-xr-x 23 root    root    4.0K Feb 11 14:23 ..
drwxr-xr-x  2 user2   user2   4.0K Nov  2  2010 bin
drwxr-xr-x  2 user1   user1   4.0K Feb  3  2013 boot
drwxrwxr-x  3 user2   user2   4.0K Aug 19  2005 dev
d?????????  ? ?       ?          ?            ? etc
drwxr-xr-x  2 user1   user1   4.0K Jan 15  2013 home
lrwxrwxrwx  1 root    root      30 Jan  3  2013 initrd.img -> /boot/initrd.img-3.2.0-4-amd64
drwxr-xr-x 14 root    root    4.0K Jan  9  2013 lib
drwxr-xr-x  2 root    root    4.0K Jan  3  2013 lib64
drwx------  2 root    root     16K Jan  3  2013 lost+found
drwxr-xr-x  2 user1   user1   4.0K May 31  2010 media
drwxr-xr-x  6 user1   user1   4.0K Jan 15  2013 mnt
drwxr-xr-x  2 user1   user1   4.0K Feb  5  2006 opt
drwxr-xr-x  2 user1   user1   4.0K Feb  3  2013 proc
drwxr-xr-x  2 user1   user1   4.0K Feb  3  2013 root
d?????????  ? ?       ?          ?            ? run
drwxr-xr-x  4 user3   user3   4.0K Mar 26  2013 sbin
drwxr-xr-x  2 user1   user1   4.0K Jan 15  2013 selinux
drwxr-xr-x  2 user1   user1   4.0K Feb  3  2013 srv
d?????????  ? ?       ?          ?            ? sys
drwxr-xr-x  3 user4   user4   4.0K Nov 27 23:05 tmp
drwx------  2 user5   user5   4.0K Aug 17  2009 usr
drwx--x--x 13 user2   user2   4.0K Jan 12  2012 var
lrwxrwxrwx  1 root    root      26 Jan  3  2013 vmlinuz -> boot/vmlinuz-3.2.0-4-amd64

(nomes de usuário alterados)

Isso parece idêntico ao / (/ dev / sda1).

Mas dentro dessas pastas há arquivos que não deveriam estar onde estão, mas são legíveis. Por exemplo, dentro de "opt" existem jpegs de algum lugar em meu próprio userdir. Dentro de "var" são arquivos e pastas de um usuário quase completamente intactos com estrutura de diretórios e nomes de arquivos corretos, apenas arquivos ausentes em pelo menos um lugar.

Eu fiz uma cópia dd da partição para outro disco rígido, e então tentei fsck nele, aparentemente "consertou" muitas coisas, mas depois não foi possível montá-lo por mais tempo. "tipo fs errado, má opção, superbloco ruim em / dev / sdc1, falta de página de código ou programa auxiliar, ou outro erro."

Eu não tenho ideia de como isso aconteceu, ou como corrigi-lo, e não tenho grandes expectativas de que isso será possível. Essa é a coisa mais estranha que eu já vi no Linux, e eu principalmente quero saber como isso aconteceu. Se eu puder recuperar todos os arquivos, isso me faria um homem muito feliz!

Eu sei sobre o PhotoRec e planejo usá-lo se não puder reparar a estrutura de diretórios original.

    
por abe 11.02.2018 / 20:46

1 resposta

0

Primeiro, como backup, faça uma cópia da partição com dd , gddrescue ou algum outro utilitário de imagem, (mesmo cp funciona).

Dado que é um kernel v3.2 de 2013, tente reinicializar a partir de uma nova distribuição / kernel, e então execute seu novo fsck na partição afetada. Os utilitários de arquivos das novas distribuições tiveram cinco anos de correções de bugs e melhorias , e isso pode ajudar.

    
por 11.02.2018 / 20:53

Tags