Κατανεμημένα Συστήματα Αρχείων



Σχετικά έγγραφα
Κατανεµηµένασυστήµατα αρχείων

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο Κατανεµηµένα συστήµατα αρχείων. Μέρη κατανεµηµένου συστήµατος αρχείων

Κατανεμημένα Συστήματα με Java. Ενότητα # 14: Κατανεμημένα συστήματα αποθήκευσης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 4: Λογισμικό Συστήματος

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Εισαγωγή στα Λειτουργικά Συστήματα

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Κεφάλαιο 4. Λογισμικό Συστήματος

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

1ο Εργαστήριο Σύστημα Αρχείων

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

Εισαγωγή στα Λειτουργικά

Εισαγωγή στην Πληροφορική

Λιβανός Γιώργος Εξάμηνο 2017Β

Συστήματα Αρχείων (Σ.Α.)

Αποµακρυσµένη κλήση διαδικασιών

Share and Storage Management. Τεχνικός Δικτύων & Τηλεπικοινωνιών - Διαχείριση Δικτύων ΙΙ

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Κατανεμημένα/δικτυακά συστήματα αρχείων (Network File Systems) Κατανεμημένα Συστήματα 1


Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

Μετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Λειτουργικά Συστήματα (Λ/Σ)

Επικοινωνία Client/Server

Μάθημα 2 ο ΟΡΓΑΝΩΣΗ ΣΥΣΤΗΜΑΤΟΣ ΑΡΧΕΙΩΝ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

Εισαγωγή Middleware. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (Ε) Εισαγωγή: Θέματα S/W 1

Network Address Translation (NAT)

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα (Λ/Σ)

Εισαγωγή στην Πληροφορική

Θέματα διπλωματικών εργασιών σε. Συστοιχίες παράλληλης εξυηρέτησης εφαρμογών Διαδικτύου

Αρχιτεκτονική Υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Σύστηµα Αρχείων και Καταλόγων

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

ΠΑΓΚΑΛΟΣ ΙΩΑΝΝΗΣ ΣΙΣΜΑΝΗΣ ΝΙΚΟΣ. File Transfer Protocol

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

Οργάνωση Υπολογιστών (IΙI)

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Περιεχόμενα. Visio / White paper 1

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Connecto. Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Άγγελος Σφακιανάκης. Επιφάνεια Άμεσης Σύνδεσης

Προγραμματισμός Διαχείρισης Συστημάτων Ι

Κεφάλαιο 6ο ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ. Εισαγωγή

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Εισαγωγή στους Η/Υ. Ενότητα 5: Λειτουργικά Συστήματα ΙΙ. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Εγχειρίδιο Χρήσης Slide Recorder

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου.

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Δίκτυα Η/Υ στην Επιχείρηση

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. DICOM Επικοινωνία Γενικά

Αρχιτεκτονικές Συστημάτων

ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ Microsoft WINDOWS (95-98-NT-2000-XP)

Αρχιτεκτονική Υπολογιστών

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

Οργάνωση Υπολογιστών (ΙI)

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 3

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 9: MPLS

Transcript:

Λειτουργικά Συστήματα Ι Αριστείδης Ηλίας Κατανεμημένα Συστήματα Αρχείων

Αρχείο Αρχείο (File), οργανωμένη μονάδα δεδομένων αποθηκευμένων με μόνιμο και σταθερό τρόπο σε μέσα, όπως οι δίσκοι, κ.ά.

Ονοματοθεσία Ονοματοθεσία αρχείων Κανόνες Μέγεθος Προεκτάσεις ονομάτων Διαφοροποιήσεις μεταξύ των ΛΣ και κωδικοποιήσεων

Λειτουργίες Αρχείων Λειτουργίες Δημιουργία Διαγραφή Άνοιγμα Κλείσιμο Ανάγνωση Εγγραφή Προσθήκη Ιδιότητες (ορισμός και χειρισμός) Μετονομασία

Κατάλογοι Ιεραρχία καταλόγων Γονικός φάκελος (/ root folder) / bin etc home tmp usr stus2001 stud2002 bin etc username username

Διαδρομές (Paths) Απόλυτες Σχετικές / bin etc home tmp usr stud2001 stud2001 bin etc username X /usr/bin/ /home/stud/username

Εμφάνισης περιεχομένου Π.χ. ls- εμφανίζει τα ονόματα των αρχείων και των φακέλων Γενική σύνταξη ls <επιλογές> <διαδρομή_ή_όνομα_αρχείου>. (τελεία).. (δυο τελείες) ~ ls ls.. (ποια περιεχόμενα επιστρέφει) ls /usr ls home/ (σε ποιο φάκελο βρίσκεστε και τι υποδηλώνει η κάθετος στο τέλος του ορίσματος) ls tmp ls -al /usr/bin

Κατηγορίες Χρηστών Κάθε αρχείο ή φάκελος ανήκει σε ένα χρήστη-ιδιοκτήτη (owner). Ο ιδιοκτήτης ανήκει σε μια ομάδα χρηστών (group) Και υπάρχουν όλοι οι άλλοι χρήστες (others)

Δικαιώματα Διακρίνονται σε: Ανάγνωσης- Read, συντομογραφία r Εγγραφής- Write, συντομογραφία w Εκτέλεσης- Execute, συντομογραφία x Κάθε κατηγορία χρηστών χαρακτηρίζεται και από τις τρεις κατηγορίες δικαιωμάτων Κάθε αρχείο ή φάκελος έχει ένα σύνολο αδειών πρόσβασης (permissions) που καθορίζουν ποια δικαιώματα έχει και ποιος

Δικαιώματα Δικαίωμα Για αρχείο Για φάκελο r (read) w (write) x (execute) Ανάγνωση- Εκτύπωση Τροποποίηση- Διαγραφή Εκτέλεση για εκτελέσιμα αρχεία Τα περιεχόμενα μπορούν να εμφανισθούν, χωρίς να γίνεται αναζήτηση Προσθήκη- Αφαίρεση αρχεία εντός του φακέλου Δυνατότητα αναζήτησης περιεχομένου, ενώ μπορεί να γίνει τρέχον φάκελος εργασίας

Εμφάνιση Δικαιωμάτων Εμφάνιση πληροφοριών με την: ls l owner group OwnerGroupOthers -r-xr-xr-x 3 username students 12678 Jan 2 2008 myprogram.c drwxr-xr-x 5 username students 32515 Jan 8 2008 /public_html/ lrwxr-xr-x 5 username students 32515 Jan 8 2008 /public_html/ Object type (file, directory, symbolic link)

Σύστημα Αρχείων Το τμήμα του Λ.Σ. που ασχολείται με την οργάνωση, αποθήκευση, προσπέλαση, προστασία, διαμοιρασμό και ονοματοθεσία (ονομασία- naming) των αρχείων, αποτελεί το Συστήματα Αρχείων (File Systems)

Διάταξη Master Boot Record- MBR (Τομέας 0) Πίνακας Διαμερισμάτων Μπλοκ εκκίνησης Υπερμπλόκ (superblock), περιέχει πληροφορίες οι οποίες προσδιορίζουν: τον τύπο του ΣΑ τον αριθμό των μπλοκ στο ΣΑ στοιχεία διαχείρισης HDD Διαμερίσματα Δίσκου MBR Πίνακας Διαμερισμάτων Μπλοκ Εκκίνησης Υπερμπλόκ Διαχείριση Ελεύθερου Χώρου Κόμβος i Βασικός Κατάλογος Κόμβος i

Θέση των Δεδομένων στο Δίσκο Block Track/ Cylinder Α ρ χ ε ί ο Sector

Δέσμευση Χώρου για Αποθήκευση 512KB 512KB Αποθήκευση Αρχείου π.χ. Μέγεθος 2638KB σε Sectors π.χ. Μέγεθος 512KB

Δέσμευση Χώρου για Αποθήκευση 010101 0101010101 0101010101 0101010101 N blocks στο δίσκο size=512

Κατανομή Δεδομένων στο Δίσκο Superblock Type: ext3 Size: 15 Filetable: @2 Filetable File1: @ 3 File2: @ 7 File3: @10 File4: @11 File1 Blocks: 4 Time: 5/10/2011 Owner: user_x Data: 01010101 1010010101010 1010010101010 10100101... Data: 01010101 0101001010101 0101001010101 010100101... 010100101... File2 Blocks: 8,9,15 Time: 1/10/2011 Owner: user_y Data: 01010101 0101001010101 0101001010101 010100101... 010100101... File3 Blocks: 5 Time: 1/10/2011 Owner: user_z File4 Blocks: 12 Time: 1/10/2011 Owner: user_w Data: 01010101 0101001010101 0101001010101 010100101... 010100101... 010100101... 010100101...

Διαγραφή Δεδομένων από το Δίσκο Superblock Type: ext3 Size: 15 Filetable: @2 Filetable File1: @ 3 File3: @10 File4: @11 File1 Blocks: 4 Time: 5/10/2011 Owner: user_x Data: 01010101 1010010101010 1010010101010 10100101... Data: 01010101 0101001010101 0101001010101 010100101... 010100101... File2 Blocks: 8,9,15 Time: 1/10/2011 Owner: user_y Data: 01010101 0101001010101 0101001010101 010100101... 010100101... File3 Blocks: 5 Time: 1/10/2011 Owner: user_z File4 Blocks: 12 Time: 1/10/2011 Owner: user_w Data: 01010101 0101001010101 0101001010101 010100101... 010100101... 010100101... 010100101...

Προσθήκη Δεδομένων στο Δίσκο Superblock Type: ext3 Size: 15 Filetable: @2 Filetable File1: @ 3 File3: @10 File4: @11 File5: @6 File1 Blocks: 4 Time: 5/10/2011 Owner: user_x Data: 01010101 1010010101010 1010010101010 10100101... Data: 01010101 0101001010101 0101001010101 010100101... File5 Blocks: 7 Time: 1/10/2011 Owner: user_y Data: 01010101 0101001010101 0101001010101 010100101... Data: 01010101 0101001010101 0101001010101 010100101... 010100101... File3 Blocks: 5 Time: 1/10/2011 Owner: user_z File4 Blocks: 12 Time: 1/10/2011 Owner: user_w Data: 01010101 0101001010101 0101001010101 010100101... 010100101... 010100101... 010100101...

Ανάγνωση Αρχείων./a.out file (, όπου το file- /dev/disk) code.c:open(file); libc:open(file); sata- drv- >ext4- >kernel return(file); sys_open(file); kernel- >ext4- >sata- drv Σκληρός Δίσκος

Κατανεμημένα Συστήματα Ένα σύνολο αυτόνομων συστημάτων που εμφανίζεται στους χρήστες του σαν ένα ενιαίο σύστημα Σύστημα του οποίου τα συστατικά (υλικό και λογισμικό) βρίσκονται σε διασυνδεδεμένα συστήματα και επικοινωνούν μεταξύ τους με σκοπό να συντονίσουν τις λειτουργίες τους μέσω της ανταλλαγής μηνυμάτων

Κατανεμημένα Συστήματα Η διαμοίραση πόρων (resource sharing) είναι το βασικό κίνητρο για την κατασκευή των κατανεμημένων συστημάτων Οι πόροι μπορεί να αναφέρονται σε συστατικά υλικού, λογισμικού και πληροφοριών Υλικό Υπολογιστική ισχύς (CPU) Εφαρμογές Αποθηκευτικό χώρο Μέσα μετάδοσης Λογισμικό Δεδομένα

Εισαγωγή στα Κατανεμημένα Συστήματα Αρχείων Το σύστημα αρχείων αναπτύχθηκε αρχικά για κεντρικά (ή κεντρικοποιημένα) συστήματα υπολογιστών (εξυπηρετητές) και προσωπικούς υπολογιστές Το σύστημα αρχείων ήταν μια ευκολία του λειτουργικού συστήματος που παρέχει μια βολική προγραμματιζόμενη διεπαφή για την αποθήκευση στο δίσκο

Ορισμός Ένα κατανεμημένο σύστημα αρχείων (ΚΣΑ, Distributed File System- DFS) μπορεί να θεωρηθεί σαν ένα κλασικό μοντέλο συστήματος αρχείων που κατανέμονται σε πολλά μηχανήματα Σκοπός είναι να προωθηθεί ο καταμερισμός των διάσπαρτων αρχείων Αποτελεί μια περιοχή ενεργού ερευνητικού ενδιαφέροντος σήμερα

Πόροι Οι πόροι σε ένα σύστημα είναι τοπικοί για το ίδιο, ενώ για άλλα συστήματα θεωρούμε ότι είναι απομακρυσμένοι Ένα σύστημα αρχείων παρέχει μια υπηρεσία για τους πελάτες του Η διεπαφή ενός διακομιστή είναι ένα κλασικό σύνολο από λειτουργίες σε αρχεία, όπως η δημιουργία, η ανάγνωση, κ.λπ.

Μέσα και Περιπτώσεις Πελάτες, εξυπηρετητές και αποθηκευτικά μέσα είναι διασκορπισμένα σε διαφορετικές μηχανές Η διαμόρφωση και η υλοποίηση ποικίλει και μπορεί να διαφέρει κατά περίπτωση σε: Διακομιστές μπορούν να υλοποιούνται σε αφιερωμένες μηχανές, Εξυπηρετητές και πελάτες βρίσκονται στα ίδια μηχανήματα Το ίδιο το λειτουργικό σύστημα μπορεί να είναι κατανεμημένο (και το σύστημα αρχείων μπορεί να αποτελεί τμήμα της κατανομής) Ένα κατανεμημένο επίπεδο στρώμα μπορεί να παρεμβληθεί μεταξύ του ΛΣ και του συστήματος αρχείων

Γενική Αρχιτεκτονική

Ανάγκη Ύπαρξης Σκοπός για το σύστημα αρχείων είναι να μπορούν οι χρήστες και οι πελάτες να το αντιμετωπίσουν με τον ίδιο τρόπο που θα λειτουργεί σε ένα κλασικό σύστημα αρχείων Η ιδιότητα της κατανομής είναι κρυμμένη σε χαμηλότερο επίπεδο Η απόδοση ενός κατανεμημένου συστήματος αρχείων απασχολεί σε ότι αφορά τη διακίνηση και το χρόνο απόκρισης

Ονοματοθεσία Ονοματοθεσία αναφέρεται στην αντιστοίχιση μεταξύ λογικών και φυσικών αντικειμένων, δηλαδή ένα όνομα αρχείου αντιστοιχεί σε <κύλινδρο-τομέας> Σε ένα συμβατικό σύστημα αρχείων, αυτό είναι κατανοητό, που βρίσκεται το αρχείο στην πραγματικότητα, διότι το σύστημα και ο δίσκος είναι γνωστά Σε ένα διαφανές κατανεμημένο σύστημα αρχείων, η θέση ενός αρχείου, κάπου στο δίκτυο, είτε είναι κρυφή είτε δεν είναι τόσο φανερή

Αντιγραφή και Τοποθεσία Έτσι, η αντιγραφή αρχείων σημαίνει πολλαπλά αντίγραφα ενός αρχείου και μια αντιστοίχιση θα επιστρέφει ένα σύνολο θέσεων για τα αντίγραφα Διαφάνεια Τοποθεσίας Το όνομα του αρχείου δεν αποκαλύπτει κάποιο ίχνος της φυσικής τοποθεσίας αποθήκευσης του αρχείου Όνομα αρχείου εξακολουθεί να υποδηλώνει ένα συγκεκριμένο, αν και κρυμμένο, σύνολο από μπλοκ του φυσικού δίσκου Είναι ένας βολικός τρόπος για το διαμοιρασμό δεδομένων Μπορεί να εκθέσει την απόκριση μεταξύ των μονάδων του συστήματος και των μηχανών

Ανεξαρτησία Τοποθεσίας Ανεξαρτησία Τοποθεσίας Δυναμική, ένα-προς-πολλά αντιστοίχιση, το όνομα ενός αρχείου δεν πρέπει να αλλάζει, όταν προκύπτουν φυσικές αλλαγές τοποθεσία στο μέσο αποθήκευσης του αρχείου. Καλύτερο file abstraction, απόκρυψη των λεπτομερειών διαχείρισης και προσπέλασης των συσκευών αποθήκευσης Προωθεί την διαμοίραση του χώρου αποθήκευσης Διαχωρίζει την ιεραρχία ονομασίας από την ιεραρχία συσκευών αποθήκευσης

Δυνατότητες Τα περισσότερα Κατανεμημένα Συστήματα Αρχείων σήμερα: Υποστηρίζουν συστήματα διαφανούς τοποθεσίας ΔΕΝ υποστηρίζουν τη αυτόματη μετακίνηση ενός αρχείου από μηχανή σε μηχανή (migration) Τα αρχεία συνδέονται μόνιμα με συγκεκριμένα τμήματα του δίσκου

Ένα απλό ΚΣΑ Απομακρυσμένος Δίσκος (εγγραφές και αναγνώσεις προωθούνται στο διακομιστή) Χρησιμοποιεί το RPC για μετάφραση των κλήσεων συστήματος αρχείων Μη τοπικό caching (server-side) Πλεονέκτημα: Ο διακομιστής παρέχει πλήρη γνώση του συστήματος αρχείων για πολλαπλούς πελάτες Προβλήματα οι επιδόσεις από το δίκτυο που είναι πιο αργό από ότι συμβαίνει στην τοπική μνήμη Τα μέρη της κυκλοφορίας του δικτύου δεν είναι βέλτιστα Ο διακομιστής μπορεί να είναι οδηγηθεί σε συμφόρηση Read (RPC) Client Return (Data) Server cache Client

NFS Το Σύστημα Αρχείων Δικτύου (NFS) είναι ένα πρωτόκολλο κατανεμημένου συστήματος αρχείων που επιτρέπει στο χρήστη ενός συστήματος πελάτη-εξυπηρετητή να αποκτήσει πρόσβαση σε αρχεία πάνω από δίκτυο σαν να είναι τοπική η αποθήκευση τους Αναπτύχθηκε από τη SUN (1985) Περισσότερο δημοφιλές Πρότυπο IETF (RFC 1813) Όλες οι εκδόσεις του NFS μπορούν να χρησιμοποιούν το UDP τοπικά και το TCP σε ευρεία περιοχή πάνω από ένα IP δίκτυα

Αρχιτεκτονική του NFS Client computer Server computer UNIX system calls Application Application program program UNIX kernel UNIX kernel Operations on local files Virtual file system UNIX file system Other file system NFS client Operations on remote files Virtual file system NFS server UNIX file system NFS protocol (remote operations)

VFS File abstraction παρόμοιο με τοπικό σύστημα αρχείων Αντί του "inodes" έχει "vnodes" Συμβατό με μια ποικιλία από τοπικά και απομακρυσμένα συστήματα αρχείων Επιτρέπει τη χρήση της ίδιας διεπαφής κλήσεων συστήματος (API) από διαφορετικούς τύπους συστημάτων αρχείων Το API είναι πολύ σημαντικό για τη διασύνδεση στο VFS, από κάποιο συγκεκριμένο τύπο συστήματος αρχείων

Κρυφή Μνήμη στο NFS Κρυφή Μνήμη Το βασικό ζήτημα είναι, πώς να καθορίσει ότι τα δεδομένα στην πελάτη είναι συνεπή με αυτά του διακομιστή; Πελάτης- αρχική προσέγγιση Ο πελάτης ρωτά το διακομιστή, εάν τα αποθηκευμένα δεδομένα είναι σωστά. Όμως ποια πρέπει να είναι η συχνότητα των ερωτημάτων; Τι γίνεται με το άνοιγμα αρχείων; Είναι σε σταθερό χρονικό διάστημα;

Λειτουργίες Διαχείρισης Αρχείων Διακομιστής- αρχική προσέγγιση Οι Α και Β έχουν και οι δύο το ίδιο αρχείο ανοιχτό. Όταν ο ένας το κλείσει, ο Β "απορρίπτει" το αντίγραφο. Οπότε στη συνέχεια, ο Β πρέπει να ξεκινήσετε από την αρχή Ο διακομιστής επισημαίνει κάθε ανοιχτό αρχείο. Εάν ένα αρχείο ανοιχτεί για εγγραφή από κάποιον, τότε απενεργοποιείται η προσωρινή αποθήκευση από άλλους πελάτες για το συγκεκριμένο αρχείο Παίρνει δικαιώματα ανάγνωσης/εγγραφής για κάθε μπλοκ και στη συνέχεια, απενεργοποιεί την προσωρινή αποθήκευση μόνο για συγκεκριμένα τμήματα.

Προσωρινή Αποθήκευση vs Απομακρυσμένης Πολλές απομακρυσμένες προσπελάσεις μπορεί να αντιμετωπιστεί από την τοπική μνήμη cache Έτσι οι διακομιστές μπορούν να προσπελαστούν μόνο περιστασιακά και όχι για κάθε πρόσβαση Η προσωρινή αποθήκευση επιτρέπει τη μετακίνηση σε λίγα μεγάλα κομμάτια και όχι σε πολλά μικρότερα κομμάτια που οδηγεί σε σημαντική αποτελεσματικότητα για το δίκτυο Συνέπεια της κρυφής μνήμης είναι το κύριο πρόβλημα. Όταν υπάρχουν σπάνιες εγγραφές, τότε η κρυφή μνήμη έχει πλεονέκτημα Όμως σε περιβάλλοντα με πολλές εγγραφές, απαιτείται πολύς κόπος για να διατηρηθεί η συνέπεια της κρυφής μνήμης

Προσωρινή Αποθήκευση vs Απομακρυσμένης Προσωρινή αποθήκευση απαιτεί έναν ολόκληρο ξεχωριστό μηχανισμό για να στηρίξει την απόκτηση και αποθήκευση μεγάλων ποσοτήτων δεδομένων Η απομακρυσμένη αποθήκευση κάνει απλώς αυτό που απαιτείται σε κάθε κλήση. Ως εκ τούτου, η προσωρινή αποθήκευση εισάγει ένα επιπλέον επίπεδο και μηχανισμό και είναι πιο περίπλοκη από ότι η απομακρυσμένη

Stateful vs Stateless Stateful: Ένας διακομιστής παρακολουθεί τις πληροφορίες σχετικά με τα αιτήματα των πελατών, κατ απαίτηση Διατηρεί ποια αρχεία ανοίγονται από έναν πελάτη Αναγνωριστικά σύνδεσης Η μνήμη ενεργοποιείται όταν ο πελάτης κλείνει αρχείο ή όταν η σύνοδος του πελάτης παύει Stateless: Κάθε αίτημα του πελάτη παρέχει πλήρεις πληροφορίες που απαιτούνται από το διακομιστή (δηλαδή, το όνομα αρχείου, το offset, κ.ο.κ.) Ο διακομιστής μπορεί να διατηρήσει τις πληροφορίες για λογαριασμό του πελάτη, αλλά αυτό δεν είναι απαραίτητο. Χρήσιμο χαρακτηριστικό, είναι οι πληροφορίες για έναν αριθμό τελευταίων χρήσεων αρχείου

Stateful vs Stateless Η απόδοση είναι καλύτερη για το stateful. Δεν χρειάζεται να αναλύσει το όνομα του αρχείου σε κάθε αίτηση ή το άνοιγμα/κλείσιμο και μπορεί να έχει πριν μια κρυφή μνήμη ανάγνωσης Μεγάλη ανοχή σε σφάλματα: Ένας διακομιστής χάνει τα πάντα, όταν καταρρεύσει Ο διακομιστής πρέπει να ενημερώνεται από τους πελάτες του προκειμένου να ανανεώσει την κατάσταση του Συντριβές του πελάτη αναγκάζουν το διακομιστή να καθαρίσει τις ενσωματωμένες πληροφορίες του για αυτούς Οι Stateless πολιτικές δε θυμούνται τίποτα γι αυτό είναι ευκολότερη η εκκίνηση μετά από μια κατάρρευση

Αντίγραφα Αρχείων Αντιγραφή αρχείων (File Replication) σε πολλαπλές μηχανές βελτιώνει τη διαθεσιμότητα και τις επιδόσεις Τοποθετημένο σε μηχανές που πρέπει να είναι ανεξάρτητες στην αποτυχία (δεν θα αποτύχουν από κοινού) Διαχείριση αναπαραγωγής θα πρέπει να είναι τοποθεσία αδιαφανή Το κύριο πρόβλημα είναι η συνέπεια, όταν αλλάζει ένα αντίγραφο, πώς άλλα αντίγραφα αντικατοπτρίζουν αυτή την αλλαγή; Συχνά υπάρχει ένα κόστος: η συνέπεια έναντι της διαθεσιμότητας και την απόδοση.

Αντίγραφα Αρχείων Για παράδειγμα: "Αντιγραφή κατ απαίτηση" είναι σαν ολόκληρο το αρχείο να μεταφέρεται στην κρυφή μνήμη και η ανάγνωση του αρχείου αναγκάζει την εκτέλεση προσωρινής αποθήκευσης σε τοπικό επίπεδο. Οι ενημερώσεις γίνονται μόνο για το κύριο αρχείο, οπότε ακυρώνονται όλα τα άλλα αντίγραφα Οι προσωπικές και οι συνέχειες μη επικυρώσεις δεν είναι εγγυημένη πολιτική (το μήνυμα θα μπορούσε να χαθεί ή το μηχάνημα θα μπορούσε να συντριβεί από το φόρτο)

AFS Πρόκειται για ένα κατανεμημένο υπολογιστικό περιβάλλον (Andrew) που αναπτύχθηκε το 1983 στο Carnegie-Mellon University, αγοράστηκε από την IBM και κυκλοφόρησε ως Transarc DFS, τώρα ανοιχτού λογισμικού ως AFS ή OpenAFS Προσπαθεί να λύσει πολύπλοκα ζητήματα, όπως την ομοιομορφία του χώρου ονομάτων, της κοινή χρήση αρχείων ανεξάρτητη τοποθεσίας, τη συνέπεια της κρυφής μνήμης πελάτη-διακομιστή, τον ασφαλή έλεγχο ταυτότητας (μέσω Kerberos) Περιλαμβάνει, στην πλευρά του διακομιστή caching (μέσω αντίγραφων), που οδηγεί σε υψηλή διαθεσιμότητα Υποστηρίζει εξαιρετικά μεγάλο πλήθος συνεργαζόμενων συστημάτων

Χαρακτηριστικά AFS Οι πελάτες έχουν έναν κατανεμημένο χώρο ονομάτων αρχείων, τον τοπικό χώρο ονομάτων και έναν κοινόχρηστο χώρο Ο αφιερωμένος εξυπηρετητής, εμφανίζει τον κοινόχρηστο χώρο ονομάτων στους πελάτες ως μια ομοιογενή, πανομοιότυπη και διαφανή ιεραρχία αρχείων Οι σταθμοί εργασίας εκτελούν το πρωτόκολλο Virtue, για να επικοινωνούν με τον εξυπηρετητή Οι πελάτες απαιτείται να έχουν τοπικούς δίσκους, όπου αποθηκεύουν τοπικά τον χώρο των ονομάτων τους Οι διακομιστές συλλογικά είναι υπεύθυνοι για την αποθήκευση και διαχείριση του κοινόχρηστου χώρου ονομάτων

Συστάδες AFS Πελάτες και διακομιστές είναι δομημένοι σε συστάδες που διασυνδέονται μέσω ενός τοπικού (και όχι μόνο εάν μιλάμε για οπτική τεχνολογία) δικτύου κορμού Μια συστάδα αποτελείται από μια συλλογή σταθμών εργασίας και ενός διακομιστή και συνδέεται δικτυακά μέσω ενός δρομολογητή Ένας βασικός μηχανισμός που επελέγη για απομακρυσμένες λειτουργίες αρχείων είναι η προσωρινή αποθήκευση ολόκληρου του αρχείου, δηλαδή ανοίγοντας ένα αρχείο η αρχιτεκτονική εξαναγκάζει την προσωρινά αποθήκευση, συνολικά στον τοπικό δίσκο

Κοινόχρηστος Χώρος Ονομάτων Ο χώρος στον εξυπηρετητή χωρίζεται σε τόμους. Οι τόμοι περιέχουν αρχεία ενός μόνο χρήστη και είναι αυτοί που συνδέονται με έναν πελάτη Ένα αρχείο του εξυπηρετητή μπορεί να έχει πρόσβαση με τη χρήση ενός FID = <αριθμός τόμου, VNODE> Το FID δεν εξαρτάται από τη θέση του μηχανήματος. Για τον εντοπισμό του πραγματοποιείται ένα ερώτημα του πελάτη στη βάση δεδομένων του τόμου για τις πληροφορίες όπως είναι η τοποθεσία Οι τόμοι μπορούν να μετακινηθούν μεταξύ των εξυπηρετητών για την εξισορρόπηση του χώρου αλλά και τη χρήση Οι «παλιοί εξυπηρετητές» προωθούν οδηγίες και ενημερώσεις χειρισμού του πελάτη κατά τη διάρκεια της μετακίνησης Οι τόμοι μόνο ανάγνωσης (με περιεχόμενο όπως είναι το σύστημα αρχείων, κ.λπ.) μπορούν να αντιγραφούν και η βάση δεδομένων του τόμου γνωρίζει πώς θα βρει αυτές τις πληροφορίες

Λειτουργίες Διαχείρισης Αρχείων Αποθηκεύει ολόκληρα από το διακομιστή και ένας σταθμός πελάτη αλληλεπιδρά μόνο κατά το άνοιγμα και το κλείσιμο των αρχείων, όταν υπάρχουν τροποποιημένα αντίγραφα των αρχείων κατά το κλείσιμο Η ανάγνωση και εγγραφή ενός αρχείου γίνεται από τον πυρήνα χωρίς παρέμβαση του πελάτη στο αποθηκευμένο αντίγραφο Ο πελάτης αποθηκεύει το περιεχόμενο των καταλόγων και των συμβολικών συνδέσμων (διαδρομή-όνομα) Εξαιρέσεις από την πολιτική προσωρινής αποθήκευσης είναι τροποποιήσεις στους καταλόγους που γίνονται απευθείας στο διακομιστή

Ροή Αιτημάτων Ανοίγματος-Κλεισίματος Ο πυρήνας του πελάτη τροποποιείται ώστε να ανιχνεύει αναφορές σε αρχεία του εξυπηρετητή Η αίτηση διαβιβάζεται στον πελάτη με τα εξής βήματα: Πραγματοποιεί τη μετάφραση της διαδρομής (και του ονόματος) Ρωτάει τον εξυπηρετητή για το αρχείο Μετακινεί το αρχείο στον τοπικό δίσκο Περνάει το inode του αρχείο πίσω στο πυρήνα του πελάτη Ο πελάτης ενημερώνει τη μνήμη για την κατάσταση και τον τοπικό δίσκο για τα δεδομένα Μια διαδικασία στο διακομιστή (σε επίπεδο χρήστη) χειρίζεται τα αιτήματα πελατών Μια διαδικασία χειρίζεται ταυτόχρονα RPC αιτήματα από τους πελάτες Η κατάσταση των πληροφοριών αποθηκεύεται προσωρινά σε αυτή τη διαδικασία Επιρρεπείς σε προβλήματα αξιοπιστίας