Distributed File Systems

Distributed File Systems

Distributed File Systems

Sistem berkas terdistribusi adalah sebuah sistem di mana banyak pengguna dapat berbagi berkas dan sumber daya penyimpanan. Client , server, dan media penyimpanan dalam sistem terdistribusi tersebar ada perangkat-perangkat yang terdapat dalam sistem terdistribusi. Service dijalankan melalui jaringan. Konfigurasi dan implementasi dari sistem berkas terdistribusi bervariasi dari sistem yang satu ke sistem yang lain. Idealnya, sistem berkas terdistribusi tampil di depan pengguna atau client sebagai sistem berkas yang konvensional dan terpusat.

Di mana keberagaman atau multiplisitas perangkat dibuat tidak tampak sehingga client interface dalam sistem berkas terdistribusi tidak dibedakan antara local file dan remote file. Sistem berkas terdistribusi yang transparan juga akan memfasilitasi mobilitas pengguna dengan membawa lingkungan pengguna, yang dimaksudkan adalah home directory, ke mana saja pengguna itu login.

Dalam  sistem  berkas  konvensional  dan  terpusat,  waktu  yang diperlukan  untuk  memenuhi  permintaan  adalah  waktu  akses  disk  dan sedikit  waktu  untuk  CPU processing. 
Sedangkan  dalam  sistem  berkas terdistribusi,  waktu  yang  diperlukan  untuk  memenuhi  permintaan meningkat  akibat remote  access yang  menambah  waktu  pengiriman permintaan ke server dan waktu penerimaan respon oleh client. Selain itu, dalam transfer informasi, ada tambahan waktu untuk menjalankan software untuk protokol komunikasi.

Dalam pengaksesan remote file atau remote file access (RFA) di dalam sistem berkas terdistribusi terdapat dua metode:

  1. Dengan remote service :  Permintaan akses data dikirimkan ke server. Server melakukan                     akses ke data dan hasilnya di-forward kembali ke client.
  2. Dengan Caching :
  • Bila data yang dibutuhkan belum disimpan di cache maka salinan data akan dibawakan dari server ke client.
  • Idenya adalah untuk menahan data yang baru saja diakses di cache sehingga akses yang berulang ke informasi yang sama dapat ditangani secara lokal.
  •  Dengan demikian, dapat mengurangi network traffic. Namun, masalah yang timbul adalah mengenai konsistensi cache, di mana seharusnya salinan cache tetap konsisten dengan file masternya.
  •  Dalam sistem berkas terdistribusi, replikasi berkas pada perangkat yang berbeda adalah redundansi yang berguna untuk meningkatkan availibilitas atau ketersediaan.
  • Syarat mendasar untuk  replikasi  berkas  adalah  replika  dari berkas  yang  sama terletak   pada   perangkat yang Failure- independent sehingga ketersediaan satu replika tidak dipengaruhi  oleh ketersediaan replika yang lain. Masalah utama dalam replikasi adalah updating.
  • Proses update pada satu replika harus dilakukan juga pada replika yang lain.


FILE
File adalah kumpulan informasi yang berhubungan dan tersimpan dalam secondary storage. Tipe-tipe file :

- Data (character, numeric, binary)
- Program

Atribut File : 
  1. Nama yaitu menentukan nama file yang dimaksud
  2. Tipe
  3. Lokasi, yaitu merupakan pointer atau penunjuk ke device dan lokasi file pada device tersebut berada
  4. Ukuran, yaitu ukuran file pada saat itu, baik dalam byte, huruf ataupun blok
  5. Waktu pembuatan dan identitas pembuat, yaitu menentukan kapan file terakhir di modifikasi.
  6. Proteksi, berisi informasi mengenai kontrol akses, misalnya siapa saja yang boleh membaca, menulis dan mengeksekusi file.
  7. Informasi lain tentang file.
  8. Informasi ini biasanya disimpan untuk :
  •  Pembuatan file
  •  Modifikasi terakhir yang dilakukan pada file
  •  Penggunaan terakhir file

ATRIBUT FILE

Distributed File Systems, sistem terdistribusi


Struktur file 

Distributed File Systems, sistem terdistribusi


Operasi pada File
  • Create 
  • Write
  • Read
  • Menghapus
  • Reposition dalam file
  • Menghapus dengan menyisakan atribut ( Truncate )

Contoh Tipe File

Distributed File Systems, sistem terdistribusi


Layanan File (File Service)
File Service adalah suatu perincian atau pelayanan dari file sistem yang ditawarkan pada komputer client.

File System

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 :
  1. Kumpulan file yang masing-masingnya menyimpan data-data yang berhubungan
  2. 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 Systembertugas dalam organisasi, storage, retrieval (memperbaiki), penamaan, sharing, dan proteksi terhadap files.
  • File dikirim ke dalam 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 untukpengontrolan dari akses file, akses terbatas ke file oleh user yang berhak dan tipe-tipe dari akses yang diminta.


Struktur File System

Distributed File Systems, sistem terdistribusi


Pilihan Desain dalam File Service

Stateful
  • Server menyimpan informasi tentang file yang terbuka, dan posisi file sekarang (current position).
  • Open (dibuka) sebelum access dan kemudian ditutup.
  • Menyediakan file locks
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 ataupun server crash
  • Membutuhkan extra lock server untuk mempertahankan state

Arsitektur FileService 

Distributed File Systems, sistem terdistribusi


Layanan Flat File (Flat file service)
- Beroperasi pada isi file
- Unique File Identifier (UFID)

Layanan Directori (Directory Service)
- Menyediakan pemetaan antara nama sebagai teks ke UFIDs

Modul Client 
- Menyediakan aplikasi untuk mengakses layanan file jarak jauh secara transparan
- Menyimpan status (state): open files, positions
- Mengetahui lokasi jaringan dari flat file dan directory server

Contoh File System

1. NFS (Network FileSystem) :

Network File System (NFS) merupakan sebuah protokol yang dikembangkan oleh Sun Micro System 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.


Distributed File Systems, sistem terdistribusi

Tujuan dari NFS adalah untuk memungkinkan terjadinya pertukaran sistem berkas secaratransparan antara
mesin-mesin bebas tersebut. Hubungan yang terjadi di sini didasarkan pada hubungan client-server yang 
menggunakan perangkat lunak NFS server dan NFSclient yang berjalan diatas workstation.

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 yan g dibangun diatas protokol External Data Representation (XDR).

Jika misalnya terjadi sebuah pertukaran sistem berkas antara server danclient, maka pertukaran sistem berkas yang terjadi disini harus dipastikan hanya berpengaruh pada tingkat clientdan tidakmempengaruhi 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 protokolRemote 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 remotedari server NFS, sementara server NFS mengekspor sistem berkas lokal kepadaclient.
  • 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:
  1. Mencari berkas di dalam direktori.
  2. Membaca kumpulan direktori.
  3. Memanipulasi link dan direktori.
  4. Mengakses atribut berkas.
  5. 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
  • 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)


2. 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 activeusers yang besar terletak pada kemampuan caching seluruh files pada client node.

Karakter AFS
AFS mempunyai dua karakter desain yang unik :
  1. Whole file serving : Seluruh konten dari direktori dan file dikirim kepada komputer clientoleh AFS servers (di AFS3, file yang ukurannya lebih dari 64kbytes ditransfer dalam 64kbyte chunks).
  2. 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 fileUNIX hak akses diperiksa berdasarkan mode akses (Read, Write,execute) ketika membuka file dan 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


Layanan Direktori
Tugas utama dari layanan direktori adalah memetakan nama teks ke UFIDs


Distributed File Systems, sistem terdistribusi