J'ai trois machines en production -
machineA 10.66.136.129
machineB 10.66.138.181
machineC 10.66.138.183
et Ubuntu 12.04 est installé sur toutes ces machines et j’ai un accès root à toutes ces trois machines.
Maintenant je suis supposé faire ci-dessous des choses dans mes machines ci-dessus -
Create mount point /opt/exhibitor/conf
Mount the directory in all servers.
sudo mount <NFS-SERVER>:/opt/exhibitor/conf /opt/exhibitor/conf/
J'ai déjà créé un /opt/exhibitor/conf
répertoire dans ces trois machines, comme mentionné ci-dessus.
Maintenant, j'essaie de créer un point de montage. J'ai donc suivi le processus ci-dessous -
Installez les fichiers de support NFS et le serveur de noyau NFS sur les trois ordinateurs ci-dessus.
$ sudo apt-get install nfs-common nfs-kernel-server
Créer le répertoire partagé sur les trois machines ci-dessus
$ mkdir /opt/exhibitor/conf/
Edité le /etc/exports
et ajouté comme ceci dans les trois machines ci-dessus -
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/opt/exhibitor/conf/ 10.66.136.129(rw)
/opt/exhibitor/conf/ 10.66.138.181(rw)
/opt/exhibitor/conf/ 10.66.138.183(rw)
J'ai essayé de monter sur machineA comme ci-dessous de machineB et machineC et cela me donne cette erreur-
root@machineB:/# sudo mount -t nfs 10.66.136.129:/opt/exhibitor/conf /opt/exhibitor/conf/
mount.nfs: access denied by server while mounting 10.66.136.129:/opt/exhibitor/conf
root@machineC:/# sudo mount -t nfs 10.66.136.129:/opt/exhibitor/conf /opt/exhibitor/conf/
mount.nfs: access denied by server while mounting 10.66.136.129:/opt/exhibitor/conf
Mon /etc/exports
dossier a- t-il l' air bon? Je suis à peu près sûr que j'ai foiré mon exports
dossier. Comme j'ai le même contenu dans les trois machines du fichier export.
Une idée de ce que je fais de mal ici? Et quel sera le bon /exports
fichier ici?
0750
ou si0700
le client essayant de monter risque fort d'échouer avec le même message d'erreur. J'ai changé d'hôte de0750
à0755
et puis l'erreur est partie et tout allait bien.Réponses:
exportfs
Lorsque vous créez un
/etc/exports
fichier sur un serveur, vous devez vous assurer de l'exporter. En règle générale, vous voudrez exécuter cette commande:Cela exportera toutes les entrées du fichier d'exportations.
showmount
L'autre chose que je vais souvent faire est d'utiliser d'autres commandes pour vérifier toutes les machines qui exportent des partages NFS vers le réseau à l'aide de la
showmount
commande.Exemple
Disons par exemple que je suis connecté à scully.
fstab
Pour les monter lors de l’amorçage, vous devez ajouter cette ligne à vos ordinateurs clients qui souhaitent utiliser les montages NFS.
montage automatique
Si vous êtes sur le point de redémarrer ces serveurs, je vous suggère fortement de vous pencher sur la configuration de automounting (
autofs
) au lieu d’ajouter ces entrées/etc/fstab
. C'est un peu plus de travail mais cela en vaut la peine.Cela vous permettra de redémarrer les serveurs de manière plus indépendante les uns des autres et ne créera également le montage NFS que lorsque cela est réellement nécessaire et / ou utilisé. Quand il tourne au ralenti, il sera démonté.
Références
la source
exportfs -a
, j'ai couruexportfs -rv
. Y a-t-il une différence entre ceux-ci? Et dans mon cas,showmount -e 10.66.136.129
je vais faire de machineB et machineC. droite?exportfs -rv
fait juste une réexportation + est verbeuse. Le-a
va tout exporter. En ce qui concerneshowmount -e
oui, vous pouvez l'exécuter à partir de ces machines ou de celle servant les actions.J'ai vu la même erreur (
mount.nfs: access denied by server while mounting...
) et le problème a été résolu par-o v3
option comme suit:la source
mount.nfs: Connection timed out
. (Le client est Ubuntu 14.04 LTS 64 bits. Le serveur est un NFS QNAP avec QTS 4.0.2 2016/01/09.)Dans mon cas, utilise nfs4 comme suit:
Dans le
/etc/export
fichier sur le serveurfsid=0
rend le/Path/to/export
répertoire racine lorsque vous montez le partage.crossmnt
, car j’ai accès à d’autres lecteurs dans le système de fichiers exporté.no_root_squash
, car je veux accéder en tant qu’utilisateur root (su) du côté client. Je suis à peu près sûr que je suis le seul à pouvoir le faire sur mon réseau local.Le serveur et les clients sont Ubuntu 14.04 64bit.
Si vous voulez utiliser nfs3, la réponse de @fumisky-wells fonctionne également pour moi.
la source
Je recevais le même message d'erreur et mon problème était dû au fait que la machine cliente avait deux interfaces réseau connectées au même réseau local. Le serveur avait été configuré pour s’attendre à une adresse IP spécifique et le trafic était acheminé sur la deuxième interface dotée d’une adresse IP DHCP. Donc, je viens de configurer la deuxième interface pour avoir une adresse IP statique et également ajouté la deuxième adresse IP statique à la configuration du serveur.
la source
/etc/exports
doit être modifié sur la machine du serveur NFS , et non sur les clients, comme vous le dites, comme il est vérifié par le serveur NFS lorsqu'un client demande l'accès à un partage.Si vous mettez les informations suivantes
/etc/exports
sur le serveur NFS, cela devrait fonctionner:la source
exportfs -a
?Si nfs-client tente de monter un partage exporté dans un conteneur linux, celui-ci doit s'exécuter en mode privilégié.
En cas de docker;
$ docker run -it --rm --privileged ubuntu:14.04
la source
Pour moi, le problème était que j'utilisais l'adresse IP du serveur à la
/etc/exports/
place de celle du client .Le fait est que vous devez mettre tous les ips auxquels vous accordez l’accès sur le serveur.
/etc/exports/
la source
Après avoir lutté avec ce même message d'erreur pendant des heures, mon problème s'est avéré être rien de plus compliqué que de bonnes anciennes autorisations de fichiers Linux sur l'hôte NFS.
Le dossier que j'essayais de partager (
/home/foo/app/share
) disposait des autorisations appropriées, mais étant donné que le répertoire de base de l'utilisateur (/home/foo
) était en0750
mode, NFS n'était pas en mesure de le parcourir pour accéder au répertoire partagé.Dès que j'ai mis le répertoire de base de l'utilisateur en mode
0751
, le service NFS a pu y accéder et j'ai pu monter le partage à partir de mon ordinateur client.la source
Pour moi, le problème était que mon routeur avait changé l'adresse IP utilisée du client, de sorte que l'entrée
/etc/exports
sur la machine serveur permettait uniquement l'accès à une adresse IP qui n'était plus utilisée.la source
La même chose pourrait se produire si vous essayez de monter un partage NFS sur une instance de Virtual Box avec un adaptateur réseau configuré en tant que
NAT
.Le choix
Bridged Adapter
dans les paramètres réseau de la machine virtuelle résout ce problème.la source
Je sais que c'est un vieux fil, mais mon problème avait à voir avec LXC et AppArmor .
La suppression d' AppArmor ou l'ajout d'un profil d'exception l'a corrigé.
la source
Cette erreur peut également être provoquée en essayant de monter un chemin crypté. (Par exemple, dans votre répertoire personnel, si vous avez choisi de le chiffrer)
la source
La seule solution qui a fonctionné pour moi était d’exporter les systèmes de fichiers
/srv
. Il semble que ceci soit une limitation (ou une option par défaut, au moins) de NFSv4.Étant donné que j'essayais d'exporter une clé USB
/media
vers laquelle un montage automatique était effectué , il me fallait un moyen de le monter/srv
. Pour cela:Et dans
/etc/exports
:Lorsque j'exportais
/media/jim/wdportable/videos
directement, la tentative de montage sur le client aboutissait toujours àmount.nfs: access denied by server
.La
-o v3
solution a fonctionné, mais je ne voulais pas forcer v3.la source
/media/jim
dossier. Si le répertoire que vous essayez de partager est (ou est à l'intérieur de) un répertoire avec seulement700
ou750
mode, NFS ne pourra pas y accéder. Si vous changiez/media/jim
en751
, cela fonctionnerait probablement.sudo mount -o v3 192.168.0.200:"/media/pi/mydrive" /mnt/nfs-share
(Raspbian sur Raspi 3 B +), j'ai également essayé desudo chmod 751 /media/pi
. Par la suite, je ne l' ai pas besoin-o v3
plus:sudo mount 192.168.0.200:"/media/pi/mydrive" /mnt/nfs-share
fait le travail (après démontant). Merci beaucoup à @DaleAnderson.Il convient de noter qu'une page liée qui m'amène ici avait ma bonne réponse, à savoir que vous ne pouvez PAS utiliser de caractère générique * dans l'adresse IP lors de l'exportation. Il s'agit soit * (toutes les adresses IP), soit utilisé comme caractère générique dans les noms de domaine IE: * .domain.com.
Ex: c'est correct
Cela ne fonctionnera pas (ou est au moins incorrect), mais a fonctionné pour moi pendant des années jusqu'à ce que j'essaye de monter l'exportation à partir d'une machine virtuelle Fedora.
la source