mount.nfs: access denied by server while mounting on Ubuntu machines?
I have three machines in production -
machineA 10.66.136.129 machineB 10.66.138.181 machineC 10.66.138.183
and all those machines have Ubuntu 12.04 installed in it and I have root access to all those three machines.
Now I am supposed to do below things in my above machines -
Create mount point /opt/exhibitor/conf Mount the directory in all servers. sudo mount <NFS-SERVER>:/opt/exhibitor/conf /opt/exhibitor/conf/
I have already created
/opt/exhibitor/confdirectory in all those three machines as mentioned above.
Now I am trying to create a Mount Point. So I followed the below process -
Install NFS support files and NFS kernel server in all the above three machines
$ sudo apt-get install nfs-common nfs-kernel-server
Create the shared directory in all the above three machines
$ mkdir /opt/exhibitor/conf/
/etc/exportsand added the entry like this in all the above three machines -
# /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)
I have tried mounting on machineA like below from machineB and machineC and it gives me this error-
[email protected]:/# 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 [email protected]:/# 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
/etc/exportsfile looks good? I am pretty sure, I have messed up my
exportsfile. As I have the same content in all the three machines in exports file.
Any idea what wrong I am doing here? And what will be the correct
FYI double check permissions on the host/client. If the NFS host has permissions `0750` or `0700` then the client trying to mount is very likely to fail with this *same* error message. I changed the host from `0750` to `0755` and then the error went away and all was well.
When you create a
/etc/exportsfile on a server you need to make sure that you export it. Typically you'll want to run this command:
$ exportfs -a
This will export all the entries in the exports file.
The other thing I'll often do is from other machines I'll check any machine that's exporting NFS shares to the network using the
$ showmount -e <NFS server name>
Say for example I'm logged into scully.
$ showmount -e mulder Export list for mulder: /export/raid1/isos 192.168.1.0/24 /export/raid1/proj 192.168.1.0/24 /export/raid1/data 192.168.1.0/24 /export/raid1/home 192.168.1.0/24 /export/raid1/packages 192.168.1.0/24
To mount these upon boots you'd add this line to your client machines that want to consume the NFS mounts.
server:/shared/dir /opt/mounted/dir nfs rsize=8192,wsize=8192,timeo=14,intr
If you're going to be rebooting these servers then I highly suggest you look into setting up automounting (
autofs) instead of adding these entries to
/etc/fstab. It's a bit more work but is well worth the effort.
Doing so will allow you to reboot the servers more independently from one another and also will only create the NFS mount when it's actually needed and/or being used. When it goes idle it will get unmounted.
Thanks for suggestion. I just did that and now it works fine. Instead of running `exportfs -a`, I ran `exportfs -rv`. Is there any difference in between those? And in my case, `showmount -e 10.66.136.129` I will be doing from machineB and machineC. right?
@TechGeeky - not really. `exportfs -rv` just does a reexport + is verbose. The `-a` will export everything. As to `showmount -e` yes you can run it from those machines or the one serving the shares.
ok.. Thanks, makese sense now.. One last thing. I believe there is one more thing to this mount point thing, fstab file.. correct? Now which machine fstab file, I am supposed to modify? And what content I am supposed to add in there? Any idea?
@TechGeeky see updates. You add entries to the clients that want to consume the NFS shares.
+1, this answers the original problem that the OP had, my answer only appeared to be correct because of misleading wording in the question.
On Ubuntu, you must first install nfs-kernel-server for exportfs to be available. Source: http://manpages.ubuntu.com/manpages/trusty/man8/exportfs.8.html
It looks like I have to run `exportfs -a` on every restart of my server. Is it normal? What's the usual way to make this happen automagically?