File adalah kumpulan informasi
yang berhubungan dan tersimpan dalam secondary storage. File Sistem
Terdistribusi ( Distributed File System, disingkat) adalah file sistem yang
mendukung sharing files dan resources dalambentukpenyimpanan persistent di
sebuah network. File server pertama kali di develop pada tahun 1970 dan Sun NFS
(Network File System) menjadi DFS pertama yang banyak digunakan setelah awal
pemunculannya di tahun 1985. DFS yang terkenal selain NFS adalah AFS (Andrew
File System) dan CIFS (Common Internet File System).
File service adalah
suatu perincian atau pelayanan dari file sistem yang ditawarkan pada komputer
client. File System merupakan struktur logika yang digunakan untuk
mengendalikan akses terhadap data yang ada pada disk. File System menyediakan
mekanisme untuk penyimpanan data dan program yang dimiliki oleh sistem operasi
serta seluruh pengguna dari sistem computer.
File
System terdiri dari dua bagian:
·
Kumpulan file yang masing-masingnya menyimpan
data-data yang berhubungan
·
Struktur direktori yang mengorganisasi
dan menyediakan informasi mengenai seluruh file dalam system
Masing-masing
Sistem Operasi menggunakan cara yang berbeda dalam mengatur dan mengendalikan akses
data dalam disk. Cara pengaturan dan pengendalian ini tidak bergantung pada spesifikasi
dari perangkat keras. Misalnya suatu hard disk dengan spesifikasi yang sama dapat
menggunakan file system yang berbeda. Struktur logika dari suatu hard disk
memiliki pengaruh yang besar terhadap kinerja, daya tahan, dan pengembangan dari
suatu disk. Penetepan file system dalam suatu disk dilakukan pada saat disk
tersebut di format.
File
System merupakan interface yang menghubungkan sistem operasi dengan disk.
Ketika program aplikasi yang sedang dijalankan memerlukan pembacaan file dari
hard disk, sistem operasi meminta file system untuk membuka file yang
diinginkan. File system harus mengetahui lokasi penyimpanan file yang dibaca.
Setelah menemukan lokasinya, file system membaca data yang ada dan mengirimkan data
tersebut pada sistem operasi.
Karakteristik
File System
File
system bertugas dalam organisasi, storage, retrieval (memperbaiki),
penamaan,sharing, dan proteksi terhadap files. File dikirim kedalam disk atau
non-volatile storage media lainnya. File meliputi data dan atribut. File system
didesain untuk menyimpan dan mengatur banyak dan besar file dengan fasilitas untuk
membuat, memberi nama dan menghapus file. File system juga bertanggung jawab untuk
pengontrolan dari akses file, akses terbatas ke file oleh user yang berhak dan tipe-tipe
dari akses yang diminta.
Struktur
File System
§ Modul
direktori : menghubungkan nama
file dengan ID file
§ Modul
File : menghubungkan ID
dengan file tertentu
§ Modul
Akses Kontrol : memeriksa permission
utukoperasi yang diminta
§ Modul
Akses File : read / write data file
atau atribut
§ Modul
Blok : aksesdanalokasiblok
disk
§ Modul
Perangkat : disk I/O dan buffering
Kebutuhan
File System Terdistribusi
1. Transparency
Keseimbangan
antara flesibilitas dan skala bilitas terhadap kompleksitas dan performansi dalam
desainnya. Client tidak menyadari adanya lingkungan terdistribusi. Transparency
dalam File System Terdistribusi:
·
Access Transparency
Suatu client tidak mengetahui
bahwa file-file di distribusikan dan dapat mengaksesnya dengan cara yang sama seperti
file lokal yang diakses.
·
Location Transparency
Suatu nama konsisten mencakup
lokal seperti halnya file yang jauh. Nama dari suatu file tidak memberitahu lokasinya.
·
Concurrency Transparency
Semua client mempunyai pandangan
yang sama dari suatu status file sistem. Ini berarti bahwa jika satu proses
sedang memodifikasi suatu file,proses lain yang berada pada suatu sistem yang
sedang mengakses file tersebut akan dapat melihat modifikasi tersebut di dalam suatu
cara yang jelas.
·
Failure Transparency
Suatu client dan client
program perlu beroperasi dengan tepat setelah adanya suatu kegagalan server.
·
Heterogenity
File service harus dapat
menyediakan layanan walaupun berbeda hardware dan operating system platform.
·
Scalability
Suatu file sistem harus
dapat bekerja dengan baik di dalam lingkungan yang kecil dan juga dapat bekerja
dalam skala yang besar.
·
Replication Transparency
Untuk mendukung skalabilitas,
kita mungkin dapat membuat tiruan suatu file menyebrangi beberapa server.
·
Migration Transparency
Suatu file harus dapat berpindah
tanpa sepengetahuan clientnya.
2. Concurrent
File Updates
Perbaruan
file serentak bersamaan antara file server dan client. Kebanyakan arah sistem mengikuti
standar UNIX dalam memberikan pelayanan advisory atau mendatory file atau
record file level locking.
3. File
Replication
Replikasi
dapat untuk share load, untuk mempertinggi fault tolerance, dan untuk mempertinggi
scalability. Kebanyakan sistem yang ada dapat melayani caching dengan
replication terbatas.Sebagian dapat melayani full replication.
4. Hardware
dan Operating Systems
Heterogenitas
atau kesamaan adalah kebutuhan yang sangat penting dalam melayani keterbukaan.
5. Fault
Tolerance
Service
harus terus menerus beroperasi walaupun terjadi kesalahan atau error pada client
atau pun server
6. Security
Semua
sistem melayani mekanisme akses kontrol berbasiskan daftar akses control
(access control lists).
7. Efficiency
Sistem
harus dapat melayani perbandingan performance apakah lebih baik atau tidak.
Pilihan
Desain dalam File Service
1. Stateful
·
Server menyimpan informasi tentang file
yang terbuka, dan posisi file sekarang (current position).
·
Open (dibuka) sebelum access dan kemudian
ditutup
·
Menyediakan file locks
2. Stateless
· Server
tidak menyimpan state informasi
· Operasi
file harus mengandung semua yang diperlukan (memuat pesan yang lengkap).
· Dapat
dengan mudah di-recovery apabila terjadi client atau pun server crach
· Membutuhkan
extra lock server untuk mempertahankan state
File
Service Architecture
Pembagian
tanggung jawab antar modul didefinisikan sebagai berikut ini :
·
Layanan file flat
Layanan
file flat berkonsentrasi pada pengimplementasian operasi dari konten suatu file.
·
Layanan direktori
Layanan
direktori menyediakan pemetaan antara nama teks untuk file dan UFID‐nya
·
Modul klien
Modul
klien berjalan pada tiap komputer klien, mengintegrasi dan meng‐extend operasi. Dari layanan
file flat dan layanan direktori dibawah antar muka pemrograman aplikasi tunggal
yang bisa digunakan oleh program tingkat pengguna di komputer klien.
·
Antar muka layanan file flat
Merupakan
antar muka RPC yang digunakan oleh modul klien. Tidak digunakan secara langsung
oleh program tingkat pengguna.
Contoh
File System
·
NFS (Network File System)
Network
File System (NFS) merupakan sebuah protokol yang dikembangkan oleh Sun Microsystem
pada tahun 1984 dan NFS didefinisikan dalam RFC 1094,1813 dan 3530 sebagai
“DFS” yang mengijikan sebuah komputer untuk mengakses file melalui network
serasa akses file di disk local. NFS merupakan protokol yang sangat mendukung dalam
pengaplikasian suatu file system yang terdistribusi.
Tujuan
dari NFS adalah untuk memungkinkan terjadinya pertukaran sistem berkas secara transparan
antara mesin-mesin bebas tersebut. Hubungan yang terjadi di sini didasarkan pada
hubungan client-server yang menggunakan perangkat lunak NFS server dan NFS
client yang berjalan diatas workstation.
NFS
didesain agar dapat beroperasi di lingkungan ataupun jaringan yang heterogen yang
meliputi mesin, platform, sistem operasi, dan arsitektur jaringan. Ketidak tergantungan
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 diatas
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 system 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 diantaranya ialah
§ 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
denganNFS.
Perbedaan
: Secara desain dan implementasi, AFS
berbeda dengan NFS, perbedaan utama, NFS didesain untuk dapat menangani active
users dengan jumlah yang lebih banyak dari pada 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 64 kbytes ditransfer dalam 64 kbyte
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
Referensi
:
·
http://erwin-sunarya.blogspot.com/2012/04/file-service-terdistribusi.html
·
http://cutegalzjelek.blogspot.com/2012/04/komponen-komponen-file-service.html
·
http://naeli.staff.gunadarma.ac.id/Downloads/files/8590/File+Service.pdf



