Coming from a Red Hat Enterprise Linux background, I recently had to install and configure an NFS server on a SUSE Linux 11.2 platform and was a bit surprised to find that the NFS server package was called nfs-kernel-server instead of just nfs-server or just nfs.
Here are the steps to install and start up the NFS server:
# yast2 -i nfs-kernel-server # or zypper install -y nfs-kernel-server # chkconfig --add nfsserver nfsserver 0:off 1:off 2:off 3:on 4:off 5:on 6:off # /etc/init.d/nfsserver start Starting kernel based NFS server: idmapd mountd startd nfsd sm-notify done # service nfsservice status Checking for kernel based NFS server: idmapd running mountd running statd running nfsd running
You also need rpcbind configured and running.
Whenever you modify /etc/exports, you must run exportfs -a or restart the NFS server to make the changes effective.
Note that the NFS server on SUSE Linux 11 uses NFSv4. The NFSv4-specific daemons are:
- rpc.idmapd — Handles ID to name mapping for NFSv4. It provides functionality to the NFSv4 kernel client and server, to which it communicates via upcalls, by translating user and group IDs to names, and vice versa.
- rpc.svcgssd — Provides the server transport mechanism for the authentication process (Kerberos Version 5) with NFSv4.
- rpc.gssd — Provides the client transport mechanism for the authentication process (Kerberos Version 5) with NFSv4.
A kernel-based NFS server has been available since the 2.2 Linux kernel. The advantage of handling the NFS service in kernel space rather than in user space is that there is a significant performance improvement over a user space NFS server.