File Sistem Terdistribusi ( Distributed File System , disingkat) adalah file sistem yang mendukung sharing files dan resources dalam bentuk penyimpanan persistent di sebuah network.
Sebuah file server menyediakan file service ke client. Dari sisi client terdapat interface untuk file service dalam hal operasi primitif file, seperti membuat file (create), menghapus (delete) dan read / write file.
Layanan File Terdistribusi
1. Layanan Dasar
· Tempat penyimpanan tetap untuk data dan program
· Operasi terhadap file (create, open, read,…)
· Multiple remote clients (dalam intranet)
· File sharing
· Menggunakan semantic one-copy update umum, melalui RPC
2. Perkembangan baru
· Persistent object stores (storage of objects)
3. Persistent Java, Corba, …
· Replikasi, caching keseluruhan file
· Multimedia terdistribusi (contoh: file server Tiger video)
Keperluan sistem file terdistribusi
a) Transpansi
File service biasanya merupakan service yang harus di‐load paling berat dalam sebuah intranet, sehingga fungsionalitas dan performance‐nya sangat penting.
· Transparansi akses
· Transparansi lokasi
· Transparansi mobilitas
· Transparansi performance
· Transparansi pengukuran
b) Update file konkuren
Perubahan pada sebuah file oleh seorang klien seharusnya tidak menganggu operasi dari klien lain yang pada saat bersamaan mengakses atau mengubah file yang sama.
c) Replikasi file
Beberapa file service mendukung penuh replikasi, tetapi kebanyakan mendukung caching file atau portion file secara lokal, bentuk replikasi yang terbatas.
d) Ke‐heterogen‐an sistem operasi dan hardware
Antarmuka service sebaiknya didefinisikan sehingga software klien dan server dapat diimplementasikan untuk sistem operasi dan komputer yang berbeda.
e) Toleransi kesalahan
Server bisa menjadi stateless, sehingga dapat di‐restart dan service di‐restore kembali setelah mengalami failure tanpa perlu me‐recover state sebelumnya.
f) Konsistensi
Ketika file‐file direplikasi atau di‐cache pada site yang berbeda, ada delay yang tak bisa dihindari pada propagasi modifikasi dari satu site ke set lain yang membawa copy, dan ini bisa menghasilkan beberapa deviasi dari one‐copy semantic.
g) Keamanan
Secara virtual, semua sistem file menyediakan mekanisme kontrol akses berdasarkan kegunaan dari daftar kontrol akses.
h) Efisiensi
File service terdistribusi sebaiknya menawarkan fasilitas yang paling tidak, sama bagusnya dengan yang ditemukan pada sistem file konvensional, dan sebaiknya mendapat level performance yang dapat diperhitungkan.
Opsi Perancangan Layanan File
1. Stateful
· server menyimpan informasi tentang file yang open, posisi sekarang(current position) dan file locks
· open (dibuka) sebelum access dan kemudian ditutup
· performa yang lebih baik – pesan yang lebih pendek, dimungkinkanuntuk read-ahead
· server failure
· kehilangan state
· client failure - tables fill up
· menyediakan file locks
2. Stateless
· server tidak menyimpan state informasi
· file operations idempotent, harus mengandung semua yangdiperlukan (longer message)
· perancangan file server yang lebih simpel
· dapat dengan mudah di-recovery apabila client ataupun server crash
· locking membutuhkan extra lock server untuk mempertahankan
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 antarmuka pemrograman aplikasi tunggal yang bisa digunakan oleh program tingkat pengguna di komputer klien.
· Antarmuka layanan file flat
Merupakan antarmuka RPC yang digunakan oleh modul klien. Tidak digunakan secara langsung oleh program tingkat pengguna.