2

Я пытаюсь подключить NFS version 4 на Mac OS X 10.7 безуспешно:

$ pwd
/Volumes
$ mkdir NFS
$ sudo mount_nfs -o resvport,vers=4 192.168.0.1:/var/teterevkov /Volumes/NFS
mount_nfs: can't mount /var/teterevkov from 172.19.51.50 onto /Volumes/NFS: No such file or directory

Таким образом, при подключении к NFS version 3 с помощью следующей команды проблем не возникает

$ sudo mount_nfs -o resvport,vers=3 192.168.0.1:/var/teterevkov /Volumes/NFS

На стороне сервера у меня есть

$ uname -a
Linux 2.6.32.24 #19 SMP Tue Mar 13 14:00:24 MSK 2012 x86_64 GNU/Linux
$
$ cat /etc/exports 
# /etc/exports: NFS file systems being exported.  See exports(5).
/var/teterevkov 192.168.0.2(rw,no_root_squash,no_subtree_check,async)

Путь /var/teterevkov является допустимым существующим путем. Ядро linux с поддержкой NFS version 4 support и статистической информацией, предоставленной nfsstat -4:

nfsstat -4
Server rpc stats:
calls      badcalls   badauth    badclnt    xdrcall
592097     0          0          0          0       

Server nfs v4:
null         compound     
9        24% 28       75%

Server nfs v4 operations:
op0-unused   op1-unused   op2-future   access       close        commit       
0         0% 0         0% 0         0% 0         0% 0         0% 0         0% 
create       delegpurge   delegreturn  getattr      getfh        link         
0         0% 0         0% 0         0% 0         0% 0         0% 0         0% 
lock         lockt        locku        lookup       lookup_root  nverify      
0         0% 0         0% 0         0% 0         0% 0         0% 0         0% 
open         openattr     open_conf    open_dgrd    putfh        putpubfh     
0         0% 0         0% 0         0% 0         0% 0         0% 0         0% 
putrootfh    read         readdir      readlink     remove       rename       
10       35% 0         0% 0         0% 0         0% 0         0% 0         0% 
renew        restorefh    savefh       secinfo      setattr      setcltid     
0         0% 0         0% 0         0% 0         0% 0         0% 9        32% 
setcltidconf verify       write        rellockowner bc_ctl       bind_conn    
9        32% 0         0% 0         0% 0         0% 0         0% 0         0% 
exchange_id  create_ses   destroy_ses  free_stateid getdirdeleg  getdevinfo   
0         0% 0         0% 0         0% 0         0% 0         0% 0         0% 
getdevlist   layoutcommit layoutget    layoutreturn secinfononam sequence     
0         0% 0         0% 0         0% 0         0% 0         0% 0         0% 
set_ssv      test_stateid want_deleg   destroy_clid reclaim_comp 
0         0% 0         0% 0         0% 0         0% 0         0% 

Итак, что не так с NFS version 4?

2 ответа2

3

NFSv4 имеет концепцию "виртуального" корня всей экспортируемой файловой системы. Точка монтирования экспорта с fsid = root будет использоваться как этот "виртуальный" корень.

Попробуйте добавить параметр fsid=root в файл конфигурации вашего сервера /etc /exports, а затем снова перезагрузите список экспортированных каталогов, выполнив exportfs -arv . Возможно, вам придется перезапустить службу nfsd еще раз, чтобы изменения вступили в силу.

# /etc/exports
# Example for NFSv4: (insecure option for OS X, or use resvport on client)
/srv/nfs4    *(rw,sync,fsid=root,no_subtree_check,insecure)

Теперь вы можете запустить ту же команду монтирования, которую вы пробовали ранее, за исключением того, что вы хотите теперь смонтировать виртуальный корень экспортируемой файловой системы как таковой:

# sudo mount_nfs -o resvport,vers=4 192.168.0.1:/ /Volumes/NFS
0

Я нашел решение в help.ubuntu.com.

NFSv4 exports exist in a single pseudo filesystem, where the real directories are mounted with the --bind option .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .