Edi Santoso

Edi Santoso

( @repodevs )


Python & Odoo Developer who drink tea to enjoying the life


Tutorial Install NFS Linux File Sharing di CentOS & Ubuntu

Assalamu’alaykum
Saya kali ini akan berbagi catatan tentang sharing file antar linux dengan berbeda jaringan.

Sebenarnya ada beberapa cara untuk sharing file yang berbeda jaringan pada linux, tetapi kali ini saya akan menulis tentang sharing file menggunakan NFS.

Apa sih sebenarnya NFS itu?

Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems in 1984,[1] allowing a user on a client computer to access files over a computer network much like local storage is accessed. NFS, like many other protocols, builds on the Open Network Computing Remote Procedure Call (ONC RPC) system. The NFS is an open standard defined in Request for Comments (RFC), allowing anyone to implement the protocol.

Jadi bahasa mudahnya, NFS adalah sebuah system yang di rancang oleh Sun Microsystems pada tahun 1984. yang fungsinnya digunakan untuk sharing files antar jaringan komputer.

Pada tutorial kali ini saya menggunakan CentOS untuk master nya, dan menggunakan Ubuntu untuk slave nya, kurang lebih begini:

  • NFS Server:
    • OS: CentOS 7
    • IP: 45.76.163.12
  • NFS Client:
    • OS: Ubuntu 16.04
    • IP: 45.76.113.15

Untuk merubah konfigurasi saya akan menggunakan text editor nano, jadi pastikan terinstall terlebih dahulu pada kedua server

# Pada CentOS
[root@master ~]# yum -y install nano

# Pada Ubuntu
root@slave1:~# apt-get install nano -y

konfigurasi Firewall pada CentOS

Disini saya akan menggunakan firewall di server (CentOS), jika firewall belum terinstall maka install terlebih dahulu

[root@master ~]# yum -y install firewalld

Setelah terinstall, jalankan servicenya dan tambahkan autostart saat booting.

[root@master ~]# systemctl start firewalld.service
[root@master ~]# systemctl enable firewalld.service

Selanjutnya buka port untuk SSH dan NFS port agar client kita bisa terhubung dengan server nantinya.

[root@master ~]# firewall-cmd --permanent --zone=public --add-service=ssh
[root@master ~]# firewall-cmd --permanent --zone=public --add-service=nfs
[root@master ~]# firewall-cmd --reload

Menginstall NFS pada CentOS

lakukan install nfs dengan menjalankan perintah

[root@master ~]# yum -y install nfs-utils

kemudian jalankan servicenya

[root@master ~]# systemctl enable nfs-server.service
[root@master ~]# systemctl start nfs-server.service

konfigurasi folder yang akan di share

Disini saya akan meng-share 2 folder, yaitu /home/repodevs dan /var/nfs.

Ketika client kita mengkases komputer server, secara default akan menggunakan user nfsnobody. kecuali folder /home/repodevs ini biasanya folder tersebut tidak dimiliki atau dibuat oleh nfsnobody (dan saya tidak menyarakan untuk merubah owner nya menjadi nfsnobody). dan karena disini kita akan membaca dan menulis di folder /home/repodevs maka kita akan memerintahkan NFS untuk mengkases folder tersebut sebagai root. dan pada contoh ini folder /var/nfs belum ada. maka kita buat terlebih dahulu

[root@master ~]# mkdir /var/nfs
[root@master ~]# chown nfsnobody:nfsnobody /var/nfs/
[root@master ~]# chmod 755 /var/nfs/

Kemudian kita konfigurasi /etc/exports, di file inilah kita akan menentukan folder mana yang akan di share.

[root@master ~]# nano /etc/exports

### ISI FILE `/etc/exports`
...
/home/repodevs        45.32.113.15(rw,sync,no_root_squash,no_subtree_check)
/var/nfs        45.32.113.15(rw,sync,no_subtree_check)
...

IP yang dimasukan disana, adalah IP target / IP client kita.
Dan opsi no_root_squash adalah yang membuat folder kita akan di akses sebagai root

Setiap kali kita merubah file /etc/exports kita harus menjalankan perintah berikut, ini perlukan agar konfigurasi kita berjalan secara efektif.

[root@master ~]# exportfs -a

Melakukan Konfigurasi Client (Ubuntu 16.04)

Install NFS pada client

root@slave1:~# apt install nfs-common

selanjutnya kita buat folder tempat dimana kita akan mount NFS kita.

root@slave1:~# mkdir -p /mnt/nfs/home/repodevs
root@slave1:~# mkdir -p /mnt/nfs/var/nfs

Setelah itu lakukan mount NFS kita ke folder tersebut.

root@slave1:~# mount 45.76.163.12:/home/repodevs /mnt/nfs/home/repodevs
root@slave1:~# mount 45.76.163.12:/var/nfs /mnt/nfs/var/nfs/

Sekarang kita cek hasil mount kita.

root@slave1:~# df -h
Filesystem             Size  Used Avail Use% Mounted on
udev                   477M     0  477M   0% /dev
tmpfs                  100M  3.1M   97M   4% /run
/dev/vda1               25G  1.8G   22G   8% /
tmpfs                  497M     0  497M   0% /dev/shm
tmpfs                  5.0M     0  5.0M   0% /run/lock
tmpfs                  497M     0  497M   0% /sys/fs/cgroup
tmpfs                  100M     0  100M   0% /run/user/0
45.76.163.12:/var/nfs   25G  1.3G   23G   6% /mnt/nfs/var/nfs

TESTING

Setelah semua konfigurasi sudah selesai, selanjutnya kita lakukan testing.

root@slave1:~# cd /mnt/nfs/var/nfs/
root@slave1:/mnt/nfs/var/nfs# ls
root@slave1:/mnt/nfs/var/nfs# touch hallooo
root@slave1:/mnt/nfs/var/nfs# ls
hallooo
[root@master ~]# ls
hallooo

Mount NFS pada setiap boot

selanjutnya kita akan membuat NFS kita automount setiap server kita booting.

root@slave1:/mnt/nfs/var/nfs# nano /etc/fstab

....
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/vda1 during installation
....
45.76.163.12:/home/repodevs	/mnt/nfs/home/repodevs/	nfs	rw,sync,hard,intr  0	0
45.76.163.12:/var/nfs	/mnt/nfs/var/nfs/	nfs	rw,sync,hard,intr  0	0
....

selain pilihan rw,sync,hard,intr kamu dapat memilih cara mounting yang lain. silahkan lihat man mount untuk melihat pilihan yang lain

untuk menguji apakah automount mu sudah berjalan atau belum. lakukan reboot server (ubuntu 16.04) mu.

root@slave1:/mnt/nfs/var/nfs# reboot

cek hasilnya menggunakan

root@slave1:/mnt/nfs/var/nfs# df -h
Filesystem             Size  Used Avail Use% Mounted on
udev                   477M     0  477M   0% /dev
tmpfs                  100M  3.1M   97M   4% /run
/dev/vda1               25G  1.8G   22G   8% /
tmpfs                  497M     0  497M   0% /dev/shm
tmpfs                  5.0M     0  5.0M   0% /run/lock
tmpfs                  497M     0  497M   0% /sys/fs/cgroup
tmpfs                  100M     0  100M   0% /run/user/0
45.76.163.12:/var/nfs   25G  1.3G   23G   6% /mnt/nfs/var/nfs

Selesai !!!

Sekian Tutorial kali ini, See you and stay tune !!! :D

comments powered by Disqus