User:Renich/HowTo/NFSv4

From FedoraProject

Jump to: navigation, search

Sharing files with NFSv4 on Fedora 12 (Server & Client configuration)

Description

This HowTo explains how to set up the Network File System version 4 on your LAN for multiple shares. It explains, also, how to mount the exports on your client.

Applicable to Fedora Versions

Requirements

The nfs-utils package provides what's need for both then client and the server. Usually, it comes preinstalled on an "out-of-the-box" installation of Fedora. However, to make sure it's installed run the following command. Enter your root password when prompted:

su -c "yum install nfs-utils"

The following are only services.

Server requirements

These are the client's requirements

Note.png
The rpc.nfsd and rpc.rquotad services that are needed are started by the nfs service. Most of them don't need user configuration. rpc.lockd, rpc.statd and rpc.mountd are not used by NFSv4.

Doing the Work

Configuring the server

su -c "system-config-firewall"
su -c "gedit /etc/idmapd.conf"
[General]
Domain = example.com

[Mapping]
Nobody-User = nfsnobody
Nobody-Group = nfsnobody
su -c "service rpcidmapd start"
su -c "service nfslock start"
su -c "service nfs start"
su -c "chkconfig --level 345 rpcidmapd on"
su -c "chkconfig --level 345 nfslock on"
su -c "chkconfig --level 345 nfs on"
su -c "mkdir -p /nfs4exports/{share1,share2,share3}"
su -c "gedit /etc/fstab"
/path/to/share1		/nfs4exports/share1	none	bind	0 0
/path/to/share2		/nfs4exports/share2	none	bind	0 0
/path/to/share3		/nfs4exports/share3	none	bind	0 0
su -c "mount -a"
su -c "gedit /etc/exports"
/nfs4exports			192.168.1.0/255.255.255.0(rw,insecure,no_subtree_check,nohide,fsid=0)
/nfs4exports/share1		192.168.1.0/255.255.255.0(rw,insecure,no_subtree_check,nohide)
/nfs4exports/share2             192.168.1.0/255.255.255.0(rw,insecure,no_subtree_check,nohide)
/nfs4exports/share3             192.168.1.0/255.255.255.0(rw,insecure,no_subtree_check,nohide)
su -c "/usr/sbin/exportfs -rv"
su -c "gedit /etc/hosts.allow"
rpcbind: 192.168.1.0/255.255.255.0
su -c "/sbin/shutdown -r now"

Configuring the clients

su -c "gedit /etc/idmapd.conf"
[General]
Domain = example.com

[Mapping]
Nobody-User = nfsnobody
Nobody-Group = nfsnobody
su -c "gedit /etc/fstab"
su -c "mkdir /mnt/shares /home/me/share1 /home/he/share2 /home/it/share3"
<ip-address-to-server>:/	/mnt/shares	nfs4	rsize=8192,wsize=8192,timeo=14,soft
<ip-address-to-server>:/share1	/home/me/share1	nfs4	rsize=8192,wsize=8192,timeo=14,soft
<ip-address-to-server>:/share2	/home/he/share2	nfs4	rsize=8192,wsize=8192,timeo=14,soft
<ip-address-to-server>:/share3	/home/it/share3	nfs4	rsize=8192,wsize=8192,timeo=14,soft
su -c "mount -a"

How to test

Next time...

Common problems and fixes

Exported subdirectory appears empty

If /nfs4exports/share1 appears empty on the client make sure it's exported with the nohide parameter. Because /nfs4exports/share1 was mounted under /nfs4exports, the client can't see it unless the nohide parameter is used.

More Information

RedHat recommends, on RHEL5 Docs, that one should use automount instead of /etc/fstab; which saves resources when sharing to multiple workstations. I haven't had the time to try this configuration. This document will be modified/augmented once I've got the hang of it.

Disclaimer

I haven't had the opportunity to test this HowTo since I lack of a networked PC to do it, so you may run into problems, if you do, come to #fedora on irc.freenode.net or leave me messages so I know what's up. Feel free to propose changes and stuff.

Added Reading