Simfs vincula o paradeiro

0

Eu tenho um hardlink estranho no servidor centos 6.5 vps. É feito por homens, eu suponho, mas não fui eu quem fez isso.

df conta algumas informações.

[root@root]# df
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/simfs     209715200 128660820  81054380  62% /
none             4194304         4   4194300   1% /dev
none             4194304         0   4194304   0% /dev/shm
/dev/simfs     209715200 128660820  81054380  62% /var/www/username/data/www/test.site.biz/photo

ls -li não informa nada útil

[root@vz65646 test.site.biz]# ls -li
total 7952
79435160 drwxr-xr-x 2 someuser someuser 8130560 Oct 25 20:52 photo

A pasta com link físico é photo . Por engano eu rm -rf test.site.biz que levou a coisas ruins acontecerem. Ou seja, o diretório de fotos em outro lugar ficou limpo.

Eu suponho que a restauração de dados não seja possível. No entanto, gostaria de descobrir o que aconteceu aqui, para não repetir o mesmo erro duas vezes.

Quaisquer sugestões são muito apreciadas.

    
por Yauheni Prakopchyk 25.10.2016 / 19:59

2 respostas

2

Você tem dois sistemas de arquivos montados com características semelhantes: o mesmo nome de dispositivo, o mesmo uso de disco. É muito provável que estes sejam, de fato, o mesmo dispositivo. Isso pode acontecer se você montar o mesmo sistema de arquivos de rede em locais diferentes, por exemplo. Dado que este é um sistema de arquivos local, como sourcejedi identificado em um comentário, é muito provável que seja um bind mount , criado por um comando como mount --bind /origin /var/www/username/data/www/test.site.biz/photo .

Se o seu sistema for recente o suficiente, você pode usar findmnt para confirmar que é uma montagem de ligação . Mas, de qualquer forma, a maioria dos tipos de sistema de arquivos não pode ser montada ao mesmo tempo em locais diferentes, então ter o mesmo dispositivo é prova suficiente de que isso é uma montagem de ligação.

Uma montagem de ligação fornece uma exibição de uma árvore de diretórios em um local diferente. Em termos de acesso aos arquivos na montagem de ligação, é semelhante a ter um link simbólico na árvore, ou seja, /var/www/username/data/www/test.site.biz/photo/somefile é o mesmo arquivo que /origin/somefile , como se /var/www/username/data/www/test.site.biz/photo fosse um link simbólico para /origin . Mas /var/www/username/data/www/test.site.biz/photo não é um link simbólico, é um diretório.

Como /var/www/username/data/www/test.site.biz/photo é um diretório, um percurso recursivo desce até ele. Portanto, rm -rf excluiu os arquivos em /original , porque /original e /var/www/username/data/www/test.site.biz/photo são o mesmo diretório que, por acaso, são exibidos em locais diferentes.

    
por 26.10.2016 / 02:19
0

Poucas coisas eu percebi sobre o assunto:

  • mount --bind é uma má ideia até que você saiba exatamente o que está fazendo. Melhor usar links simbólicos.
  • É bastante difícil detectar montagens ao trabalhar com pastas. É meio que um escopo de servidor (não é o que você está pensando ao mover pastas por aí).
  • umount your_directory remove a ligação, mas não prejudica a pasta original.
  • Você pode listar todas as montagens via comando findmnt . Montagens encadernadas terão colchetes.
por 26.10.2016 / 00:28