Difference between revisions of "Using NFS to Share RHEL 6 Folders with Remote Linux and UNIX Systems"

From Techotopia
Jump to: navigation, search
m (Text replacement - "<google>BUY_RHEL6_BOTTOM</google>" to "<htmlet>rhel6</htmlet>")
m (Text replacement - "<google>BUY_RHEL6</google>" to "<htmlet>rhel6</htmlet>")
Line 8: Line 8:
  
  
<google>BUY_RHEL6</google>
+
<htmlet>rhel6</htmlet>
  
 
Red Hat Enterprise Linux 6 provides two mechanisms for sharing files and folders with other systems on a network. One approach is to use technology called Samba. Samba is based on Microsoft Windows Folder Sharing and allows RHEL 6 systems to make folders accessible to Windows systems, and also to access Windows based folder shares from RHEL 6. This approach can also be used to share folders between other Linux and UNIX based systems as long as they too have Samba support installed and configured. This is by far the most popular approach to sharing folders in heterogeneous network environments. The topic of folder sharing using Samba is covered in [[Sharing Files between RHEL 6 and Windows Systems with Samba]].  
 
Red Hat Enterprise Linux 6 provides two mechanisms for sharing files and folders with other systems on a network. One approach is to use technology called Samba. Samba is based on Microsoft Windows Folder Sharing and allows RHEL 6 systems to make folders accessible to Windows systems, and also to access Windows based folder shares from RHEL 6. This approach can also be used to share folders between other Linux and UNIX based systems as long as they too have Samba support installed and configured. This is by far the most popular approach to sharing folders in heterogeneous network environments. The topic of folder sharing using Samba is covered in [[Sharing Files between RHEL 6 and Windows Systems with Samba]].  

Revision as of 21:33, 1 February 2016

PreviousTable of ContentsNext
Displaying RHEL 6 Applications Remotely (X11 Forwarding)Sharing Files between RHEL 6 and Windows Systems with Samba


You are reading a sample chapter from the RHEL 6 Edition book.

Purchase the fully updated Red Hat Enterprise Linux 8 (RHEL 8) Edition of this publication in eBook ($9.99) or Print ($36.99) format

Red Hat Enterprise Linux 8 Essentials Print and eBook (ePub/PDF/Kindle) editions contain 31 chapters and over 250 pages

Buy Print Preview Book

Red Hat Enterprise Linux 6 provides two mechanisms for sharing files and folders with other systems on a network. One approach is to use technology called Samba. Samba is based on Microsoft Windows Folder Sharing and allows RHEL 6 systems to make folders accessible to Windows systems, and also to access Windows based folder shares from RHEL 6. This approach can also be used to share folders between other Linux and UNIX based systems as long as they too have Samba support installed and configured. This is by far the most popular approach to sharing folders in heterogeneous network environments. The topic of folder sharing using Samba is covered in Sharing Files between RHEL 6 and Windows Systems with Samba.

Another option, which is targeted specifically at sharing folders between Linux and UNIX based systems, uses technology called Network File System (NFS). NFS allows the file system on one Linux computer to be accessed over a network connection by another Linux or UNIX system. NFS was originally developed by Sun Microsystems in the 1980s and remains the standard mechanism for sharing of remote Linux/UNIX file systems to this day.

NFS is very different to the Windows SMB resource sharing technology used by Samba. In this chapter we will be looking at network based sharing of folders between RHEL 6 and other UNIX/Linux based systems using NFS.


Contents


Ensuring NFS Services are running on RHEL 6

The first task is to verify that the NFS services are installed and running on your RHEL 6 system. This can be achieved either from the command line, or using the graphical services tool.

Begin by confirming that the NFS service is installed by running the following command from a terminal window:

rpm –q nfs-utils

If the rpm command reports that the package is not yet installed, it may be installed using the yum command:

su –
yum install nfs-utils

To verify that the NFS services are running from the command-line, run the following command from a terminal window:

su -
/sbin/service nfs status

If the services are running you will see output similar to the following:

rpc.mountd (pid 3617) is running...
nfsd (pid 3614 3613 3612 3611 3610 3609 3608 3607) is running...
rpc.rquotad (pid 3601) is running...

If the service is not running, invoke it using the following command:

/sbin/service nfs start

Configuring the RHEL 6 Firewall to Allow NFS Traffic

Next, the firewall needs to be configured to allow NFS traffic. To achieve this, run the Firewall Configuration tool by selecting the System -> Administration -> Firewall menu option. If the firewall is enabled, make sure that the check box next to NFS4 is set and then click on Apply and OK.


Specifying the Folders to be Shared

Now that NFS is running and the firewall has been configured, we need to specify which parts of the RHEL 6 file system may be accessed by remote Linux or UNIX systems. Whilst previous versions of RHEL included a graphical tool called system-config-nfs, unfortunately this tool has been removed in RHEL 6. The good news is that this task can still be easily achieved by manually editing the appropriate configuration file.

The file that needs to be edited is /etc/exports, which will need to be created and modified to export directories for access by remote systems via NFS. The syntax for an export line in this file is as follows:

<export> <host1>(<options>) <host2>(<options>)...

In the above line, <export> is replaced by the directory to be exported, <host1> is the name or IP address of the system to which access is being granted and <options> represents the restrictions that are to be imposed on that access (read only, read write etc). Multiple host and options entries may be placed on the same line if required. For example, the following line grants read only permission to /datafiles to a host with the IP address of 192.168.2.38:

/datafiles 192.168.2.38(ro)

The use of wildcards in permitted in order to apply an export to multiple hosts. For example, the following line permits read write access to /home/demo to all external hosts:

/home/demo *(rw)

A full list of options supported by the exports file may be found by reading the exports man page:

man exports

For the purposes of this chapter, we will configure the /etc/exports file as follows:

/tmp                           *(rw,sync)
/vol1                          192.168.2.21(ro,sync)

Once configured, the directories must first be exported using the exportfs command:

/usr/sbin/exportfs -a

It is also possible to view the current share settings from the command-line using the exportfs tool:

/usr/sbin/exportfs

The above command will generate the following output:

/vol1           192.168.2.21
/tmp            <world>

Accessing Shared RHEL 6 Folders

The shared folders may be accessed from a remote system either by mounting them manually from the command-line, or browsing to them using the Nautilus File Browser. Keep in mind that it may also be necessary to configure the firewall on the remote system to allow NFS traffic.

To mount a remote folder from the command line, open a terminal window and create folder where you would like the remote folder to be mounted:

mkdir /home/demo/demo-folder

Next enter the command to mount to the remote folder (in this example we use rhel6 as the remote hostname and /tmp as the remote path - modify these to match your environment):

su -
mount rhel6:/tmp /home/demo/demo-folder

The remote /tmp folder will then be mounted on the local system. Once mounted, the /home/demo/demo-folder will contain the remote folder and all its contents.

Mounting an NFS Filesystem on RHEL System Startup

It is also possible to configure a RHEL system to automatically mount a remote file system each time the system starts up. This is achieved by editing the /etc/fstab file. To do this load the /etc/fstab file into your favorite editor as super user:

su -
gedit /etc/fstab

When loaded, it will likely look something like the following:

/dev/mapper/vg_rhel6-lv_root /                       ext4    defaults        1 1
UUID=4a9886f5-9545-406a-a694-04a60b24df84 /boot      ext4    defaults        1 2
/dev/mapper/vg_rhel6-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

To mount, for example, a folder with the path /tmp which resides on a system with the IP address 192.168.2.21 in the local folder with the path /nfsmount (note that this folder must already exist) add the following line to the fstab file:

192.168.2.21:/tmp /nfsmount nfs

Next time the system reboots the /tmp folder located on the remote RHEL system will be mounted on the local /nfsmount mount point. All the files in the remote folder can then be accessed as if they reside on the local hard disk drive.

Unmounting an NFS Mount Point

Once a remote file system is mounted using NFS it can be unmounted using the unmount command with the local mount point as the command-line argument. For example, to unmount our example filesystem mount point requires the use of the following command:

su -
umount /nfsmount


You are reading a sample chapter from the RHEL 6 Edition book.

Purchase the fully updated Red Hat Enterprise Linux 8 (RHEL 8) Edition of this publication in eBook ($9.99) or Print ($36.99) format

Red Hat Enterprise Linux 8 Essentials Print and eBook (ePub/PDF/Kindle) editions contain 31 chapters and over 250 pages

Buy Print Preview Book


PreviousTable of ContentsNext
Displaying RHEL 6 Applications Remotely (X11 Forwarding)Sharing Files between RHEL 6 and Windows Systems with Samba