Je souhaite monter automatiquement un partage nfs lorsqu'un utilisateur se connecte à notre Mac Mini. Mon idée initiale était d'utiliser le partage distant comme emplacement pour les répertoires de base de l'utilisateur, mais comme je ne pouvais pas monter le partage, j'essayais simplement de le monter dans un répertoire indépendant via autofs.
Mon /etc/auto_master
ressemble à ceci:
+auto_master
/net -hosts -nobrowse,hidefromfinder,nosuid
/home auto_home -nobrowse,hidefromfinder
/Network/Servers -fstab
/- -static
/- auto_nfs -nobrowse,nosuid
Mon /etc/auto_nfs
:
/home_tmp -fstype=nfs,vers=3,rw,resvport,tcp,soft,intr,rsize=8192,wsize=8192,noatime,timeo=900,retrans=3 192.168.0.2:/home_tmp
La machine distante exécute la version 4.9.11-1-ARCH x86_64 GNU / Linux et /etc/exports
ressemble à
/home_tmp -nohide,sync,rw 192.168.0.0/26
et le partage est également visible depuis le client:
$ showmount -e 192.168.0.2
Exports list on 192.168.0.2:
/home_tmp 192.168.0.0/26
La machine essayant de monter le partage nfs se trouve dans le sous-réseau 192.168.0.0/26.
Quand je fais un sudo mount -t nfs -o resvport,rw 192.168.0.2:/home_tmp /home_tmp
, je peux changer /home_tmp
et voir son contenu. Mais lorsque j'essaie de me connecter à ce répertoire avec automount, je reçois:
$ cd /home_tmp
-bash: cd: /home_tmp: No such file or directory
Le journal du système indique:
automountd: MOUNT REQUEST: name=/home_tmp [] map=auto_nfs opts=nobrowse,nosuid path=/home_tmp direct=1
automountd: PUSH /etc/auto_nfs
automountd: POP /etc/auto_nfs
automountd: mapline: -fstype=nfs,vers=3,rw,resvport,tcp,soft,intr,rsize=8192,wsize=8192,noatime,timeo=900,retrans=3 192.168.0.2:/home_tmp
automountd: do_mount1:
automountd: (nfs,nfs) /home_tmp -vers=3,rw,resvport,tcp,soft,intr,rsize=8192,wsize=8192,noatime,timeo=900,retrans=3
automountd: 192.168.0.2:/home_tmp penalty=0
automountd: nfsmount: input:
automountd: 192.168.0.2[other]
automountd: nfsmount: mount on /home_tmp vers=3,rw,resvport,tcp,soft,intr,rsize=8192,wsize=8192,noatime,timeo=900,retrans=3:
automountd: 192.168.0.2:/home_tmp
automountd: ping: 192.168.0.2 request vers=3 min=3
automountd: pingnfs: 192.168.0.2: RPC: Timed out
automountd: pingnfs FAIL: can't get nfs version
automountd: NFS server 192.168.0.2 not responding
automountd: Couldn't mount 192.168.0.2:/home_tmp, err=2
automountd: MOUNT REPLY : status=2, AUTOFS_DONE
automountd: mount of /home_tmp failed: No such file or directory
automountd: MOUNT REQUEST: name=/home_tmp [] map=auto_nfs opts=nobrowse,nosuid path=/home_tmp direct=1
automountd: PUSH /etc/auto_nfs
automountd: POP /etc/auto_nfs
automountd: mapline: -fstype=nfs,vers=3,rw,resvport,tcp,soft,intr,rsize=8192,wsize=8192,noatime,timeo=900,retrans=3 192.168.0.2:/home_tmp
automountd: do_mount1:
automountd: (nfs,nfs) /home_tmp -vers=3,rw,resvport,tcp,soft,intr,rsize=8192,wsize=8192,noatime,timeo=900,retrans=3
automountd: 192.168.0.2:/home_tmp penalty=0
automountd: nfsmount: input:
automountd: 192.168.0.2[other]
automountd: nfsmount: mount on /home_tmp vers=3,rw,resvport,tcp,soft,intr,rsize=8192,wsize=8192,noatime,timeo=900,retrans=3:
automountd: 192.168.0.2:/home_tmp
automountd: Couldn't mount 192.168.0.2:/home_tmp, err=2
automountd: MOUNT REPLY : status=2, AUTOFS_DONE
automountd: automountd exited
J'ai lu quelque part que cette erreur RPC: Expiration du délai d' attente peut être causée par le démarrage du serveur nfs avant un autre service. J'ai donc redémarré le serveur nfs, mais sans effet. Tout conseil bienvenu pour résoudre ce problème ...
Réponses:
Votre distribution Arch Linux contient probablement un serveur NFSv4. Le serveur NFSv4 nécessite un répertoire de base (par exemple / srv / nfs4).
Tout partage supplémentaire doit être un sous-répertoire (par exemple, / srv / nfs4 / home_tmp). Déplacez donc le serveur / home_tmp dans le répertoire de base.
Le fichier / etc / exports ressemble à ceci:
(testé uniquement avec async mais devrait également fonctionner avec sync )
Rechargez le fichier avec
exportfs -arv
sur le serveur.Votre fichier côté client / etc / auto_nfs doit également être modifié:
Enfin, entrez
sudo automount -vc
dans le shell du client pour "actualiser" le partage monté.Pour configurer des répertoires de départ en réseau pour les utilisateurs OS X, une intégration de répertoire est requise ou au moins recommandée (par exemple, LDAP ou AD). Pour les serveurs Linux, j'ai trouvé un très vieux tutoriel : les répertoires de départ Automount OS X avec OpenLDAP et Linux . Je ne sais pas si cette approche fonctionne toujours bien avec les nouvelles versions de MacOS. Un tutoriel mis à jour nécessiterait une nouvelle question ici ou chez Server Fault .
la source
Il s'avère qu'il s'agit d'un simple problème de pare-feu. La réponse de Fravadona m'a orienté dans la bonne direction. Le service informatique ne savait pas quel port ouvrir (le 111 était déjà ouvert) et n'avait pas le temps de le fouiller pour le moment. Ils ont donc ouvert de nombreux ports. Ils m'ont dit qu'ils changeraient de pare-feu dans un proche avenir et qu'ils examineraient en détail une fois qu'ils seraient terminés. J'espère me rappeler de mettre à jour le post ici.
la source