Installing NFS packages:
Use the below command to install all the required packages in one shot.
#yum install nfs*
Check whether the packages are installed by executing below command
[[email protected] ~]# rpm -qa | grep nfs libnfsidmap-0.25-15.el7.x86_64 nfsometer-1.7-1.el7.noarch nfs4-acl-tools-0.3.3-15.el7.x86_64 nfs-utils-1.3.0-0.33.el7.x86_64 nfstest-2.1.1-0.0.el7.noarch
Important configuration files:
/etc/exports : This file contains which all are exported to remote machines
/etc/host.allow : Daemon/ Client which matches the entry available in this file, will be granted access.
/etc/host.deny : Access is denied for daemon/ client which matches in this file.
/etc/fstab : Will mount the shared directories/ filesystems permanently using this file.
/etc/sysconfig/nfs: Will manage the nfs port using this file.
Services which need to be enabled and started:
Command to enable the services:
#systemctl enable rpcbind
#systemctl enable nfs-server
[[email protected] ~]# systemctl enable rpcbind [[email protected] ~]# systemctl enable nfs-server Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
Command to start the services:
#systemctl start rpcbind
#systemctl start nfs-server
[[email protected] ~]# systemctl start nfs-server [[email protected] ~]# systemctl start rpcbind
create directory for sharing:
[[email protected] ~]# mkdir /nfshare
set the all permission to all
#chmod 777 /nfshare
Now share the directory using NFS by mentioning the directory details in /etc/exports file
#vi /etc/exports /nfsfileshare 192.168.12.7(rw,sync,no_root_squash)
save and exit from the file
Now use the below command to make it available in network as a shared directory
[[email protected] ~]# exportfs -r
Enable the services permanently in firewall in this session
[[email protected] ~]# firewall-cmd --permanent --zone public --add-service mountd success [[email protected] ~]# firewall-cmd --permanent --zone public --add-service rpc-bind success [[email protected] ~]# firewall-cmd --permanent --zone public --add-service nfs success
reload the firewall changes and make effect in this session by executing below command
[[email protected] ~]# firewall-cmd --reload success
Now all the configuration has been done in server side and have to check and mount the shared directory in client machine.
showmount command will help us to list the directory which is shared from remote machine.
[[email protected] ~]# showmount -e 192.168.43.226 Export list for 192.168.43.226: /nfshare *
Now we need to mount the shared directory in client. Before that we should create a directory to use that as a mount point.
[[email protected] ~]# mkdir /nfsmount
Mount the directory temporarily
#mount 192.168.43.226:/nfshare /nfsmount
Mount permanently by editing /etc/fstab file and make entry
#vi /etc/fstab 192.168.43.226:/nfshare/ /nfsmount nfs rw,sync 0 0
save and exit from the file.
unmount the directory because we mounted temporarily before restart and after restart issue mount to check whether the shared directory is listing or not. If its not listing then there is an issue with entry in /etc/fstab file.
Restart the client and check using mount command
[[email protected] ~]# mount | grep /nfsmount 192.168.43.226:/nfshare/ on /nfsmount type nfs (rw,sync,vers=4,addr=192.168.43.226,clientaddr=192.168.43.67)