Может ли пользователь без полномочий root заставить клиента NFS обновить информацию, которую он содержит о дереве каталогов? Моя проблема в том, что я хочу сделать следующее:
Запустите большое задание по компиляции (через LSF) на поле "А". Это создает нагрузку двоичных файлов, которые записываются в каталог на файловом сервере. Это все сделано по NFS.
Запустите какой-нибудь тестовый скрипт или последующее задание, которое использует эти новые блестящие двоичные файлы. Этот сценарий выполняется в поле "B", которое просматривает тот же каталог, используя NFS.
Кажется, проблема в кешировании. Предположим, что foo/bar.o
создан на шаге (1). При выполнении шага (2) ls foo
может не отображать bar.o
В большинстве случаев можно обойти это, проспав (скажем) тридцать секунд и надеясь, что кеш автоматически обновится, но ... фу. И иногда это не работает!
Что я хотел бы сделать, так это выполнить команду «Да, мне все равно, если это замедлит доступ к foo
, но, пожалуйста, перепроверьте записи каталога». Я вижу, что это может позволить пользователю ухудшать производительность других пользователей, поэтому я бы понял, если для этого требуются права суперпользователя. Если да, есть ли другой способ гарантировать, что скрипт (2) увидит новые файлы?
Если это уместно, все клиентские ящики работают под управлением Red Hat Enterprise Linux 5, в которой используется ядро на основе версии 2.6.18 (которая, вероятно, также определяет версию клиента NFS)