===== 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