Set up an NFS server

From LinuxIntro
Jump to: navigation, search

Tutorial Factbox

Time to replay 10 min
Example Distro SUSE Linux 13.2
Type HowTo

You want to share folders of your computer in the network. So, your computer plays the role of the NFS server. The network drives are exported by the server, that's how NFS calls it. The following is an example how you get a folder /public that is shared in your network. To do this, find out your distribution and proceed accordingly. We use server as hostname for the computer exporting directories.

Contents

SUSE Linux 13.2

yast -i nfs-kernel-server
  • Create the directory /public (the name /public will be used here as an example)
mkdir /public
  • Edit /etc/exports, add the line
/public/   *(rw,no_root_squash,sync)
  • Start the NFS-Server:
rcrpcbind start
/etc/init.d/nfsserver start

make it start on reboot

To make the nfsserver start on reboot type

systemctl enable rpcbind
systemctl enable nfsserver

SUSE Linux 12.3

yast -i nfs-kernel-server
  • Create the directory /public (the name /public will be used here as an example)
mkdir /public
  • Edit /etc/exports, add the line
/public/   *(rw,no_root_squash,sync)
  • Start the NFS-Server:
rcrpcbind start
/etc/init.d/nfsserver start
  • find an error message:
redirecting to systemctl  start nfsserver
Failed to issue method call: Unit nfsserver.service failed to load: No such file or directory. See system logs and 'systemctl status nfsserver.service' for details.
  • reboot server
  • Start the NFS-Server:
rcrpcbind start
/etc/init.d/nfsserver start

...and it works :)

SUSE Linux 12.2

yast -i nfs-kernel-server
  • Create the directory /public (the name /public will be used here as an example)
mkdir /public
  • Edit /etc/exports, add the line
/public/   *(rw,no_root_squash,sync)
  • Start the NFS-Server:
/etc/init.d/rpcbind start
/etc/init.d/nfsserver start
  • If you want your NFS service to start after every reboot, say
chkconfig rpcbind on
chkconfig nfsserver on

Verify the result

Issue on your computer:

showmount -e 127.0.0.1

The result will be like this:

Export list for 127.0.0.1:
/public *

By this command, you can see that a share /public is available on your computer, so it is an NFS-Server.

Use the network drive

To use the network drive on a client computer, go there and try if you can reach the NFS server:

ping server

Mount the server's export to (as an example) /mnt/nfs

mkdir -p /mnt/nfs
mount server:/public /mnt/nfs

You can make this mount persistant by using the fstab.

SUSE Linux 12.1

yast -i nfs-kernel-server
  • Create the directory /public (the name /public will be used here as an example)
mkdir /public
  • Edit /etc/exports, add the line
/public/   *(rw,no_root_squash,sync)
  • Start the NFS-Server:
/etc/init.d/rpcbind start
/etc/init.d/nfsserver start
  • If you want your NFS service to start after every reboot, say
chkconfig nfsserver on

Verify the result

Issue on your computer: showmount -e 127.0.0.1. The result will be like this:

Export list for 127.0.0.1:
/public *

By this command, you can see that a share /public is available on your computer, so it is an NFS-Server.

Use the network drive

To use the network drive on a client computer, go there and try if you can reach the NFS server:

ping server

Mount the server's export to (as an example) /mnt/nfs

mkdir -p /mnt/nfs
mount server:/public /mnt/nfs

You can make this mount persistant by using the fstab.

SUSE Linux 10

yast -i nfs-kernel-server
  • Create the directory /public (the name /public will be used here as an example)
mkdir /public
  • Edit /etc/exports, add the line
/public/   *(rw,no_root_squash,sync)
  • Start the NFS-Server:
/etc/init.d/nfs-user-server start || /etc/init.d/nfsserver start

This command makes sure your nfs server gets started, no matter if your distribution names its startup script "nfs-user-server" or "nfsserver".

  • If you want your NFS service to start after every reboot, say
chkconfig nfsserver on || chkconfig nfs-user-server on

This command makes sure your nfs server gets started on reboot, no matter if your distribution names its startup script "nfs-user-server" or "nfsserver".

Verify the result

Issue on your computer: showmount -e 127.0.0.1. The result will be like this:

Export list for 127.0.0.1:
/public *

By this command, you can see that a share /public is available on your computer, so it is an NFS-Server.

Use the network drive

To use the network drive on a client computer, go there and try if you can reach the NFS server:

ping server

Mount the server's export to (as an example) /mnt/nfs

mkdir -p /mnt/nfs
mount server:/public /mnt/nfs

You can make this mount persistant by using the fstab.

TroubleShooting

In case of troubles, watch the syslog (/var/log/messages) on your NFS server. In one case, the server's IP was in /etc/exports instead of the client's IP.

See also