Anda di halaman 1dari 23

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 intranet. Layanan File Terdistribusi :
Layanan Dasar

yang

berjalan

pada

komputer

remote.

File

sistem

terdistribusi

juga

menyediakan hal-hal pokok untuk pengorganisasian komputer yang berbasiskan jaringan

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 komputerkomputer dalam suatu jaringan.

Dimulai dengan pembahasan mengenai sistem storage terdistribusi dan nonterdistribusi. 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 filelocking 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 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 perangkat keras. Misalnya suatu hard disk dengan bergantung pada spesifikasi dari file yang masing-masingnya menyimpan data-data yang

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 file Membuat timestamp 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 kompleksitas adanya dan menyadari 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 filefile direplikasi atau dicache 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 onecopy 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 (clients 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: Wholefile 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). Wholefile 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 client diterapkan pada copian tersebut. komputer

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