Saturday, September 26, 2009

HowTo: NFS Server/Client [Linux]

Why NFS?
I simply wanted to experiment with NFS, and couldn't seem to find the documentation here on the forums. I found using NFS just as easy if not easier than using Samba for sharing between a few of my Unix based systems. In order to share a folder it only required a single line in a configuration file under /etc/exports, and a single line under /etc/fstab on the client to mount the share on each client at boot.

I mostly edited and moved things around from these guides to make a more complete single guide to getting this working using Ubuntu. (for client configuration) (for mounting using fstab) (contains more info about NFS)

Install NFS Server Support
at the terminal type
sudo apt-get install nfs-kernel-server nfs-common portmap
When configuring portmap do =not= bind loopback. If you do you can either edit /etc/default/portmap by hand or run:
sudo dpkg-reconfigure portmap
sudo /etc/init.d/portmap restart

Editing /etc/exports
the /etc/exports file is used for creating a share on the NFS server

invoke your favorite text editor or
sudo vi /etc/exports

Here are some quick examples of what you could add to your /etc/exports

For Full Read Write Permissions allowing any computer from through
Or for Read Only from a single machine
/files (ro,async)
save this file and then in a terminal type
sudo /etc/init.d/nfs-kernel-server restart

Also aftter making changes to /etc/exports in a terminal you must type
sudo exportfs -a

Install NFS client support
sudo apt-get install portmap nfs-common

Mounting manually
Example to mount to /files. In this example is the name of the server containing the nfs share, and files is the name of the share on the nfs server

The mount point /files must first exist on the client machine.
cd /
sudo mkdir files

 to mount the share from a terminal type
sudo mount /files
 Note you may need to restart above services:

sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-common restart

Mounting at boot using /etc/fstab
Invoke the text editor using your favorite editor, or

gksudo gedit /etc/fstab
In this example my /etc/fstab was like this: /files nfs rsize=8192,wsize=8192,timeo=14,intr
 You could copy and paste my line, and change “”, and “/files” to match your server name:share name, and the name of the mount point you created.

Test before Reboot:
mount /files
 in a terminal, and the mount point /files will be mounted from the server.     (source: ubuntu forums)

1 comment:

  1. You are so cool! I don't suppose I've read through a
    single thing like this before. So great to find someone with a few genuine thoughts on this subject.

    Seriously.. thank you for starting this up. This site is something that's needed on the web, someone with a bit of originality!

    Here is my website ... diet plans for women to lose weight