Pages

Rabu, 13 Februari 2013

Apa itu NFS


===== Prolog

Network File System (NFS) memungkinkan kita untuk melakukan mount partisi 
disk pada komputer remote seolah-olah berada di komputer lokal. Bagi anda 
yang sudah terbiasa dengan Samba, fungsinya mirip seperti itu. Linux dapat
dikonfigurasi agar berjalan sebagai NFS Server maupun NFS Client, seperti 
yang akan kita lihat nanti. Pada kasus saya, akan dijalankan NFS Server 
pada komputer ber-IP 172.16.25.25, sedangkan client-nya adalah beberapa/
semua komputer yang memiliki IP antara 172.16.25.0 sampai 172.16.25.255. 
Volume disk yang di-share adalah /home.


===== NFS Server

Untuk menjalankan NFS Server, ada beberapa file konfigurasi yang harus 
diedit, yaitu /etc/exports, /etc/hosts.allow dan /etc/hosts.deny. File 
/etc/exports berisi list apa dan bagaimana suatu volume disk di-share. 
Sebagai contoh, tambahkan baris berikut pada file /etc/exports di 
komputer server (IP 172.16.25.25).

/home 172.16.25.11(ro,no_subtree_check) 172.16.25.80(rw,no_subtree_check)

Ini berarti kita men-share /home read-only untuk client 172.16.25.11, 
sedangkan client 172.16.25.80 mendapat akses read-write. Jika anda ingin 
memberikan akses read-write pada semua client pada rentang IP 172.16.25.0
sampai 172.16.25.255 cukup tambahkan baris berikut.

/home 172.16.25.0/255.255.255.0(rw,no_subtree_check)

Jika yang di-share atau di-export hanya subdirektori di dalam volume disk 
(bukan satu volume/partisi disk utuh), maka ketika ada request dari
client, server akan mengecek apakah file yang diakses itu berada pada 
volume dan tree yang sesuai. Pengecekan ini disebut "subtree checking". 
Men-disable pengecekan ini akan mempercepat transfer data. Umumnya, 
pengecekan ini di-disable (no_subtree_check) jika satu volume disk 
di-export semua (tidak hanya subdirektori di dalamnya). Misalnya yang 
menggunakan opsi no_subtree_check adalah direktori home yang sering 
mengalami perubahan nama file dan berada pada partisi /home terpisah. 
Sedangkan, volume dan subdirektori yang sifatnya read-only (seperti /usr 
atau /var) pengecekan tersebut di-enable dengan opsi subtree_check. Untuk 
opsi konfigurasi lainnya dapat dilihat pada manual exports.

Selanjutnya adalah mengedit file /etc/hosts.allow dan /etc/hosts.deny. 
Kedua file tersebut berfungsi untuk menentukan komputer client mana saja 
yang diperbolehkan untuk menggunakan service yang ada di komputer server. 
Cara kerjanya :
- Ketika ada request dari client, maka akan dicek file /etc/hosts.allow 
  apakah client tersebut ada dalam daftar host yang diperbolehkan untuk 
  menggunakan service. Jika ada dan sesuai, maka client tersebut diizinkan 
  untuk mengakses.
- Jika client tersebut tidak ada dalam daftar /etc/hosts.allow selanjutnya 
  server akan mengecek file /etc/hosts.deny. Jika client ada dalam daftar 
  /etc/hosts.deny maka akses dari client ke server akan ditolak.
- Jika client tidak ada dalam daftar kedua file tersebut, maka client 
  diperbolehkan untuk mengakses.

Kita akan mengontrol akses ke NFS dengan cara membatasi koneksi ke 
beberapa daemon yang dibutuhkan oleh NFS. Defaultnya kita menolak semua 
koneksi ke daemon-daemon tersebut. Pada file /etc/hosts.deny tambahkan :

        portmap:ALL
        lockd:ALL
        mountd:ALL
        rquotad:ALL
        statd:ALL

Kemudian pada file /etc/hosts.allow tambahkan juga daftar host yang 
diperbolehkan untuk mengakses.

        portmap: 172.16.25.11 , 172.16.25.80
        lockd: 172.16.25.11 , 172.16.25.80
        mountd: 172.16.25.11 , 172.16.25.80
        rquotad: 172.16.25.11 , 172.16.25.80
        statd: 172.16.25.11 , 172.16.25.80

Setelah selesai, jalankan daemon-daemon yang diperlukan oleh NFS. Layanan 
NFS dijalankan oleh lima daemon, yaitu rpc.nfsd, rpc.lockd, rps.statd, 
rpc.mountd dan rpc.rquotad. Selain itu, NFS juga bergantung pada daemon 
portmapper, yang disebut portmap atau rpc.portmap. Skrip untuk menjalankan
semua daemon tersebut biasanya sudah disediakan pada masing-masing distro 
Linux. Pada Slackware, agar service NFS dijalankan pada saat booting :

        # chmod +x /etc/rc.d/rc.nfsd

Anda juga bisa menjalankan daemon tersebut secara manual atau 
menambahkannya sendiri pada file rc.local agar dijalankan setiap kali 
booting. Daemon-daemon di atas bisa ditemukan pada direktori /usr/sbin 
atau /sbin. Untuk memaksa nfsd membaca file /etc/exports setiap kali 
melakukan perubahan konfigurasi pada file tersebut, lakukan perintah 
berikut.

        # /usr/sbin/exportfs -ra

atau, sekalian restart semua daemon :)

        # /etc/rc.d/rc.nfsd restart

Pastikan service NFS jalan dengan menggunakan perintah rpcinfo -p. Dan.. 
NFS Server sudah siap untuk menerima request dari client.


===== NFS Client

Tidak seperti NFS Server, untuk menjalankan NFS Client hanya dibutuhkan 
tiga daemon, yaitu portmap, lockd dan statd. Pada Slackware :

        # chmod +x /etc/rc.d/rc.rpc
        # /etc/rc.d/rc.rpc restart

Jika anda menjalankan NFS Server di komputer yang sama, maka perintah di 
atas sudah tidak diperlukan lagi. Sebab, daemon-daemon yang dibutuhkan 
sudah dijalankan saat anda men-setup NFS Server. Selanjutnya, mount 
direktori /home server ke direktori lokal (komputer client 172.16.25.80).

        # mount 172.16.25.25:/home /mnt/nfs_home

Agar filesistem di atas di-mount setiap kali booting, tambahkan baris 
berikut pada file /etc/fstab.

#device             mountpoint     type  option        dump  fsckorder
172.16.25.25:/home  /mnt/nfs_home  nfs   rw,hard,intr  0     0

Dengan opsi hard, ketika server crash maka program yang sedang mengakses 
NFS filesystem akan hang. Proses tidak dapat di-interupsi atau dihentikan,
kecuali jika sebelumnya kita juga menambahkan opsi intr. Ketika server 
kembali online maka program akan melanjutkan proses sebelumnya. 
Direkomendasikan agar anda menggunakan opsi hard, intr.


===== Epilog

Untuk mengetahui lebih detil tentang NFS di berbagai Sistem Operasi 
termasuk opsi-opsinya, disarankan agar anda membaca dan mencari sendiri 
sumber-sumber yang bertebaran di dunia cyber ini...


===== Daftar Pustaka :

1. http://www.tldp.org
2. Manual/Dokumentasi Slackware dan paket-paketnya


===== Untuk yang tercinta :
1. ALLAH SWT
2. Muhammad SAW
3. Abah dan Ummi
4. ....???

Sumber :
Subject : Network File System [ NFS ]
Author  : al farisi
Website : http://alfarisi.web.id
E-mail  : elfarish [at] gmail.com


Tidak ada komentar:

Posting Komentar