У меня довольно странная проблема с autofs в CentOS 5.1.
По сути, я пытаюсь получить доступ к файлу с помощью автомонтирования, но при первой попытке доступа к файлу он не найден. Только при последующих попытках монтирование становится доступным до тех пор, пока оно не будет автоматически отключено через некоторое время из-за бездействия, и цикл начнется снова.
Ниже показано, что происходит, когда я дважды пытаюсь перечислить файл с задержкой всего в секунду или около того:
*_107> ls /net/netfiler/vol/Archive/build.xml
ls: /net/netfiler/vol/Archive/build.xml: No such file or directory
*_108> ls /net/netfiler/vol/Archive/build.xml
/net/netfiler/vol/Archive/build.xml
После дальнейшего расследования команда mount сообщает, что netfiler: / vol / Archive монтируется не до первой попытки, а после нее, что позволяет второй попытке быть успешной. Это почти как если бы ОС не дожидалась завершения работы автомонтирования перед попыткой доступа к файлу.
В моем /etc/auto.master есть следующее:
/net /etc/auto.net
Хотя я также пробовал использовать по умолчанию:
/net -hosts
Но безрезультатно.
Это не было бы большой проблемой, если бы не тот факт, что он нарушает работу многих наших сценариев автоматизации, потому что они не могут найти файлы с первой попытки. Я никогда не встречал этой проблемы ни в одном другом дистрибутиве, поэтому надеюсь, что у кого-то есть решение.
Похоже, что в стандартной установке CentOS 5.1 есть известная ошибка ядра, которая вызывает эту проблему:
http://bugs.centos.org/view.php?id=2448
Некоторое время назад это было исправлено, и обновление до последней версии ядра 5.1 устранило проблему.