File Sistem Terdistribusi ( Distributed File System
, disingkat) adalah file sistem yang mendukung sharing files dan resources
dalam bentuk penyimpanan persistent di sebuah network. File server pertama kali
didevelop 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).
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. Komponen perangkat keras utama yang mana file server mengontrolnya adalah sebuah local storage (umumnya disk drive / HDD). Ditempat itulah file-file tersimpan dan dari tempat tersebut request client meretrive file. Pada DFS client, server dan juga perangkat penyimpanan merupakan mesin terpisah dalam sebuah lingkungan terdistribusi (Intranet).
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.
o Transparansi akses
o Transparansi lokasi
o Transparansi mobilitas
o Transparansi performance
o 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.
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. Komponen perangkat keras utama yang mana file server mengontrolnya adalah sebuah local storage (umumnya disk drive / HDD). Ditempat itulah file-file tersimpan dan dari tempat tersebut request client meretrive file. Pada DFS client, server dan juga perangkat penyimpanan merupakan mesin terpisah dalam sebuah lingkungan terdistribusi (Intranet).
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.
o Transparansi akses
o Transparansi lokasi
o Transparansi mobilitas
o Transparansi performance
o 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.
Keuntungan SistemTerdistribusi
- Resource sharing
Suatu komputer bisa mengakses sumber
daya yang ada dikomputer lain. Misalkan, komputer A bisa mengakses databaseyang
ada di komputer B. Sebaliknya, komputer B bisa mencetak dokumen dengan
menggunakan printer yang terpasang dikomputer A.
- Computation
speedup
Jika suatu proses komputasi bisa
dipecah-pecah menjadi sejumlah bagian yang berjalan secara konkuren, dalam
sistem terdistribusi bagian-bagian komputasi ini bisa terbagi dalam komputer-komputer
yang ada. Inilah yang menimbulkan adanya speedup.Lebih jauh lagi, bisa terjadi
load sharing, yaitu jika suatu komputer mengerjakan tugas terlalu banyak,
sebagian dari tugasnya itu bisadialihkan ke komputer lain.
- Reliability
Jika satu komputer mengalami
kegagalan, maka secarakeseluruhan sistem masih tetap dapat berjalan.
Contoh
: jika sistem terdiri atas
komputer-komputer yang tersusunsecara independen, kegagalan salah satu komputer
seharusnyatidak mempengaruhi keseluruhan sistem. Tapi jika sistem terdiriatas
komputer-komputer yang mengatur tugas spesifik sepertiterminal I/O atau
filesystem, maka kerusakan satu komputer saja bisa menyebabkan keseluruhan
sistem mati. Tentunya, perlumekanisme untuk mendeteksi kegagalan seperti ini,
sehingga jikaada komputer yang rusak, sumber daya yang ada padanya
tidak digunakan dan sebagai gantinya komputer yang lain bisamenangani itu.
- Communication
Karena satu komputer terhubung
dengan komputer-komputer lainya, sangat dimungkinkan terjadi pertukaran
informasi.Dengan adanya message passing, fungsi fungsi yang ada disuatu
komputer misal file transfer, login, web browsing, bisadiperluas dalam sistem
terdistribusi. Ini menyebabkan fungsi-fungsi ini bisa diakses secara jarak
jauh. Misalnya, sejumlahorang yang terlibat dalam satu proyek, walaupun
terpisah secarageografis, tetap bisa berkolaborasi dalam proyek itu. Dalamdunia
industri, terjadi downsizing Downsizing
adalah mengganti mainframe dengan komputer atau workstation yang
terhubung via jaringan. Dengan itu, mereka bisa mendapatkanfungsionalitas yang
sesuai dengan biaya, kemudahan mengatur sumber daya, kemudahan
maintenance/perawatan, dan lain-lain .
Kelemahan SistemTerdistribusi
- Jika tidak direncanakan dengan
tepat, sistem terdistribusi bisamenurunkan proses komputasi, misalnya jika
kegagalan salah satukomputer mempengaruhi komputer-komputer yang lain.
- Troubleshooting menjadi lebih rumit,
karena bisa memerlukankoneksi ke komputer lain yang terhubung secara remote,
ataumenganalisis komunikasi antar komputer.
- Tidak semua proses komputasi cocok
untuk dilakukan dalamsistem terdistribusi, karena besarnya keperluan komunikasi
dansinkronisasi antar komputer. Jika bandwith, latency , atau
kebutuhankomunikasi terlalu besar, maka performanya bisa menjadi
lebih jelek daripada sistem yang tidak terdistribusi sama sekali.
Karena itu, lebih baik komputasi dilakukan di sistem yang
tidak terdistribusi
Sumber :