Avatar
Cover

Cara Mount Remote Directory di Linux dengan NFS

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.

Keunggulan NFS

  • NFS memungkinkan local access pada remote files.
  • Menggunakan standard client/server architecture untuk sharing file antar *nix system.
  • Tidak butuh OS yang sama pada kedua sistem.
  • Dapat dikonfigurasi untuk solusi penyimpanan sentralisasi.
  • Tidak membutuhkan refresh manual.

NFS Services

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.

1. Catatan Persiapan

NFS Server: IP-192.168.1.100

NFS Client : IP-192.168.1.101

Kondisi kedua IP harus bisa di ping dari lawannya.

2. NFS Server dan NFS Client

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

3. Setting NFS Server

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

4. Setting NFS Client

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

Mounting permanen:

[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
  • Jika tidak dilakukan, akan error RTO (Request Time Out) pada client.

Test hasil settingan NFS

Kita dapat mengetes apakan setingan berhasil dengan cara buat file pada server atau client.

Menghapus NFS Mount

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