Я пытаюсь заставить базовый nfs4 работать между двумя машинами (назовем их server и client ). Я следовал этому руководству буквой безрезультатно. Вот что я получаю:
root@server#: tail -n 2 /etc/exports
/export client-ip/24(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
/export/users client-ip/24(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
root@server#: showmount --exports
Export list for server-ip:
/export/users client-ip/24
/export client-ip/24
Со стороны сервера все в порядке. Каталоги существуют, их разрешения предоставлены (775). Адреса ( client-ip и server-ip ) являются числовыми - здесь их заменяют акронимами по понятным причинам. Далее клиент:
root@client#: mount -v -t nfs4 server-ip:/export /opt/nfstest
mount.nfs4: timeout set for Thu Apr 14 15:52:31 2011
mount.nfs4: text-based options: 'clientaddr=client-ip,addr=server-ip'
mount.nsf4: mount(2): No such file or directory
mount.nfs4: mounting server-ip:/export failed, reason given by server:
No such file or directory
Он просто не принимает удаленную папку. Помимо одного из вышеперечисленных, я попытался server-ip:/export/users
, server-ip:/
- получить тот же результат. Клиент имеет доступ к серверу:
root@client#: telnet server-ip 2049
Trying server-ip...
Connected to server-ip.
Escape character is '^]'.
root@client#: showmount -e server-ip
Export list for server-ip:
/export/users client-ip/24
/export client-ip/24
Локальный каталог /opt/nfstest
существует. Модуль nfs
загружен на клиент NFS. Между сервером и клиентом нет брандмауэра. Что еще я должен проверить?
Дополнительная информация: Ubuntu Lucid (10.04.2), работает на Amazon ec2 box. Версии NFS (nfs-common
, nfs-kernel-server
): 1: 1.2.0-4ubuntu4.1.
Значение 0 имеет особое значение когда использование с NFSv4. NFSv4 имеет понятие корня полной экспортируемой файловой системы. Точка экспорта, экспортируемая с fsid=0, будет использоваться в качестве этого корня.
Поэтому включайте fsid=0 в/etc/exports и затем сделайте следующее:
mount -t nfs4 <serverip>:/ /localmount/point
и нет
mount -t nfs4 <serverip>:/exports /localmount/point
Именно.
Мой опыт показывает, что NFSv4 чувствителен к регистру, поэтому, когда я был вынужден переключиться с nfsv3 на nfsv4 (клиент linux, сервер wintel), мне пришлось исправить путь, экспортированный с сервера