Simfs hardlinks местонахождение

Simfs hardlinks местонахождение

У меня странная хардлинк на сервере 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

У вас есть две смонтированные файловые системы с похожими характеристиками: одинаковое имя устройства, одинаковое использование диска. Скорее всего, это будет одно и то же устройство. Это может произойти, если вы смонтируете одну и ту же сетевую файловую систему в разных местах, например. Учитывая, что это локальная файловая система, какисточникjediуказанный в комментарии, это, скорее всего, будетпривязать крепление, созданный такой командой, как mount --bind /origin /var/www/username/data/www/test.site.biz/photo.

Если ваша система достаточно новая, вы можетеиспользуйте findmntдля подтверждения того, что это привязанное крепление. Но в любом случае большинство типов файловых систем не могут быть смонтированы одновременно в разных местах, поэтому наличие одного и того же устройства является достаточным доказательством того, что это монтирование с привязкой.

Монтирование bind обеспечивает просмотр дерева каталогов в другом месте. С точки зрения доступа к файлам в монтировании bind это похоже на наличие символической ссылки в дереве, т. е. это /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команды. Связанные монтировки будут иметь квадратные скобки.

Связанный контент