[Makalah] File Service pada Sistem Terdistribusi
July 30, 2017 | Author: headwearstuffs | Category: N/A
Short Description
File Service pada Sistem Terdistribusi...
Description
FILE SERVICE Pendahuluan Distributed File System (File Sistem Terdistribusi) disingkat DFS 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). Jadi, aktifitas layanan (service) dibawa melewati jaringan (network), jadi selain sistem memiliki satu data terpusat, sistem memiliki beberapa perangkat penyimpanan independent. Konfigurasi konkret dan juga implementasi dari sebuah DFS dapat beragam bentuknya. Dalam beberapa konfigurasi, server berjalan sebagai dedicated machine (layanan terpusat) atau juga menjadi server dan client. DFS dapat diimplementasikan sebagai bagian dari Sistem Operasi Terdistribusi
dengan sebuah layer software yang tugasnya mengatur
komunikasi antara sistem operasi konvensional dan file system. Parameter untuk mancapai DFS adalah transparansi. Secara ideal, DFS terlihat sebagai bentuk file system terpusat, faktor keseragaman (multiplicity) dan penyebaran server serta perangkat penyimpanan tidak terlihat oleh user. Oleh karena itu interface client yang digunakan program tidak akan membedakan antara file local dan remote. Semuanya tergantung dari implementator DFS untuk mengalokasikan file-file dan menyusun transportasi data. Kelebihan lain dari DFS adalah peningkatan performa. Yang menjadi tolak ukur pengukuran performa DFS adalah waktu yang dibutuhkan untuk merespon request layanan.
Saling berbagi media penyimpanan informasi sudah menjadi sesuatu hal yang penting dalam resource sharing. Desain service file terdistribusi yang baik adalah menyediakan akses distribusi file dengan performansi dan realibilitas yang sama atau lebih baik dari penyimpanan file-file dalam disk local dalam bentuk transparent. Desain skala besar dari proses sistem penyimpanan baca tulis file pada wide area menimbulkan masalah pada load balancing, reliabilitas, avaibility dan security. File sistem yang terdistribusi mengemulasikan fungsionalitas dari file sistem tak terdistribusi untuk program client
yang
berjalan
pada
komputer
remote.
File
sistem
terdistribusi
juga
menyediakan hal-hal pokok untuk pengorganisasian komputer yang berbasiskan jaringan intranet. Layanan File Terdistribusi : 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
Perkembangan baru •
Persistent object stores (storage of objects)
Persistent Java, Corba, … •
Replikasi, caching keseluruhan file
•
Multimedia terdistribusi (contoh: file server Tiger video)
Sistem file terdistribusi bertujuan untuk mencontoh fungsi dari sistem file non‐ terdistribusi pada program klien yang berjalan di komputer‐komputer dalam suatu jaringan.
Dimulai dengan pembahasan mengenai sistem storage terdistribusi dan non‐terdistribusi. Sistem file awalnya dikembangkan untuk sistem komputer terpusat dan komputer desktop sebagai fasilitas sistem operasi yang menyediakan antarmuka pemrograman yang bagus dalam storage disk. Setelah itu, mereka menambahkan fasilitas seperti kontrol akses dan mekanisme file‐locking yang membuatnya menjadi lebih berguna dalam pengiriman data dan program. Sistem file terdistribusi mendukung pengiriman informasi dalam bentuk file dan sesumber hardware dalam bentuk storage lewat intranet. File service yang telah dirancang dengan baik menyediakan akses ke file yang disimpan pada server dengan performance yang sama atau bahkan lebih baik dari file yang disimpan pada local disk. Desainnya disesuaikan dengan performance dari jaringan lokal dan oleh karena itulah menjadi yang paling efektif dalam menyediakan pengiriman storage untuk digunakan di intranet.
Gambar Service Terdistribusi
File Service
File service adalah suatu perincian atau pelayanan dari file system yang ditawarkan pada komputer client. Suatu file server adalah implementasi dari file service dan berjalan pada satu atau lebih mesin. File itu sendiri berisi dari nama, data dan atribut file seperti kepemilikan file, ukuran, waktu pembuatan file dan hak akses file. File sistem merupakan mekanisme penyimpanan on-line serta untuk akses, baik data maupun program yang berada dalam sistem operasi. 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.
Atribut File File adalah kumpulan informasi berkait yang diberi nama dan direkam pada penyimpanan sekunder. Atribut file terdiri dari : 1. Nama Merupakan satu-satunya informasi yang tetap dalam bentuk yang bisa dibaca oleh manusia (human readable form) 2. Type Dibutuhkan untuk sistem yang mendukung beberapa tipe berbeda 3. Lokasi Merupakan pointer atau penunjuk ke device dan lokasi file pada device tersebut berada 4. Ukuran (Size) Ukuran file pada saat itu, baik dalam byte, huruf ataupun blok 5. Proteksi Informasi mengenai kontrol akses, misalnya siapa saja yang boleh membaca, menulis dan mengeksekusi file 6. Waktu, tanggal dan identifikasi pengguna Informasi ini biasanya disimpan untuk : •
Pembuatan file
•
Modifikasi terakhir yang dilakukan pada file
•
Penggunaan terakhir file
Atribut File Panjang filetimestamp Membuat Membaca timestamp Menulis timestamp Atribut timestamp Jumlah reference Pemili k Tipe file
Daftar kontrol akses
Karakteristik File System File system bertugas 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 untuk pengontrolan dari akses file, akses terbatas ke file oleh user yang berhak dan tipe-tipe dari akses yang diminta. Operasi pada file (=data + atribut) •
Create/delete
•
Query/modifikasi atribut
•
Open/close
•
Read/write
•
Akses kontrol
Organisasi penyimpanan •
Struktur direktori (hirarki, pathname)
•
Metadata (pengaturan informasi file) : atribut file, informasi struktur direktori, dll.
Struktur File System
Berikut ini merupakan struktur dari sistem file : •
Modul direktori : menghubungkan nama file dengan ID file
•
Modul File : menghubungkan ID dengan file tertentu
•
Modul Akses Kontrol : memeriksa permission utuk operasi yang diminta
•
Modul Akses File : read / write data file atau atribut
•
Modul Blok : akses dan alokasi blok disk
•
Modul Perangkat : disk I/O dan buffering
Kebutuhan sistem file terdistribusi Transparency Keseimbangan performansi
antara dalam
flesibilitas desainnya.
dan Client
skalabilitas tidak
terhadap
menyadari
kompleksitas adanya
dan
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 memberi tahu 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.
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. 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. Hardware dan Operating Systems Heterogenitas atau kesamaan adalah kebutuhan yang sangat penting dalam melayani
keterbukaan. Fault Tolerance Service harus terus menerus beroperasi walaupun terjadi kesalahan atau error pada client ataupun server Consistency 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. Security Semua sistem melayani mekanisme akses kontrol berbasiskan daftar akses kontrol (access control lists) Efficiency Sistem harus dapat melayani perbandingan performance apakah lebih baik atau tidak.
Komponen File Service File service memiliki komponen-komponen sebagai berikut : 1. File Service File service adalah suatu perincian atau pelayanan dari file system yang ditawarkan pada komputer client. Suatu file server adalah implementasi dari file service dan berjalan pada satu atau lebih mesin. File itu sendiri berisi dari nama, data dan atribut file seperti kepemilikan file, ukuran, waktu pembuatan file dan hak akses file. 2. Directory Service Directory service merupakan sebuah service yang digunakan untuk menghubungkan semua resource yang ada pada jaringan dan berperan semacam sebuah buku telpon raksasa. Directory service pada NT 4 mempunyai peran penting dalam mengatur proses logon dan administrasi security secara terpusat.
Pada generasi DS yang lebih lanjut, Microsoft memperkenalkan ADS yang disertakan bersama OS Windows 2000 server. ADS generasi kedua ini mempunyai kemampuan yang jauh lebih besar daripada pendahulunya. Selain itu Microsoft juga mempermudah administrasi dari ADS dengan menggunakan system hierarchical view dan multimaster. 3. Naming Service Suatu name service dapat menyimpan kumpulan satu atau lebih konteks penamaan yaitu sehimpunan keterkaitan antara nama dan atribut objek, seperti user, komputer, services, dan remote object. a.
Location independence : File dapat dipindahkan tanpa penggantian nama. Hal-hal yang umum untuk penamaan file dan direktori : 1. Mesin + nama path e.g / machine / path atau machine : path 2. Mounting File sistem secara remote kedalam hirarki local file 3. Single name space yang sama pada semua mesin
b. Dua level penamaan : Nama simbolik yang dilihat user dan nama binary yang dilihat oleh sistem.
Hal-hal yang dibutuhkan untuk standar penamaan Name Service : •
Penamaan unik yang standard
•
Konsistensi
•
Scalability
•
Performance dan Availability
•
Mudah menyesuaikan terhadap perubahan
•
Perlindungan kegagalan
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
•
Performa yang lebih baik – pesan yang lebih pendek, dimungkinkan untuk readahead
•
Server failure - kehilangan state
•
Client failure - tables fill up
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
•
Perancangan file server yang lebih simpel
Arsitektur File Service
Layanan Flat File (Flat file service) •
Beroperasi pada isi file
•
Unique File Identifier (UFID)
•
Penterjemahan dari UFIDs ke lokasi file
Layanan Directori (Directory Service)
•
Directory o Conventional file (client terhadap layanan flat file) o Memetakan text names ke ufids
•
Operasi o Memerlukan fileid, machine readable ufid sebagai parameter o Locate file (lookup) o Add/delete file (addname/unname) o Mencocokkan nama file terhadap ekspresi regular (getnames)
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
Layanan Flat file melalui RPC interface
•
Digunakan oleh modul client, bukan user programs o FileId (UFID) mendefinisikan file secara tunggal o Mengirim pesan invalid jika file tidak ada atau akses yang tidak wajar. o Read/Write; Create/Delete; Get/SetAttributes
•
No open/close (unlike UNIX) o Akses secara langsung dan segera dengan FileId o Read/Write mengidentifikasi saat dimulai
•
Meningkatkan fault-tolerance o Operations idempotent kecuali Create, dapat diulang (semantic atleast-once RPC) o Stateless service
Contoh Distributed File System
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). New developments : •
AFS, Andrew file system (CMU 1986) Whole-file serving (64kbytes), whole-file caching (pada local client disk, ratusan file yang baru digunakan)
•
NFS protocol (precise one-copy update semantics) Spritely NFS: memperluas open/close dengan state info yang disimpan di server, menambah server callbacks untuk memberitahu tentang cache entries
•
WebNFS (Program Internet dapat berinteraksi secara langsung ke NFS server, bypassing mount).
•
xFS (serverless network, file serving bertanggung jawab terhadap distribusi diantara LAN)
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. Ketidaktergantungan 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. Caching dalam NFS •
Indispensable untuk performance
•
Caching
o Menyimpan data yang baru saja dipakai (file pages, directories, file attributes) dalam cache o Updates data in cache untuk kecepatan o Ukuran block biasanya 8kbytes •
Server caching o Cache dalam server memory (UNIX kernel)
•
Client caching o Cache dalam client memory, local disk
Server caching •
Menyimpan data dalam server memory
•
Read-ahead: anticipate pages mana yang dibaca
•
Delayed write o Update dalam cache; menulis ke disk secara periodic (UNIX sync ke synchronise cache) atau ketika membutuhkan tempat. o Which contents seen by users depends on timing
•
Write through o Cache dan menulis ke disk (reliable, poor performance)
•
Write pada saat menutup o Menulis ke disk hanya ketika menerima commit (cepat tetapi bermasalah dengan files open untuk waktu yang lama).
Client caching
•
Berpotensi terhadap masalah konsistensi o Menmbulkan berbagai versi, bagian file, … karena proses menulis yang di-delay o Clients melakukan polling server untuk memeriksa apakah proses copy masih valid
•
Timestamp method o Tag untuk chek validasi terakhir dan waktu modifikasi terakhir, o Copy valid jike waktu secak check terkahir kurang dari freshness interval, atau waktu modifikasi pada modification time pada server yang sama. o Choose freshness interval secara adaptive, 3-30 sec untuk files, 30-60 second untuk directories o Untuk small freshness interval, berpotensi heavy load pada network
•
Reads o Perform validity check ketika cache entry digunakan o Jika tidak valid, request data dari server o Several optimisations untuk mengurangi traffic o Recent updates tidak sealalu visible
•
Writes o When page dimodifikasi, diberi tanda kotor (dirty) o Dirty pages flushed asynchronously, periodically (client’s synch) dan pada saat close
•
Not truly one-copy update semantics.
Protokol NFS
NFS umumnya menggunakan protokol Remote 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 remote dari server NFS, sementara server NFS mengekspor sistem 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: •
Mencari berkas di dalam direktori.
•
Membaca kumpulan direktori.
•
Memanipulasi link dan direktori.
•
Mengakses atribut berkas.
•
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) AFS menyediakan akses transparan ke remote shared file untuk program UNIX yang berjalan di workstation. Akses ke AFS file menggunakan file UNIX normal primitif, meng‐ enable program UNIX yang ada to aksesfile tanpa modifikasi atau rekompilasi. Perbedaan
mencolok
antara
NFS
dan
AFS
terletak
pada
desain
dan
implementasinya. AFS didesain dengan performa baik untuk jumlah penggunak aktif yang lebih besar daripada didtem file terdistribusi lainnya. AFS memiliki dua karakteristik desain yang luar biasa: •
Whole‐file serving : seluruh isi direktori dan file di transmisikan ke komputer client oleh server AFS. (di AFS3, file yang ukurannya lebih dari 64kbytes ditransfer dalam 64kbyte chunks).
•
Whole‐file caching : setiap kali copy dari sebuah file atau chunk telah ditransfer ke komputer client, maka akan disimpan di cache di local disk. Cache tersebut mengandung ratusan file yang telah digunakan oleh komputer tersebut dan bersifat permanen.
Skenario yang mengilustrasikan operasi AFS: •
Ketika proses user di komputer client menyetakan sebuah open sistem call pada sebuag file yang merupakan shared file dan tidak ada copy dari file tersebut pada local chace, server memuat dimana file diletakkan dan dikirim poermintaan untuk copy dari file tersebut
•
Copian tersebut disimpan di local UNIX file sistem pada komputer client.
•
Subsequent read, write dan operasi lainnya pada file oleh proses pada
komputer
client diterapkan pada copian tersebut. •
Ketika proses di komputer client menyatakan sebuah close system call, jika isi copian tersebut telah terupdate, maka akan dikirim kembali nke server. Server akan meng‐ update isi dan timestamp file. Dan kopian pada local disk akan tetap, mungkin saja akan digunakan lagi pada komputer tersebut.
Implementasi AFS mengimplementasikan 2 komponen software yang disebut Vice dan Venus. Vice adalah nama untuk software yang berjalan di server dan venus untuk yang berjalan di client. File yang tersedia bagi proses di workstation dapat berasal dari local maupun shared file. Local file di hendel sebagai normal UNIX file. File tersebut disimpan di disk worksstation dan hanya dapat digunakan oleh proses local. Shared file tersimpan di server dan copiannya dicache pada local disk workstation. Kernel UNIX ditiap workstation dan server adalah modifikasi dari BSD UNIX. Desain modifikasi ini untuk menangkap open, close dan file sistem call lainnya ketika merujuk pada shared file dan melewatkannya ke proses pada venus pda komputer client/worstation. Sebuah partisi pada local disk pada tiap workstation digunakan sebagai cache, yang memuat copian dari shared file. Venus akan mengatur penggunaan cache ini, membuang file yang paling tidak dibutuhkan bisa ada file yang akan diterima dari server sedangkan cache sudah full. Implementasi dari file sistem call pada AFS
Daftar Pustaka
http://heniagustina.blogspot.com/2012/04/normal-0-false-false-false-en-us-xnone.html http://te.ugm.ac.id/~risanuri/distributed/ringk/bab08.pdf
http://arfriandi.net/wp-content/uploads/2012/12/5_File-Service.pdf http://erwin-sunarya.blogspot.com/2012/04/file-service-terdistribusi.html
View more...
Comments