NFS (Network File System) pada dasarnya digunakan untuk sharing files dan folder pada sistem Linus/Unix dikembangkan oleh Sun Microsystems tahun 1980an. Memungkinkan kita untuk mounting local file kita melalui jaringan untuk remote host seakan-akan dimounting secara lokal pada sistem yang sama. Dengan bantuan NFS kita dapat sharing file antara Linux dan Unix atau sebaliknya. NFS juga bekerja dengan baik pada direktori yang sering diakses. Tutorial berikut akan menjelaskan cara mounting NFS pada centos dengan cara yang simpel dan mudah.
Services yang digunakan:
portmap: It maps calls made from other machines to the correct RPC service (not required with NFSv4).
nfs: It translates remote file sharing requests into requests on the local file system.
rpc.mountd: This service is responsible for mounting and unmounting of file systems.
Files untuk konfigurasi NFS
/etc/exports : File konfigurasi utama NFS, semua file dan folder didefinisikan pada file ini disisi Master.
/etc/fstab : Untuk mounting Folder NFS secara otomatis setelah reboot.
/etc/sysconfig/nfs : File konfigurasi untuk mengatur port rpc dan servis lainnya.
NFS Server: IP-192.168.1.100
NFS Client : IP-192.168.1.101
Kondisi kedua IP harus bisa di ping dari lawannya.
Install :
yum install nfs-utils
Tambahkan service dimenu boot :
systemctl enable rpcbind
systemctl enable nfs-server
systemctl enable nfs-lock
systemctl enable nfs-idmap
Pastikan service berikut start :
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap
Buat folder yang akan dishare:
[bryan@192.168.1.100 ~]# mkdir /var/share
Konfigurasi direktori yang akan diexport:
[bryan@192.168.1.100 ~]# vi /etc/exports
/var/share 192.168.1.101(rw,sync,no_root_squash)
#Direktori /var/share akan dishare ke IP “192.168.1.101” dengan privilege read dan write (rw). hostname juga dapat digunakan sebagai pengganti IP.
Options lain NFS:
ro: Read Only – Client hanya bisa Read.
rw: Read Write – Clent dapat Read dan Write pada share directory.
sync: Sync memastikan request ke share directory hanya ketika perubahan sudah dicommit.
no_subtree_check: This option prevents the subtree checking. When a shared directory is the subdirectory of a larger file system, nfs performs scans of every directory above it, in order to verify its permissions and details. Disabling the subtree check may increase the reliability of NFS, but reduce security.
no_root_squash: Memungkinkan root untuk terhubung pada share directory.
Reload NFS setelah merubah /etc/exports
[bryan@192.168.1.100 ~]# exportfs -ra
Cek apakah share directory sudah dapat dimount:
[bryan@192.168.1.101 ~]# showmount -e 192.168.1.100
Export list for 192.168.1.100:
/var/share 192.168.1.101
Mount Shared NFS Directory:
[bryan@192.168.1.101 ~]# mount -t nfs 192.168.1.100:/var/share /mnt/share
Apabila command diatas ada error sebagai berikut :
[bryan@192.168.1.101 ~]# mount -t nfs 192.168.1.100:/var/share /mnt/share
mount.nfs: an incorrect mount option was specified
Coba menggunakan command berikut:
[bryan@192.168.1.101 ~]# mount -t nfs -o vers=3,nolock 192.168.1.100:/var/share /mnt/share
Cek apakah sudah termount:
[bryan@192.168.1.101 ~]# mount | grep nfs
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.1.100:/var/nfsshare on /mnt type nfs (rw,addr=192.168.1.100)
atau :
[root@192.168.1.101 ~]# df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 39G 1.1G 38G 3% /
/dev/mapper/centos-home 19G 33M 19G 1% /home
/dev/sda1 497M 126M 372M 26% /boot
192.168.1.100:/var/nfsshare 39G 980M 38G 3% /mnt/nfs/var/nfsshare
Command diatas untuk mounting nfs directory sementara (hilang ketika reboot), untuk mount secara permanent dapat ditambahkan di /etc/fstab
[bryan@192.168.1.101 ~]# vi /etc/fstab
192.168.1.100:/var/nfsshare /mnt nfs defaults 0 0
Restart servis:
systemctl restart nfs-server
Tambahkan settingan firewall:
firewall-cmd –permanent –zone=public –add-service=nfs
firewall-cmd –reload
Test hasil settingan NFS
Kita dapat mengetes apakan setingan berhasil dengan cara buat file pada server atau client.
Jika sudah tidak digunakan, NFS dapat di unmount dengan cara :
[bryan@192.168.1.101 ~]# umount /mnt/nfsshare
### atau
[bryan@192.168.1.101 ~]# umount -l /mnt/nfsshare
Cek hasil Unmount:
[bryan@192.168.1.101 ~]# df -h -F nfs
Dapat dilihat jika shared directory sudah tidak ada.
Beberapa command lainnya untuk NFS :
showmount -e : Menampilkan directory yang dishare untuk pc local.
showmount -e : Menampilkan directory yang dishare pada pc remote.
showmount -d : Menampilkan semua sub directory.
exportfs -v : Displays a list of shares files and options on a server
exportfs -a : Exports all shares listed in /etc/exports, or given name
exportfs -u : Unexports all shares listed in /etc/exports, or given name
exportfs -r : Refresh the server’s list after modifying /etc/exports