Simfs hardlinks paradeiro

Simfs hardlinks paradeiro

Eu tenho um hardlink estranho no servidor centos 6.5 vps. Foi feito pelo homem, presumo, mas não fui eu quem fez isso.

dfconta 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 -linão diz nada de ú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, o rm -rf test.site.bizque levou a coisas ruins aconteceram. Ou seja, o diretório de fotos em outro lugar ficou limpo.

Presumo 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.

Qualquer sugestão é muito apreciada.

Responder1

Você tem dois sistemas de arquivos montados com características semelhantes: mesmo nome de dispositivo, mesmo uso de disco. É muito provável que 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, comofontejediidentificado em um comentário, é muito provável que este seja ummontar montagem, 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ê podeuse findmntpara confirmar que é uma montagem vinculada. Mas de qualquer forma, a maioria dos tipos de sistemas de arquivos não podem ser montados ao mesmo tempo em locais diferentes, portanto, ter o mesmo dispositivo é prova suficiente de que se trata de uma montagem vinculada.

Uma montagem vinculada fornece uma visualização de uma árvore de diretórios em um local diferente. Em termos de acesso aos arquivos na montagem bind, é 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/photofosse um link simbólico para /origin. Mas /var/www/username/data/www/test.site.biz/photonão é um link simbólico, é um diretório.

Como /var/www/username/data/www/test.site.biz/photoé um diretório, uma travessia recursiva desce até ele. Portanto, rm -rfexclua os arquivos em /original, porque /originale /var/www/username/data/www/test.site.biz/photosão o mesmo diretório que são mostrados em locais diferentes.

Responder2

Algumas coisas que descobri 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. É uma espécie de escopo do servidor (não o que você pensa ao mover pastas).
  • umount your_directoryremove a ligação, mas não prejudica a pasta original.
  • Você pode listar todas as montagens via findmntcomando. As montagens encadernadas terão colchetes.

informação relacionada