autofs + nfs = почему-то не работает
Начну с того, что по такой схеме на двух гентушных машинах у меня все работало в течении длительного времени (больше года, наверно)
Система такая: в /etc/auto.master прописано только:
/net -hosts +auto.master
На второй машине теперь успешно живет arch linux. На нем тоже установил nfs и autofs. С арча по autofs на гентушную машину ходит. С гентушной на арч - по autofs не ходит. Вручную - монтируется. Когда я только начал разбираться, почему не работает автомонтирование, я выяснил, что showmount remotehost -e завершался с ошибкой из-за несоответствия версия. Обновил в генту nfs сервер, по-преженему НЕ работает автомонтирование, зато заработал showmount.
Самое удивительное, что ls /net/localhost показывает локальные шары, а ls /net/remotehost - болт. При этом если включить логи autofs то пишется следующее:
Apr 24 20:19:08 tom automount[10825]: handle_packet: type = 3 Apr 24 20:19:08 tom automount[10825]: handle_packet_missing_indirect: token 44, name 192.168.0.2, request pid 10855 Apr 24 20:19:08 tom automount[10825]: attempting to mount entry /net/192.168.0.2 Apr 24 20:19:08 tom automount[10825]: lookup_mount: lookup(hosts): fetchng export list for 192.168.0.2 Apr 24 20:19:08 tom automount[10825]: send_fail: token = 44
на гентушной машине 2.6.33, autofs пробовал 5.0.4 и 5.0.3, nfs-utils-1.2.2-r1
на арче: 2.6.32, autofs-5.0.5 nfs-utils-1.2.2-1
Пожалуйста, подкиньте идеи куда копать.
- Для комментирования войдите или зарегистрируйтесь
видимо, баг в autofs. И,
видимо, баг в autofs. И, по-видимому, в арч-линуксе этого бага нет (новая версия? очень возможно)
Пока решил так:
/etc/auto.master:
/net auto.net
При попытке доступа к пути /net/remotepc происходит вызов /etc/auto.net remotehost, а этот скрипт (который идет в поставке autofs) запускает showmount -e remotehost, получает все доступные шары, и на выходе дает опции монтирования, которые затем autofs подсовывает mount.
При указании /net -hosts эти процедуры происходят где-то внутри autofs и там происходит какой-то сбой. По-видимому, так. Хотя, я могу ошибаться. Во всяком случае использование скрипта вместо /net -hosts мне помогло.