Subject : Network File System [ NFS ] Author : al farisi Website : http://alfarisi.web.id E-mail : elfarish [at] gmail.com ===== 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. ....???