NFS
Awalnya dikembangkan oleh Sun Microsystems Sebagai File Sharing antar komputer di jaringan Dari sinilah konsep network is computer lahir Banyak digunakan sebagai File Server dan juga Diskless Workstation serta File Sharing Server Akses terhadap file di server dilakukan secara transparan (user bisa mengakses file remote seperti mengakses file di local disk) Menggunakan arsitektur client-server Terdapat dua bagian yaitu bagian server dan bagian client yang biasanya akan dipakai oleh user
Server
Terdiri dari disk fisik yang berisikan filesystem yang di share (export) Daemon-daemon yang bertugas melayani request dari client
Client
Komputer dengan software yang mendukung NFS client Melakukan mount terhadap file-system di server yang telah di export sebelumnya User yang melakukan mount akan bisa mengakses file-system yang telah diexport tadi seperti mengakses file/direktori secara biasa
Contoh
Keuntungan NFS
Alokasi space per user Jika digabungkan dengan NIS, maka NFS akan bisa menjadi storage bagi user di dalam jaringan
Desain awal hanya untuk jaringan yang lokal dan tertutup Security Congestion (Traffic yang tinggi bisa menyebabkan akses lambat)
Konfigurasi Server
Memilih file system yang akan di export Menentukan user yang boleh mengakses Menentukan aturan penamaan dan aturan mount dari client Mengkonfigurasi server agar sesuai dengan aturan yang sudah dibuat
File system yang di shared dan akan digunakan oleh banyak user (contohnya /home, /var/mail, /usr/share, /bin, /usr/bin )
Batasan
Hanya bisa melakukan export local disk dan subdirektorinya atau kita tidak bisa mengexport suatu file system yang merupakan hasil NFS mount Sub direktori dari sebuah exported file system tidak bisa diexport kecuali apabila subdirektori tersebut terletak di disk yang berbeda
Batasan
Diketahui entri didalam /etc/fstab
/dev/sda1 /usr/local ext3 defaults 1 2
Jika di dalam /usr/local terdapat direktori bernama devtool, maka devtool tidak bisa diexport, /usr/local/devtool akan bisa diexport jika susunan /etc/fstabnya seperti berikut ini
/dev/sda1 /dev/sda2 /usr/local /usr/local/devtool ext3 defaults 1 2 ext3 defaults 1 2
/etc/exports (File konfigurasi export) /var/lib/nfs/rmtab (Status NFS export) /var/lib/nfs/xtab (Status NFS export) /etc/hosts.allow (security) /etc/hosts.deny (security)
File-file daemon
/etc/exports
dir
Contoh /exports
/usr/local /home /projects /var/tmp
/usr/local akan bisa diakses dari semua host di domain kurtwerks.com dengan atribut read-only /home akan bisa diakses dari IP dengan network ID 192.168.0.0 dengan atribut read-write /projects bisa diakses dari user yang merupakan anggota NIS (dev) dengan atribut read-write /var/tmp hanya bisa diakses dari 192.168.0.1 dengan atribut read-write
Export options
ro : export file system read-only rw : export file system read-write (bisa diubah) Async: Menggunakan cache Sync : menjalankan disk write sebelum proses selanjutnya (lebih lambat)
File Status
/etc/hosts.allow
Digunakan untuk security Memperbolehkan grup IP tertentu untuk mengakses suatu daemon
portmap:ALL lockd:ALL mountd:ALL rquotad:ALL statd:ALL
/etc/hosts.deny
Sama dengan /etc/hosts.allow Akan tetapi di /etc/hosts.deny akan mencatat IP-IP berapa sajakah yang tidak diperbolehkan mengakses
portmap memungkinkan NFS client untuk menemukan NFS server yang ada di server mountd Memproses request mount dari client nfsd NFS service server Statd Mencatat dan melakukan log lockd memulai NFS lock manager rquotad menyediakan quota file/subdir untuk client NFS
Supaya service berjalan dengan baik ada baiknya diperhatikan susunan urutan untuk menjalankan daemon
Menghentikan NFS
Command yang harus dijalankan #/etc/rc.d/init.d/nfslock start (untuk menghentikan logging dan juga mengatur lock) #/etc/rc.d/init.d/nfs start (untuk menghentikan nfsd) #/etc/rc.d/init.d/portmap stop(untuk mengentikan RPC)
exportfs
Untuk mengexport file system tanpa harus mengubah /etc/exports Syntax : exportfs o options host:directory Aturan host dan direktori sama dengan aturan pada /etc/exports Mengexport /home dengan read-write untuk host 192.168.10.10
exportfs
#exportfs v
Suatu server mengexport 2 file system , yang pertama adalah /home yang terletak di /dev/hdc1, yang kedua adalah /opt yang terletak di /dev/hdb1, yang diperbolehkan mengakses adalah network 192.168.0.0/255.255.0.0 /etc/exports akan berisi /home 192.168.*(rw) /opt 192.168.*(ro) Start NFS dengan menjalankan ketiga daemon #/etc/rc.d/init.d/portmap start (jika portmap belum jalan) #/etc/rc.d/init.d/nfs start #/etc/rc.d/init.d/nfslock start
Gunakan rpcinfo p untuk melihat apakah daemon-daemon portmap, mountd, rquotad, dan nfs sudah berjalan Gunakan exportfs untuk melihat semua exported file system
NFS Client
NFS client adalah komputer yang melakukan mount terhadap file system yang sudah diexport oleh NFS server NFS client membutuhkan program statd dan lockd yang telah berjalan NFS client yang sudah melakukan mount akan bisa mengakses remote file system seperti mengakses file di local disk
NFS Client
Mount juga bisa dilakukan pada waktu startup dengan mengedit /etc/fstab Perintah mount bisa dilakukan dengan cara
Sebagai contoh: #mount t nfs 192.168.1.10:/home /homeku Melakukan mount pada remote filesystem /home di server 192.168.1.10 dan diletakkan pada mount point /homeku #mount t nfs 192.168.2.10:/usr/local /opt Melakukan mount pada remote filesystem /usr/local di server 192.168.2.10 dan diletakkan pada mount point /opt
Gunakan NFS server yang ada dalam bahasan Contoh NFS server Gunakan showmount untuk melihat export list
#showmount e host
mkdir /mymount
mount t nfs host:/home /mymount
Selain menggunakan perintah mount secara manual, NFS client bisa dikonfigurasi secara otomatis ketika PC menyala dengan menambahkan entri mount di /etc/fstab Contoh kasus pada halaman sebelumnya : entri berikut ini bisa ditambahkan di /etc/fstab
host:/home mymount nfs 0 0