Gambaran Tentang NFS
NFS didesain agar dapat beroperasi di lingkungan ataupun jaringan yang heterogen yang meliputi mesin, platform, sistem operasi, dan arsitektur jaringan. Ketidaktergantungan ini didapat dari penggunaan RPC primitif yang dibangun diatas protokol External Data Representation (XDR).
Jika misalnya terjadi sebuah pertukaran sistem berkas antara server dan client , maka pertukaran sistem berkas yang terjadi disini harus dipastikan hanya berpengaruh pada tingkat client dan tidak mempengaruhi sisi server , karena server dan client adalah mesin yang berbeda dan sama-sama bebas. Untuk itu, mesin client harus melakukan operasi mount terlebih dahulu agar remote directory dapat diakses secara transparan.
Protokol NFS
NFS umumnya menggunakan protokol Remote Procedure Call (RPC) yang berjalan di atas UDP dan membuka port UDP dengan port number 2049 untuk komunikasi antara client dan server di dalam jaringan. Client NFS selanjutnya akan mengimpor sistem berkas remote dari server NFS, sementara server NFS mengekspor sistem berkas lokal kepada client.
Mesin-mesin yang menjalankan perangkat lunak NFS client dapat saling berhubungan dengan perangkat lunak NFS server untuk melakukan perintah operasi tertentu dengan menggunakan request RPC. Adapun operasi-operasi yang didukung oleh NFS adalah sebagai berikut :
a. Mencari berkas di dalam direktori.
b. Membaca kumpulan direktori.
c. Memanipulasi link dan direktori.
d. Mengakses atribut berkas.
e. Membaca dan menulis berkas.
Perlu diketahui bahwa server NFS bersifat stateless , yang artinya setiap request harus mengandung argumen yang penuh dan jelas sebab server NFS tidak menyimpan sejarah informasi request . Data yang dimodifikasi harus di commit ke server sebelum hasilnya di kembalikan ke client. NFS protokol tidak menyediakan mekanisme concurrency-control.
Beberapa manfaat NFS
– Lokal workstations menggunakan ruang disk lebih kecil
– Pemakai tidak harus membagi direktori home pada setiap mesin di jaringan
– Direktori home dapat di set up pada NFS server dan tersedia melalui jaringan
– Device penyimpanan seperti floppy disk, CDROM drives, dll dapat digunakan oleh mesin lainnya
Kerugian/Kelemahan NFS
– Desain awal hanya untuk jaringan yang lokal dan tertutup
– Security
– Congestion (Traffic yang tinggi bisa menyebabkan akses lambat)
AFS (Andrew File System)Ada persamaan dan perbedaan antara AFS dan NFS.
Persamaan:
AFS sama seperti NFS menyediakan akses menuju shared files secara transaparant. Akses menuju ke file AFS adalah melalui normal unix file primitives (tanpa modifikasi atau rekompilasi). AFS kompatibel dengan NFS.
Perbedaan:
Secara desain dan implementasi, AFS berbeda dengan NFS, perbedaan utama, NFS didesain untuk dapat menangani active users dengan jumlah yang lebih banyak daripada distributed file systems yang lain. Kunci AFS untuk menangani jumlah active users yang besar terletak pada kemampuan caching seluruh files pada client node.
Karakter AFS
AFS mempunyai dua karakter desain yang unik :
• Whole file serving
Seluruh konten dari direktori dan file dikirim kepada komputer client oleh AFS servers (di AFS3, file yang ukurannya lebih dari 64kbytes ditransfer dalam 64kbyte chunks).
• Whole file caching
Copy dari sebuah file chunk yang telah ditransfer di komputer client disimpan dalam cache pada local disk. Cache disini mengandung ratusan file yang sering dipakai di dalam sebuah komputer.
Access Control
Dalam sistem file UNIX– hak akses diperiksa berdasarkan mode akses (read,write,execute) ketika membuka file
– identitas user diperiksa ketika login
Dalam sistem file terdistribusi
– hak akses harus diperiksa pada server
– RPC unprotected
– dimungkinkan melakukan pemalsuan identitas, tapi ini merupakan resiko keamanan
– user ID biasanya dikirim dengan setiap request
– stateless
Instalasi dan Konfigurasi NFS
NFS memungkinkan mesin *nix lain untuk mount share folder / file untuk langsung di gunakan. Sangat mudah untuk di setup di Linux.
Pada Linux Ubuntu, instalasi NFS dapat dilakukan menggunakan
# apt-get install nfs-common nfs-kernel-server
Bila kita ingin mengijinkan user di komputer kita men-share folder melalui jaringan, kita perlu juga menginstalasi NFS untuk user menggunakan perintah
# apt-get install nfs-user-server
Setelah NFS terinstall, kita dapat menstart NFS server menggunakan perintah
# /etc/init.d/nfs-kernel-server restart
Untuk melakukan double cek apakah NFS benar-benar berjalan, kita dapat mencek portmapper menggunakan perintah
# rpcinfo -p | grep nfs
hasilnya kira-kira adalah sebagai berikut
# rpcinfo -p | grep nfs
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
Selanjutnya kita perlu memberitahukan folder / directory mana yang akan di export menggunakan NFS server. Misalnya tambahkan data berikut ke file /etc/exports,
/var/backup 192.168.0.0/24(rw,sync)
/var/media 192.168.0.0/24(rw,sync)
/var/share 192.168.0.0/24(rw,sync)
Isi parameter di atas memberikan daftar folder / directory yang akan di share, termasuk mesin / network yang di ijinkan untuk mengakses, dan option bagaimana sharing tersebut bekerja. Option termasuk ijin read-write ke file / folder dan sync akan memaksakan agar proses dilakukan secara sinkron. Sync akan menjaga agar tidak ada korupsi data pada saat server reboot / mati pada saat file write, tentunya dengan sedikit pengorbanan performance di bandingkan jika kita menggunakan mekanisme async.
Selanjutnya kita perlu mengexprort file / folder share dari NFS servis mengunakan perintah,
# exportfs -av
exporting 192.168.0.0/24:/var/backup
exporting 192.168.0.0/24:/var/media
exporting 192.168.0.0/24:/var/share
Selanjutnya kita perlu me-mount file yang di share tersebut di masing-masing mesin client. Jika mesin server nama-nya fileserv, maka kita perlu menambahkan kalimat-kalimat berikut di file /etc/fstab
# Device mountpoint fs-type options dump fsckorder
fileserv:/var/backup /var/backup nfs defaults 0 0
fileserv:/var/media /var/media nfs defaults 0 0
fileserv:/var/share /var/share nfs defaults 0 0
Selanjutnya kita perlu membuat folder tempat mount dari folder yang di share tersebut. Hal ini dapat dilakukan menggunakan perintah,
# mkdir /var/backup /var/media /var/share
# mount /var/backup /var/media /var/share
Sekarang semua mesin di jaringan akan mempunyai akses ke file server secara reliable menggunakan NFS. Sayangnya mesin ini harus Linux, NFS tidak bisa berjalan dengan baik di Windows.
KONFIGURASI NFS PADA SERVER
1. Instalasi nfs server dengan perintah
# apt-get install nfs-kernel-server nfs-common portma
2. Konfigurai nfs server, tentukan lokasi berkas yang diakses oleh client yang diijinkan oleh server, contohnya directory “/home” dan “/var/nfs”, directory “/var/nfs harus dibuat dan di ubah hak aksesnya dengan perintah :
#mkdir /var/nfs (membuat directory “/var/nfs”
#chown nobody:nogroup /var/nfs (mengubah kepemilikan dan nogroup)
3. Selanjutnya konfigurasi “/etc/exports” dimana directory “export” nfs jadi tempat untuk share Perintah yang digunakan adalah :
#man 5 exports (mencari tempat konfigurasi nfs)
#nano /etc/exports (untuk menconfigurasi), tambahkan pada baris paling bawah nomor ip client seperti berikuti ini :
/home 10.20.30.254(rw,sync,no_root_squash,no_subtree_check)
/var/nfs 10.20.30.254(rw,sync,no_subtree_check)
4. Jalankan dengan perintah :
#/etc/init.d/nfs-kernel-server star
#/etc/init.d/nfs-common start
5. Uji dengan perintah
#exports –a, hasilnya adalah :
/var/nfs 10.20.30.254
/home 10.20.30.254
KONFIGURASI NFS CLIENT
1.Instalasi nfs client dengan perintah
#apt-get install nfs-common portmap
2. Buat directory home untuk di share nfs
# mkdir –p /mnt/nfs/home
3. Buat directory nfs, dengan perintah
#mkdir –p /mnt/nfs/var/nfs
4. Mount ke nfs server dengan perintah :
#mo unt 10.20.30.1:home /mnt/nfs/home
#mount 10.20.30.1:/var/nfs /mnt/nfs/var/nfs
5. Lakukan pemeriksaan atas sharing nfs, dengan perintah :
#df –h
6. Buat file yang akan di share, dengan perintah :
#touch /mnt/nfs/home/test.txt
#touch /mnt/nfs/var/nfs/test.txt
7. Periksa directory home pada server :
# ls -1 /home (apakah file test.txt sudah ada)
8. Periksa directory /var/nfs pada server dengan perintah
# ls -1 /var/nfs (apakah fie test.txt sudah ada)
Supaya secara otomatis mount pada saat clint boot digunakan perintah
#nano /etc/fstab, tambahkan script berikut :
10.20.30.1:/home /mnt/nfs/home nfs rw,sync,hard,intr 0 0
10.20.30.1:/var/nfs /mnt/nfs/var/nfs nfs rw,sync,hard,intr 0 0
Lebih lengkap..


