Rabu, 13 April 2011

Network File Manager

Sistem berkas jaringan (Inggris: network file system disingkat NFS) adalah sebuah kumpulan protokol yang digunakan untuk mengakses beberapa sistem berkas melalui jaringan. Spesifikasi NFS didefinisikan dalam RFC 1094, dan saat ini telah mencapai versi 3 yang didefinisikan dalam RFC 1813.
NFS merupakan sebuah sistem berkas terdistribusi yang dikembangkan oleh Sun Microsystems Inc. pada awal dekade 1980-an yang menjadi standar de facto dalam urusan sistem berkas terdistribusi. NFS didesain sedemikian rupa untuk mengizinkan pengeksporan sistem berkas terhadap jaringan yang heterogen (yang terdiri dari sistem-sistem operasi yang berbeda dan platform yang juga berbeda). Teknologi NFS ini dilisensikan kepada lebih dari 200 vendor komputer dan jaringan, dan telah dibuat implementasinya pada banyak platform dan sistem operasi, termasuk di antaranya adalah UNIX, GNU/Linux, Microsoft Windows, dan lingkungan mainframe.
NFS dapat mengizinkan klien-klien untuk menemukan dan mengakses berkas yang disimpan di dalam server jaringan jarak jauh. Memang, desain awal spesifikasi NFS dikhususkan untuk penggunaan dalam jaringan lokal (LAN) dan tidak dioptimalkan untuk penggunaan dalam WAN. Tapi, versi NFS 3 yang digunakan saat ini dapat digunakan dalam jaringan WAN, sebaik ketika ia bekerja di dalam LAN. Fitur-fitur yang dimiliki oleh NFS versi 3 adalah sebagai berikut:
§  Mendukung ukuran berkas hingga satuan Terabyte, dengan menggunakan indikator ukuran berkas hingga 64-bit (pada versi sebelumnya, hanya mengimplementasikan indikator ukuran berkas hingga 32-bit saja, sehingga total ukuran berkas maksimum adalah 4 gigabyte).
§  Ukuran maksimum paket data yang didukung adalah 64 Kilobyte (pada versi sebelumnya, hanya mencapai 8 KB untuk tiap paketnya, sehingga lebih lama dalam melakukan transfer data dari satu host ke host lainnya yang menjalankan NFS).
§  Dapat memilih apakah hendak menggunakan protokol lapisan transport UDP atau TCP (pada versi sebelumnya, NFS hanya menggunakan protokol lapisan transport UDP sehingga kurang bagus diimplementasikan dalam jaringan WAN)
§  Server dapat melakukan penge-cache-an terhadap request yang dilakukan oleh klien.
NFS menggunakan arsitektur protokol jaringan berlapis (layered protocol) yang dibuat berdasarkan model referensi jaringan OSI, seperti yang ditunjukkan dalam tabel berikut.
Lapisan OSI
Protokol NFS
Physical Layer
Apa saja (yang digunakan secara umum adalah Ethernet)
Data-link Layer
Apa saja (yang digunakan secara umum adalah Ethernet)
Network Layer
Transport Layer
Session Layer
Remote Procedure Call (RPC) Protocol
Presentation Layer
Application Layer
Network File System (NFS) dan Network Information System (NIS)
NFS diimplementasikan sebagai sebuah sistem client/server yang menggunakan perangkat lunak NFS server dan NFS client yang berjalan di atas workstation. NFS Server akan menggunakan protokol NFS untuk mengekspor sistem berkas yang dimilikinya kepada klien NFS agar dapat dibaca ole klien, seolah-olah sistem berkas remote tersebut merupakan sistem berkas yang dimiliki oleh klien secara lokal.
NFS umumnya menggunakan protokol Remote Procedure Call (RPC) yang berjalan di atas UDP dan membuka port UDP dengan port number 2049 untuk komunikasi antara klien dan server di dalam jaringan. Klien NFS selanjutnya akan mengimpor sistem berkas remote dari server NFS, sementara server NFS mengekspor sistem berkas lokal kepada klien. Mesin-mesin yang menjalankan perangkat lunak NFS server dapat saling berhubungan dengan perangkat lunak NFS server untuk membaca, menulis, memodifikasi, menghapus berkas dan direktori yang berada di dalam server dengan menggunakan request RPC seperti halnya READ, WRITE, CREATE, dan MKDIR. Berkas dan direktori remote akan seolah-olah terlihat sebagai berkas lokal bagi pengguna. Sebelum dapat mengakses berkas remote di dalam struktur direktori dalam sistem berkas UNIX dari dalam NFS Server, administrator harus melakukan mounting terlebih dahulu bagian dari sistem berkas UNIX lokal yang akan dibuat dapat diakses oleh klien dan menetapkan izin akses terhadap berkas atau direktori.
NFS umumnya digunakan dalam platform-platform UNIX, sementara Windows menggunakan protokol berbagi-berkas yang disebut sebagai Server Message Block (SMB), sehingga dua sistem tersebut aslinya tidak kompatibel satu sama lainnya. Agar dapat saling mendukung, dalam sistem UNIX harus diinstalasikan klien protokol SMB semacam SAMBA atau menginstalasikan klien protokol NFS dalam sistem operasi UNIX, yang dapat diperoleh dari beberapa vendor. Microsoft menyediakan Windows Services for Unix (SFU) yang dapat digunakan dalam sistem operasi Windows 2000 Server, dan Windows Server 2003 sebagai perangkat lunak klien protokol NFS, sehingga menjadikan sistem Windows dapat berinteroperasi dengan sistem NFS dalam sistem operasi UNIX. Selain SFU, beberapa vendor lainnya juga membuat implementasi NFS dalam platform Windows, seperti halnya NetManage dengan ChameleonNFS, Hummingbird International dengan NFS Maestro, dan masih banyak lainnya.

·         Konfigurasi pada server

Skenario

Dalam skenario ini kita akan menempelkan harddisk yang ada di linuxconfig.org (IP address 10.1.1.200) ke client IP address 10.1.1.100).

Persyaratan

Install NFS
apt-get install nfs-common nfs-kernel-server
Pastikan mesin kita mendukung NFS ketik
$ cat /proc/filesystems 
keluar
nodev     nfs
nodev     nfs4
nodev     nfsd

NFS daemon harusnya mendengerkan port 2049 dan portmap pada port 111. 
more /etc/services | grep 111
keluar
sunrpc                    111/tcp                   portmapper            # RPC 4.0 portmapper
sunrpc                    111/udp                 portmapper
more /etc/services | grep 2049
keluar
nfs                          2049/tcp                                # Network File System
nfs                          2049/udp                                              # Network File System

Cara lain untuk cek menggunakan
rpcinfo -p  
keluar
  program vers proto   port
   100000    2   tcp    111  portmapper
   100000    2   udp    111  portmapper
   100024    1   udp  56835  status
   100024    1   tcp  53408  status
   100021    1   udp  50903  nlockmgr
   100021    3   udp  50903  nlockmgr
   100021    4   udp  50903  nlockmgr
   100021    1   tcp  36404  nlockmgr
   100021    3   tcp  36404  nlockmgr
   100021    4   tcp  36404  nlockmgr
   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

Server /etc/exports file

Kita perlu mendefinisikan folder yang ingin di share
vi /etc/exports
misalnya
/home/nfs/ 10.1.1.100(rw,sync)  - /home/nfs utk IP 10.1.1.100 read, write permissions & synchronized mode
/home/nfs/ 10.1.1.0/24(ro,sync) - /home/nfs utk IP 10.1.1.0 netmask 255.255.255.0 read only permissions and synchronized mode
/home/nfs/ 10.1.1.100(rw,sync) 10.1.1.10(ro,sync)            export /home/nfs directory for host with IP 10.1.1.100 with read, write permissions, synchronized mode, and also export /home/nfs directory for hosts with IP 10.1.1.10 with read only permissions and synchronized mode
/home/nfs/ 10.1.1.100(rw,sync,no_root_squash)                export /home/nfs directory for host with IP 10.1.1.100 with read, write permissions, synchronized mode and the remote root user will be treated as a root and will be able to change any file and directory.
/home/nfs/ *(ro,sync)            export /home/nfs directory for any host with a read only permission and synchronized mode
/home/nfs/ *.linuxconfig.org(ro,sync)  export /home/nfs directory for any host within linuxconfig.org domain with a read only permission and synchronized mode
/home/nfs/ foobar(rw,sync)   export /home/nfs directory for hostname foobar with read, write permissions and synchronized mode
contoh
/home/backup *(ro,sync,subtree_check)
/home/backup/public *(rw,sync,subtree_check)
/home/library *(ro,sync,subtree_check)
/home/media *(ro,sync,subtree_check)

Restart NFS daemon

Setelah /etc/exports file di edit, kita dapat me-restart NFS daemon.
/etc/init.d/nfs-kernel-server restart 
Redhat users
/etc/init.d/nfs restart 
Jika ingin menambahkan NFS /etc/exports file, kita perlu mengedit & merestart kembali, atau menggunakan perintah
exportfs -ra 

·         Konfigurasi Client
Install paket
apt-get install nfs-common nfs-kernel-server
Cara mount
mount ip-address-server:/folder/share /folder/lokal
mount -t nfs ip-address-server:/folder/share /folder/lokal
mount.nfs ip-address-server:/folder/share /folder/lokal

contoh yang agak rumit

Ø  Asumsi Server NFS 192.168.0.1
Ø  Nama Folder /album /iso /media /library /backup /repository /public

mkdir /mnt/album
mkdir /mnt/iso
mkdir /mnt/media
mkdir /mnt/library
mkdir /mnt/backup
mkdir /mnt/repository
mkdir /mnt/public
mount -t nfs 192.168.0.1:/nfs/album /mnt/album
mount -t nfs 192.168.0.1:/nfs/iso /mnt/iso
mount -t nfs 192.168.0.1:/nfs/media /mnt/media
mount -t nfs 192.168.0.1:/nfs/library /mnt/library
mount -t nfs 192.168.0.1:/nfs/backup /mnt/backup
mount -t nfs 192.168.0.1:/nfs/repository /mnt/repository
mount -t nfs 192.168.0.1:/nfs/Public /mnt/public

Pranala Menarik

Ø  NFS: Mempersiapkan Ubuntu Untuk NFS
Ø  NFS: Konfigurasi Server
Ø  NFS: Konfigurasi Client
Ø  NFS: Penggunaan nfswatch

0 komentar: