Simfs 하드링크 위치

Simfs 하드링크 위치

Centos 6.5 VPS 서버에 이상한 하드링크가 있습니다. 사람이 만든 거라고 생각하지만, 그걸 만든 사람은 내가 아닙니다.

df몇 가지 정보를 알려줍니다.

[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아무 쓸모도 없어

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

하드링크된 폴더는 입니다 photo. 실수로 나는 rm -rf test.site.biz나쁜 일을 일으켰습니다. 즉, 다른 곳에 있던 사진 디렉토리가 깨끗해졌습니다.

데이터 복원이 불가능하다고 가정합니다. 하지만 여기서 무슨 일이 일어났는지 알아내서 같은 실수를 두 번 반복하지 않기를 바랍니다.

어떤 힌트라도 대단히 감사하겠습니다.

답변1

동일한 장치 이름, 동일한 디스크 사용량 등 유사한 특성을 가진 두 개의 마운트된 파일 시스템이 있습니다. 실제로는 동일한 장치일 가능성이 매우 높습니다. 예를 들어 동일한 네트워크 파일 시스템을 다른 위치에 마운트하는 경우 이런 일이 발생할 수 있습니다. 이것이 로컬 파일 시스템이라는 점을 감안할 때소스제다이댓글에서 확인된 내용을 보면 다음과 같을 가능성이 매우 높습니다.바인드 마운트, 같은 명령으로 생성됩니다 mount --bind /origin /var/www/username/data/www/test.site.biz/photo.

시스템이 충분히 최신이라면 다음을 수행할 수 있습니다.findmnt바인드 마운트인지 확인하는 데 사용. 그러나 어쨌든 대부분의 파일 시스템 유형은 동시에 다른 위치에 마운트할 수 없으므로 동일한 장치를 가지고 있다는 것은 이것이 바인드 마운트라는 충분한 증거입니다.

바인드 마운트는 다른 위치에 있는 디렉터리 트리 보기를 제공합니다. 바인드 마운트 아래의 파일에 액세스한다는 점에서는 트리에 심볼릭 링크가 있는 것과 유사합니다. 즉, 에 대한 심볼릭 링크인 것처럼 /var/www/username/data/www/test.site.biz/photo/somefile과 동일한 파일입니다 . 그러나 심볼릭 링크는 아니며 디렉토리입니다./origin/somefile/var/www/username/data/www/test.site.biz/photo/origin/var/www/username/data/www/test.site.biz/photo

/var/www/username/data/www/test.site.biz/photo는 디렉토리이므로 재귀 순회가 디렉토리로 내려갑니다 . 따라서 과 은 다른 위치에 표시되는 동일한 디렉터리이기 때문에 rm -rf아래의 파일을 삭제했습니다 ./original/original/var/www/username/data/www/test.site.biz/photo

답변2

이 문제에 대해 내가 알아낸 몇 가지 사항은 다음과 같습니다.

  • mount --bind당신이 무엇을 하고 있는지 정확히 알기 전까지는 나쁜 생각입니다. 심볼릭 링크를 더 잘 사용하십시오.
  • 폴더로 작업하는 동안 마운트를 감지하는 것은 상당히 어렵습니다. 그것은 일종의 서버 범위입니다(폴더를 이동할 때 생각하는 것과는 다릅니다).
  • umount your_directory바인딩을 제거하지만 원본 폴더에는 해를 끼치 지 않습니다.
  • 명령을 통해 모든 마운트를 나열할 수 있습니다 findmnt. 바운드 마운트에는 대괄호가 있습니다.

관련 정보