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悪いことが起こりました。つまり、他の場所の写真カタログがきれいになりました。

データ復旧は不可能だと思います。しかし、同じ間違いを2回繰り返さないために、ここで何が起こっているのかを把握したいと思います。

どんなアドバイスも本当にありがとうございます。

答え1

同じデバイス名、同じディスク使用量など、同じ特性を持つ2つのマウントされたファイルシステムがあります。実際、これらは同じデバイスである可能性が高いです。たとえば、同じネットワークファイルシステムを別の場所にマウントすると、これが発生する可能性があります。これが次のローカルファイルシステムであることを考えるとソースジェダイコメントで指摘したように、その可能性が高いです。バインドマウント、同様のコマンドで生成されます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。バインドマウントには角かっこがあります。

関連情報