Итак, у нас есть сервер хранения NFS4 среднего размера под управлением CentOS 6.6, экспортирующий общий ресурс NFS. /storageDat
(который является корнем NFS с двумя привязанными к нему томами RAID: ./dat1
и ./dat2
); Варианты экспорта: rw,sync,no_wdelay,no_subtree_check,fsid=0
У нас есть NFS, смонтированная на нескольких рабочих станциях и десктопах Fedora20 (> 100) и большую часть времени все работает хорошо, с использованием больших MTU и вариантов монтажа на стороне клиента rw,relatime,vers=4.0,rsize=8192,wsize=8192,namlen=255,soft,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.216.10.1,local_lock=none,addr=10.216.14.200
, с точкой монтирования /storageDat
также довольно быстро (чтение> 400 МБ / с передачи)
ОДНАКО: время от времени на отдельных машинах NFS будет делать следующее: запускаемая программа должна получить доступ к определенной глубокой папке в NFS:
/storageDat/dat2/projects/other/Tool_does_special/ProjectX/Sample/tooloutputR2
Это приведет к жесткому «Нет такого файла или каталога». При просмотре сервера каталог существует, права доступа верны (даже проверено с данным пользователем); обратно на клиента:
ls -al
полный файл выдает сообщение "Нет такого файла или каталога"
ls -al
'добавление родительского каталога из полного пути, т.е.
/storageDat/dat2/projects/other/Tool_does_special/
работает и показывает подкаталоги (ProjectX. ProjectY)
ls -al
'ing /storageDat/dat2/projects/other/Tool_does_special/ProjectX
возвращает сообщение об общей ошибке;
НО иду в каталог
cd /storageDat/dat2/projects/other/Tool_does_special/
а затем выполнение ls -alR
показывает все файлы во всех подкаталогах нормально. Непосредственно после
ls -al
на
/storageDat/dat2/projects/other/Tool_does_special/ProjectX/Sample/tooloutputR2
однако выдает сообщение «Нет такого файла [...]».
Мы думаем, что это связано с кешем NFS, но просто не можем точно определить ошибку, не можем предсказать ее появление и не можем надежно устранить ее. Даже не думал о том, чтобы это исправить.
Мы будем благодарны за любой вклад! (И да, я переименовал свои настоящие папки во что-то, что можно опубликовать в Интернете)
Та же проблема случилась со мной на моих серверах. У меня было 12 серверов, которые монтируют общую папку с 13-го сервера, на котором был только NFS, а остальные 12 с Autofs.
Дело в том, что на этом 13-м сервере я обнаружил, что autofs был запущен и имел тот же файл конфигурации, что и другие 12 серверов, поэтому в основном он пытался смонтировать себя в том же файле происхождения / назначения.
Я остановил службу Autofs на этом сервере, и мне удалось получить доступ к папке. Это случается, когда вы работаете на нескольких машинах одновременно, в какой-то момент я настраиваю autofs на сервере, когда не должен.
чан!