< User:Renich | HowTo
(first draft (editing)) |
(removed troubleshooting) |
||
(21 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Sharing files with NFSv4 on Fedora | = Sharing files with NFSv4 on Fedora 12 (Server & Client configuration) = | ||
{{TOClimit|3}} | |||
== Description == | == 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 | This HowTo explains how to set up the <code>Network File System version 4</code> on your ''LAN'' for multiple shares. It explains, also, how to mount the <code>exports</code> on your ''client''. | ||
== Applicable to Fedora Versions == | == Applicable to Fedora Versions == | ||
Fedora | * Fedora 12 | ||
== Requirements == | == Requirements == | ||
The <code>nfs-utils</code> 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 <code>root</code> password when prompted: | |||
<pre>su -c "yum install nfs-utils"</pre> | |||
The following are only services. | |||
=== Server requirements === | === Server requirements === | ||
nfs | * <code>nfs</code> | ||
* <code>rpc2</code> | |||
=== These are the client's requirements === | === These are the client's requirements === | ||
nfs | * <code>nfs</code> | ||
nfslock | * <code>nfslock</code> | ||
* <code>rpc2</code> | |||
{{admon/note|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 == | == Doing the Work == | ||
Line 27: | Line 31: | ||
=== Configuring the server === | === Configuring the server === | ||
Open up the necessary port on the firewall (port: 2049). Activate the | * Open up the necessary ''port'' on the ''firewall'' (<code>port: 2049</code>). Activate the ''Firewall'' tool. You will be asked for your <code>root</code> password. Please enter it: | ||
su -c "system-config- | <pre>su -c "system-config-firewall"</pre> | ||
Activate | |||
Edit /etc/idmapd.conf. Enter your root password when prompted: | * Activate <code>NFS4</code> and click ''OK''. | ||
su -c "gedit /etc/idmapd.conf" | |||
Configure your domain name and change the users to nfsnobody: | * Edit <code>/etc/idmapd.conf</code>. Enter your <code>root</code> password when prompted: | ||
<pre>su -c "gedit /etc/idmapd.conf"</pre> | |||
* Configure your ''domain'' name and change the users to <code>nfsnobody</code>: | |||
<pre> | |||
[General] | [General] | ||
Domain = example.com | Domain = example.com | ||
Line 39: | Line 47: | ||
Nobody-User = nfsnobody | Nobody-User = nfsnobody | ||
Nobody-Group = nfsnobody | Nobody-Group = nfsnobody | ||
Start the rpcidmapd and nfslock services, then start the nfs service. Alternatively, you can use System->Administration->Services | </pre> | ||
su -c " | |||
su -c " | * Start the <code>rpcidmapd</code> and <code>nfslock</code> services, then start the <code>nfs</code> service. Alternatively, you can use ''System->Administration->Services'' GUI. Please enter the <code>root</code> password when prompted: | ||
su -c " | <pre> | ||
Set rpcidmapd, nfslock, and nfs services to start on boot.Alternatively, you can use System->Administration->Services | su -c "service rpcidmapd start" | ||
su -c " | su -c "service nfslock start" | ||
su -c " | su -c "service nfs start" | ||
su -c " | </pre> | ||
Create the | |||
su -c "mkdir -p /nfs4exports/{share1,share2,share3}" | * Set <code>rpcidmapd</code>, <code>nfslock</code>, and <code>nfs</code> services to start on boot. Alternatively, you can use ''System->Administration->Services'' GUI. Please enter the <code>root</code> password when prompted: | ||
Edit /etc/fstab: | <pre> | ||
su -c "gedit /etc/fstab" | su -c "chkconfig --level 345 rpcidmapd on" | ||
Bind the desired shares to the, recently created, | su -c "chkconfig --level 345 nfslock on" | ||
su -c "chkconfig --level 345 nfs on" | |||
</pre> | |||
* Create the directories of the exports inside <code>/nfs4exports</code>. Enter your <code>root</code> password when prompted: | |||
<pre>su -c "mkdir -p /nfs4exports/{share1,share2,share3}"</pre> | |||
* Edit <code>/etc/fstab</code>: | |||
<pre>su -c "gedit /etc/fstab"</pre> | |||
* ''Bind'' the desired ''shares'' to the, recently created, directories; at <code>/nfs4exports</code>: | |||
<pre> | |||
/path/to/share1 /nfs4exports/share1 none bind 0 0 | /path/to/share1 /nfs4exports/share1 none bind 0 0 | ||
/path/to/share2 /nfs4exports/share2 none bind 0 0 | /path/to/share2 /nfs4exports/share2 none bind 0 0 | ||
/path/to/share3 /nfs4exports/share3 none bind 0 0 | /path/to/share3 /nfs4exports/share3 none bind 0 0 | ||
Remount everything. Enter your root password when prompted: | </pre> | ||
su -c "mount -a" | |||
Edit /etc/exports. Enter your root password when prompted: | * ''Remount'' everything. Enter your <code>root</code> password when prompted: | ||
su -c "gedit /etc/exports" | <pre>su -c "mount -a"</pre> | ||
Add your shares here (available to your home network) If you want your shares to be read only, change | |||
* Edit <code>/etc/exports</code>. Enter your <code>root</code> password when prompted: | |||
<pre>su -c "gedit /etc/exports"</pre> | |||
* Add your shares here (available to your home network) If you want your shares to be ''read only'', change <code>rw</code> to <code>ro</code> from these statements: | |||
<pre> | |||
/nfs4exports 192.168.1.0/255.255.255.0(rw,insecure,no_subtree_check,nohide,fsid=0) | /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/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/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) | /nfs4exports/share3 192.168.1.0/255.255.255.0(rw,insecure,no_subtree_check,nohide) | ||
</pre> | |||
Edit /etc/idmapd.conf. Enter your root password when prompted: | * Reload your exports. Please enter your <code>root</code> password when prompted: | ||
su -c "gedit /etc/idmapd.conf" | <pre>su -c "/usr/sbin/exportfs -rv"</pre> | ||
Configure your domain name and change the users to nfsnobody: | |||
* Edit your <code>/etc/hosts.allow</code> file, so your clients are allowed to access your nfs. Please enter your <code>root</code> password when prompted: | |||
<pre>su -c "gedit /etc/hosts.allow"</pre> | |||
* Allow your LAN to access your services: | |||
<pre>rpcbind: 192.168.1.0/255.255.255.0</pre> | |||
* <code>Reboot</code>: | |||
<pre>su -c "/sbin/shutdown -r now"</pre> | |||
=== Configuring the clients === | |||
* Edit <code>/etc/idmapd.conf</code>. Enter your <code>root</code> password when prompted: | |||
<pre>su -c "gedit /etc/idmapd.conf"</pre> | |||
* Configure your domain name and change the users to <code>nfsnobody</code>: | |||
<pre> | |||
[General] | [General] | ||
Domain = example.com | Domain = example.com | ||
Line 83: | Line 114: | ||
Nobody-User = nfsnobody | Nobody-User = nfsnobody | ||
Nobody-Group = nfsnobody | Nobody-Group = nfsnobody | ||
Edit /etc/fstab. Please enter your root password when prompted: | </pre> | ||
su -c "gedit /etc/fstab" | |||
Create the mounting | * Edit <code>/etc/fstab</code>. Please enter your <code>root</code> password when prompted: | ||
su -c "mkdir /mnt/shares /home/me/share1 /home/he/share2 /home/it/share3" | <pre>su -c "gedit /etc/fstab"</pre> | ||
Add the desired shares: | |||
<ip-address-to-server>:/ /mnt/shares nfs4 rsize=8192,wsize=8192,timeo=14, | * Create the mounting directories: | ||
<ip-address-to-server>:/ /home/me/share1 nfs4 rsize=8192,wsize=8192,timeo=14, | <pre>su -c "mkdir /mnt/shares /home/me/share1 /home/he/share2 /home/it/share3"</pre> | ||
<ip-address-to-server>:/ /home/he/share2 nfs4 rsize=8192,wsize=8192,timeo=14, | |||
<ip-address-to-server>:/ /home/it/share3 nfs4 rsize=8192,wsize=8192,timeo=14, | * Add the desired shares: | ||
Remount everything: | <pre> | ||
su -c "mount -a" | <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 | |||
How to test | <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 | |||
</pre> | |||
* Remount everything: | |||
<pre>su -c "mount -a"</pre> | |||
== How to test == | |||
Next time... | Next time... | ||
Common problems and fixes | |||
== Common problems and fixes == | |||
More Information | |||
=== Exported subdirectory appears empty === | |||
If <code>/nfs4exports/share1</code> appears empty on the client make sure it's exported with the <code>nohide</code> parameter. Because <code>/nfs4exports/share1</code> was mounted under <code>/nfs4exports</code>, the client can't see it unless the <code>nohide</code> 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. | 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. | ||
Added Reading | == Disclaimer == | ||
http://www.redhat.com/docs/ | 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 [irc://irc.freenode.net/fedora #fedora on irc.freenode.net] or leave me messages so I know what's up. Feel free to propose changes and stuff. | ||
http://www.brennan.id.au/19-Network_File_System.html | |||
== Added Reading == | |||
* http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Deployment_Guide/ch-nfs.html | |||
* http://www.brennan.id.au/19-Network_File_System.html | |||
[[Category: How_to]] |
Revision as of 08:58, 3 June 2011
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
- Fedora 12
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
nfs
rpc2
These are the client's requirements
nfs
nfslock
rpc2
Doing the Work
Configuring the server
- Open up the necessary port on the firewall (
port: 2049
). Activate the Firewall tool. You will be asked for yourroot
password. Please enter it:
su -c "system-config-firewall"
- Activate
NFS4
and click OK.
- Edit
/etc/idmapd.conf
. Enter yourroot
password when prompted:
su -c "gedit /etc/idmapd.conf"
- Configure your domain name and change the users to
nfsnobody
:
[General] Domain = example.com [Mapping] Nobody-User = nfsnobody Nobody-Group = nfsnobody
- Start the
rpcidmapd
andnfslock
services, then start thenfs
service. Alternatively, you can use System->Administration->Services GUI. Please enter theroot
password when prompted:
su -c "service rpcidmapd start" su -c "service nfslock start" su -c "service nfs start"
- Set
rpcidmapd
,nfslock
, andnfs
services to start on boot. Alternatively, you can use System->Administration->Services GUI. Please enter theroot
password when prompted:
su -c "chkconfig --level 345 rpcidmapd on" su -c "chkconfig --level 345 nfslock on" su -c "chkconfig --level 345 nfs on"
- Create the directories of the exports inside
/nfs4exports
. Enter yourroot
password when prompted:
su -c "mkdir -p /nfs4exports/{share1,share2,share3}"
- Edit
/etc/fstab
:
su -c "gedit /etc/fstab"
- Bind the desired shares to the, recently created, directories; at
/nfs4exports
:
/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
- Remount everything. Enter your
root
password when prompted:
su -c "mount -a"
- Edit
/etc/exports
. Enter yourroot
password when prompted:
su -c "gedit /etc/exports"
- Add your shares here (available to your home network) If you want your shares to be read only, change
rw
toro
from these statements:
/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)
- Reload your exports. Please enter your
root
password when prompted:
su -c "/usr/sbin/exportfs -rv"
- Edit your
/etc/hosts.allow
file, so your clients are allowed to access your nfs. Please enter yourroot
password when prompted:
su -c "gedit /etc/hosts.allow"
- Allow your LAN to access your services:
rpcbind: 192.168.1.0/255.255.255.0
Reboot
:
su -c "/sbin/shutdown -r now"
Configuring the clients
- Edit
/etc/idmapd.conf
. Enter yourroot
password when prompted:
su -c "gedit /etc/idmapd.conf"
- Configure your domain name and change the users to
nfsnobody
:
[General] Domain = example.com [Mapping] Nobody-User = nfsnobody Nobody-Group = nfsnobody
- Edit
/etc/fstab
. Please enter yourroot
password when prompted:
su -c "gedit /etc/fstab"
- Create the mounting directories:
su -c "mkdir /mnt/shares /home/me/share1 /home/he/share2 /home/it/share3"
- Add the desired shares:
<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
- Remount everything:
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.