NFS stands for Network File System and through NFS, a client can read and/or write a remote share on an NFS server (like on local hard disk)
The first step to set up NFS client/server is to install nfs-utils and nfs-utils-lib packages on both systems (server and client)
yum install nfs-utils nfs-utils-lib
chkconfig --levels 235 nfs on
service nfs start |
yum install nfs-utils nfs-utils-lib
chkconfig --levels 235 nfs on
service nfs start
For example, the server IP is 10.0.0.1 and the client 10.0.0.2.
I’d like to use /test and /var/test directories from the client system. To make them accessible we must “export” them on the server.
From the client system, the NFS share is usually accessed as the user “nobody”. If the directory isn’t owned by nobody, the read/write access from NFS client should be made as root.
In this howto, the /test dir will be used as root while the /var/test will be used as “nobody”. If /var/test directory doesn’t exist, create the dir and change the ownership to the user/group 65534 (nonexistant user/group).
mkdir /var/test
chown 65534:65534 /var/test |
mkdir /var/test
chown 65534:65534 /var/test
The next step (on the server side) is to modify /etc/exports
and add the next lines
/test 10.0.0.2(rw,sync,no_root_squash,no_subtree_check)
/var/test 10.0.0.2(rw,sync,no_subtree_check) |
/test 10.0.0.2(rw,sync,no_root_squash,no_subtree_check)
/var/test 10.0.0.2(rw,sync,no_subtree_check)
The no_root_squash parameter means access dir as root (all files copied/created from client will be owned by root).
After you modify /etc/exports, run exportfs -a to make the changes effective.
The next step (on the client side) is to create the directories where you want to mount the NFS shares
mkdir -p /mnt/test
mkdir -p /mnt/var/test |
mkdir -p /mnt/test
mkdir -p /mnt/var/test
Mount NFS shares with
mount 10.0.0.1:/test /mnt/test
mount 10.0.0.1:/var/test /mnt/var/test |
mount 10.0.0.1:/test /mnt/test
mount 10.0.0.1:/var/test /mnt/var/test
Verify the settings with:
The result should be something like
[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
....
10.0.0.1:/test 100G 25G 75G 25% /mnt/test
10.0.0.1:/var/test
100G 25G 75G 25% /mnt/var/test |
[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
....
10.0.0.1:/test 100G 25G 75G 25% /mnt/test
10.0.0.1:/var/test
100G 25G 75G 25% /mnt/var/test
and
The result should be something like
[root@client ~]# mount
....
10.0.0.1:/test on /mnt/test type nfs (rw,addr=10.0.0.1)
10.0.0.1:/var/test on /mnt/var/test type nfs (rw,addr=10.0.0.1) |
[root@client ~]# mount
....
10.0.0.1:/test on /mnt/test type nfs (rw,addr=10.0.0.1)
10.0.0.1:/var/test on /mnt/var/test type nfs (rw,addr=10.0.0.1)
To mount the NFS shares at boot time, add the next lines in /etc/fstab file
10.0.0.1:/test /mnt/test nfs rw,sync,hard,intr 0 0
10.0.0.1:/var/test /mnt/var/test nfs rw,sync,hard,intr 0 0 |
10.0.0.1:/test /mnt/test nfs rw,sync,hard,intr 0 0
10.0.0.1:/var/test /mnt/var/test nfs rw,sync,hard,intr 0 0
Don’t forget to check the settings after reboot