Назад | Перейти на главную страницу

Доступ к файлам, расположенным в базовой файловой системе точки монтирования NFS

Возможно, это странный запрос, но он противоположен вопросу, подробно описанному на странице:

Можно ли просмотреть содержимое основного монтирования NFS без размонтирования содержимого NFS?

У меня есть схема, в которой серверы Linux на нескольких удаленных сайтах монтируют общий ресурс NFS с центрального сервера (все CentOS 5.x). Считать: /opt/software или что-то подобное.

Если все в порядке, клиентские системы монтируют экспорт NFS с главного сервера и работают без происшествий. Данные, содержащиеся в акции, не меняются часто (возможно, еженедельно).

Меня беспокоит ситуация, когда происходит потеря подключения к основному серверу NFS (сбой сервера NFS, отключение волокна и т. Д.). Из-за того, что общие данные не часто меняются, я бы хотел, чтобы эти системы могли работать автономно, если они потеряют монтирование NFS.

Скажем, монтирование уходит, я бы хотел использовать локальные файлы, находящиеся в /opt/software под монтированием NFS в том же месте. Кроме того, я бы ежедневно синхронизировал эти файлы.

Монтирование NFS является оператором чтения / записи, поскольку изменения в подключенном томе должны быть возможны с любого из клиентских сайтов.

Это возможно? Как мне получить доступ (или перезаписать) файлы в соответствующем каталоге? Возможны ли проблемы с тайм-аутом? Есть ли какие-либо варианты монтажа / советы, которые могут помочь в этом?

mount -o bind / /mnt

Когда вы посмотрите / mnt / opt / software, вы найдете файлы (если есть), которые находятся под монтированием в / opt / software.

Это возможно с помощью mount --bind вариант.

Since Linux 2.4.0 it is possible to remount part of the file hierarchy somewhere else. The call is
   mount --bind olddir newdir
After this call the same contents is accessible in two places.

Так что я смог mount --bind /opt/software /foo

А затем примените монтирование NFS поверх /opt/software, сохраняя возможность видеть базовые файлы в /foo.

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