... этот заголовок, вероятно, вводит в заблуждение.
Вот такая ситуация. У меня есть коллекция систем CentOS 4.x x86_64, которые используются в качестве вычислительной фермы. Каталоги для пользователей, инструментов и кода монтируются автоматически. Работы отправляются в ферму vi LSF. В большинстве случаев все работает так, как ожидалось, однако периодически задания терпят неудачу, потому что автомонтажник не монтирует запрошенную файловую систему (или монтирует ее слишком медленно, я не знаю).
Работа в основном большая make
jobs, и периодически один будет отправлен и потерпит неудачу с чем-то вроде:
make: *** /home/qualifier/thing/otherthing/tim:
No such file or directory. Stop.
Однако если вы ls /home/qualifier/thing/otherthing/tim
, вы увидите, что это там.
Если вы сразу же запустите задание после этого (или что-то еще, чтобы принудительно смонтировать / home / qualifier (или что-то еще, что работает с автоматическим монтированием)), все будет работать, как ожидалось.
Эта проблема не ограничивается выполнением операций; попытка записи в файл в автоматически смонтированной файловой системе иногда терпит неудачу, потому что файл не может быть открыт (потому что его еще нет).
Файловый сервер nfs - это либо устройство NetApp, либо один из двух файловых серверов CentOS 4.x nfs, в зависимости от того, что требуется, поэтому я думаю, что это клиентская, а не серверная.
Как настроить автомонтаж так, чтобы при необходимости монтировалось крепление?
Обновление: Подробнее
Я, вероятно, должен подчеркнуть, что эта проблема была временным явлением в моей истории с Linux, от RedHat 7.3 до потока CentOS 4.x. Я еще нигде не использую 5.x в серьезном количестве.
Этот конкретный пример узла - CentOS 4.8, работающий под управлением 2.6.9-89.0.25.ELsmp, с autofs-4.1.3-238. Что касается программного обеспечения, все узлы были созданы с использованием автоматизированной среды Kickstart и получают обновления из одного и того же локального репозитория yum, поэтому они не должны отличаться каким-либо измеримым образом. Аппаратно это в основном системы Sun X2200-M2 с объемом оперативной памяти от 16 до 48 ГБ каждая; плюс пара систем HP DL585-G2 с 32 ГБ.
Содержимое / etc / sysconfig / autofs, строки комментариев исключены. Обратите внимание, что единственная настройка - это добавление --ghost
как DAEMONOPTIONS
.
LOCALOPTIONS=""
LDAPAUTOMASTER=""
UNDERSCORETODOT=1
DISABLE_DIRECT=1
ONE_AUTO_MASTER=0
GHOSTDIRS=""
BASEDN=
DAEMONOPTIONS="--ghost"
auto.master и все файлы auto. * доставляются через NIS.
Пример записи в auto.master:
/home auto.home
Пример записи в auto.home:
jsmith fas2020-01:/vol/vol1/home/jsmith
Единственные записи с любыми параметрами автоматического монтирования - для монтирования временных данных. Эти крепления обычно не вызывают проблем, так как почти всегда что-то работает, что требует их, но я включил их сюда для полноты картины:
tempdataS -tcp fas940-01:/vol/vol1/tempdata_H
tempdataH -tcp fas940-01:/vol/vol1/tempdata_H
tempdata -tcp pos-01:/mnt/array/tempdata
tempdata2 -tcp,noatime,rsize=32768,wsize=32768 pos-02:/mnt/array/tempdata
Вы должны смонтировать NFS жесткий, fg, intr. AFAIK "bg" по умолчанию (проверьте с mount
после того, как вы получили доступ к своим каталогам автомонтирования).
Наиболее важным вариантом для вас в этом случае, вероятно, является "фг"(передний план) - монтирование завершается только в случае успеха. Поскольку ваш процесс зависит от этого монтирования, вы должны установить эту опцию. В обычных операциях сервера вы не должны зависеть от nfs, поэтому обычно используется" bg ".