NETWORK FILE SYSTEM (NFS) di ubuntu 10.04 A. Dasar Teori Ferry Ardian nyotvee@gmail.com Http://ardian19ferry.wordpress.com Network File System (NFS) adalah salah suatu layanan (service) yang dapat memungkinkan suatu komputer untuk melakukan proses mount suatu direktori / peralatan pada komputer lain. Dengan menggunakan NFS, suatu komputer dapat berbagi file, data dan bahkan program antara sesama klien yang terhubung ke server utama. NFS juga memungkinkan suatu komputer untuk melakukan pengaktifan/penggunaan (mounting) peralatan pada komputer lain yang terhubung ke jaringan. Saat ini terdapat 2 versi NFS yaitu NFS versi 2 (NFSv2) dan NFS versi 3 (NFSv3). NFSv2 lebih lama tetapi sudah didukung oleh berbagai macam mesin dan sistem operasi. Sedangkan NFSv3 lebih baru dan mempunyai beberapa fitur tambahan misalnya pesan kesalahan yang lebih baik, kemampuan untuk menangani file yang ukurannya bervariasi. Redhat Linux 9 secara default menggunakan NFSv3. NFSv2 menggunakan protokol UDP untuk melakukan koneksi antara server dan client, sedangkan NFSv3 menggunakan protokil UDP dan TCP sekaligus. Beberapa manfaat NFS diantaranya ialah : 1. lokal workstations menggunakan ruang disk lebih kecil karena telah menggunakan data yang disimpan pada mesin tunggal dan tetap dapat diakses oleh yang lainnya melalui jaringan. 2. Pemakai tidak harus membagi direktori home pada setiap mesin di jaringan. Direktori home dapat di set up pada NFS server dan tersedia melalui jaringan. 3. Divais penyimpanan seperti floppy disk, CDROM drives, dan ZIP drives dapat digunakan oleh mesin lainnya. Ini mengurangi jumlah media drives seluruhnya pada jaringan. 1
B. Terminologi NFS 1. NFS Server Merupakan komputer/host yang menyediakan sistem file(via direktori) yang dapat diakses oleh komputer lain. Langkah server adalah : a. Menyiapkan direktori yang akan di-share. b. Kemudian melakukan konfigurasi sharing direktori yang sudah disiapkan. 2. NFS Client Merupakan komputer/host yang memanfaatkan sistem file yang disediakan oleh NFS Server. Sedangkan langkah client adalah a. Menyiapkan direktori yang dipakai untuk menampung sharing direktori dari server. b. Kemudian melakukan konfigurasi pengambilan file lewat sharing dengan tempat penampungan telah disiapkan di langkah a. Untuk melakukan hal tersebut NFS client memakai UDP (User Datagram Protocol) untuk mengirim permintaan/request I/O melalui jaringan dengan menggunakan Remote Procedure Call (RPC). Request ini akan diterima oleh NFS Server melalui proses daemon yang bernama nfsd. RPC adalah layanan (service) yang dikendalikan oleh suatu program yang disebut portmap. Untuk melakukan proses sharing dan mount pada NFS, terdapat beberapa layanan yang bekerja secara bersama-sama yaitu : nfs menjalankan proses RPC untuk melayani permintaan sistem file NFS. nfslock layanan tambahan yang menjalankan proses RPC untuk mengijinkan NFS client untuk mengunci file pada server. portmap layanan RPC pada Linux yang merespon semua permintaan layanan RPC dan melakukan koneksi ke layanan RPC yang diminta. Berikut ini adalah proses-proses RPC yang bekerja bersamasama di belakang layar untuk memfasilitasi terjadinya layanan NFS rpc.mountd proses ini menerima permintaan mount (pengaktifan 2
device/direktori) dan melakukan proses verifikasi sistem file yang dieksport. Proses ini dijalankan secara otomatis oleh service NFS dan tidak membutuhkan konfigurasi dari user. rpc.nfsd ini adalah proses utama NFS server yang bekerja pada kernel Linux untuk memenuhi kebutuhan NFS client. rpc.lockd merupakan proses tambahan yang mengijinkan NFS client untuk mengunci file pada server. rpc.statd Proses ini menjalankan Network Status Monitor (NSM) yaitu protokol RPC yang memberikan pesan kepada NFS client pada saat NFS server dijalankan ulang (restart). Proses ini dijalankan secara otomatis oleh service NFS dan tidak membutuhkan konfigurasi dari user. rpc.rquotad Proses ini menyediakan informasi kuota pemakai (user quota) untuk remote user. Proses ini dijalankan secara otomatis oleh service NFS dan tidak membutuhkan konfigurasi dari user. C. Installasi dan Konfigurasi 1. Login ke sistem Linux sebagai root. 2. Catatlah, berapa nomer IP dan nama host dari PC yang anda gunakan. Setelah itu, juga catat nomor IP komputer client (gunakan perintah ifconfig dan hostname). 3. Pastikan bahwa komputer server yang anda gunakan sudah terhubung ke komputer client (gunakan perintah ping). 4. Pastikan bahwa komputer server telah terhubung ke internet atau jaringan local (jaringan local yang memiliki linux server), digunakan untuk update Repository. 3
5. Tentukan file atau folder yang akan di-share Instalasi dan konfigurasi NFS server 1. Langkah pertama yang dilakukan adalah menginstal kernel NFS server. Gunakan perintah : # apt-get install portmap nfs-kernel-server 4
Berikut tampilan screenshoot pada terminal linux server : Berikut tampilan ketika telah selesai menginstal kernel NFS server : 5
2. Langkah kedua yang kita lakukan setelah selesai menginstal kernel NFS server adalah mengedit file exports ( /etc/exports ). Yang akan di-edit adalah memasukan file atau folder yang akan di-share. Command yang digunakan adalah : # nano /etc/exports Berikut adalah tampilan command # nano /etc/exports : Di /etc/exports, yang kita edit adalah memasukan IP client yang menjadi host dan dapat mengakses file yang di-share dari NFS server. Berikut tampilan /etc/exports yang telah di-edit : 6
Keterangan /etc/exports yang telah di-edit : /home /home 10.14.200.185(rw,sync,no_subtree_check) : file/folder dari NFS server yang akan di-share 10.14.200.185 : IP client yang di-share rw : read/writer, agar client dapat baca/tulis di file server. Selain rw, terdapa tjuga command ro. ro sync async no_subtree_check : yang artinya read only, client hanya dapat baca, dan tidak dapat meng-edit file yang di-share. : server merespon hanya sebuah request, dan melayani request lain setelah request yang sebelumnya selesai dilayani. Selain sync, terdapat juga command async. :server merespon lebih banyak request dan lebih cepat, namun berbahaya (dapat mengakibatkan computer menjadi crash, dan data menjadi hilang atau corrupted). : menonaktifkan pengecekan keseluruh folder secara detail. Opsi ini mengakibatkan keamanan yang kurang, namun meningkatkan kehandalan dalam beberapa keadaan (mempercepat proses). Selain command diatas, kita juga dapat mengedit /etc/exports dengan command lain, seperti : # /home 192.168.0.10(rw,sync,no_subtree_check) 192.168.0.11(rw,sync,no_subtree_check) Artinya, ada dua IP client yang digunakan sebagai client, yaitu 192.168.0.10 dan 192.168.0.11. Atau # /home 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check) Artinya, yang menjadi client pada NFS server adalah semua hosts yang berada pada jaringan 192.168.0.0 dengan subnet mask 255.255.255.0 Untuk lebih jelasnya, pelajari manual dari/etc/exports, dengan command : # man /etc/exports 7
3. Langkah selanjutnya adalah meng-exports file/folder yang akan di-share. Menggunakan command berikut : # exportsfs ra Untuk lebih jelasnya, pelajari manual dari exports ra, dengan command : # man exports ra 4. Selanjutnya adalah kita restart portmap dan nfs-kernel-server. Dengan command : # /etc/init.d/portmap restart (restart portmap) # /etc/init.d/nfs-kernel-server restart (restart NFS kernel) Setelah empat langkah diatas selesai kita lakukan, berarti NFS server telah selesai kita install dan konfigurasi. Selanjutnya, kita install dan konfigurasi NFS client. Instalasi dan konfigurasi NFS client 1. Langkah pertama yang kita lakukan adalah instalasi NFS client, dengan command : # apt-get install portmap nfs-common Berikut tampilan screenshootnya : 8
2. Setelah proses installasi selesai, selanjutnya kita edit /etc/hosts.deny, dengan command : # nano /etc/hosts.deny Berikut tampilan /etc/hosts.deny yang telah di-edit : Keterangan dari folder yang di-edit diatas : Portmap:ALL, artinya memblock semua service dari semua host. Dengan mula-mula memblock semua host, maka hanya client dari /etc/hosts.allow yang dapat mengakses NFS server 9
3. Meng-edit /etc/hosts.allow Command yang digunakan adalah : # nano /etc/hosts.allow Berikut tampilan /etc/hosts.allow setelah di-edit : Keterangan /etc/hosts.allow yang telah di-edit : Portmap:10.14.200.16, pada hasil edit tersebut terdapat IP komputer yang digunakan sebagai NFS server. IP NFS server tersebut adalah 10.14.200.16. 4. Langkah selanjutnya, Pertama-tama kita buat terlebih dahulu folder baru di /home dari komputer client yang digunakan untuk menyimpan file/folder yang di-share dari komputer NFS server, dengan command : # cd /home (untuk masuk ke direktori home) # mkdir /nfs (membuat direktori baru dengan nama nfs yang berada di dalam direktori home) Untuk memeriksa apakah direktori tersebut sudah ada atau belum, ketikan command berikut : # ls (asumsi, lokasi saat mengetikan command ls adalah di direktori home) 10
Selanjutnya, kita mount folder yang di-share yang berada di komputer NFS server. Command-nya adalah : # mount server_ip:/folder_yang_di_share (spasi) /folder_yang_akan_menyimpan_folder_dari_nfs_server Contohnya adalah # mount 10.14.200.16:/home /home/nfs Keterangan command diatas : Mount : command untuk mengeksekusi perintah mount 10.14.200.16 : IP NFS server /home : folder di komputer NFS server yang di-share /home/nfs : folder di komputer client yang digunakan untuk menyimpan file/folder dari NFS server. Setelah di-mount, kita sudah dapat mengakses file/folder dari komputer NFS server di komputer client.berikut screenshootnya : Screenshoot /home di komputer NFS server 11
Screenshoot /home/nfs di komputer client 12