Volume Managers Εργασία για το μάθημα Λειτουργικά Συστήματα Ι Κοντεκάκης Ιωάννης (ikont@it.teithe.gr)
Σκληροί Δίσκοι Συσκευές με δυνατότητα μόνιμης αποθήκευσης. Με πεπερασμένη χωρητικότητα. Αποτελούμενοι από μαγνητικούς δίσκους(platters), flash μνήμη βασισμένη σε πύλες nand κτλ. Με μικρή ταχύτητα ανάγνωσης/εγγραφής δεδομένων, σε σχέση με άλλα μέρη του Η/Υ(RAM, CPU, NICs).
Χωρητικότητα Δίσκων Χρειαζόμαστε πάντα περισότερη. Με την αντίστοιχη βελτίωση των επιδόσεων. Τη χρειαζόμαστε άμεσα: Με το μικρότερο κόστος. Με επεκτάσιμο τρόπο. Χωρίς διακοπή ή κίνδυνο της εργασίας μας.
Όταν ο χώρος είναι αρκετός 1 Δίσκος - - 1 Η/Υ
Partitioning Δισκων Λογικός διαχωρισμός του χώρου: Σε ένα τμήμα ίσης με του δίσκου χωρητικότητας c:\ ή Σε επιμέρους τμήματα (διαιρώντας τον συνολικό χώρο του δίσκου.) c:\ d:\ e:\
Partitioning Δισκων Λογικός διαχωρισμός του χώρου: Σε ένα τμήμα ίσης με του δίσκου χωρητικότητας c:\ ext3 ή Σε επιμέρους τμήματα (διαιρώντας τον συνολικό χώρο του δίσκου.) c:\ d:\ e:\ fat ntfs jfs
Single Point of failure 1 Δίσκος - - 1 Η/Υ c:\ c:\ d:\ e:\
Προβλήματα προς επίλυση Single point of failure Ταχύτητα προσπέλασης δεδομένων = Ταχύτητα προσπέλασης δίσκου Αυξανόμενος όγκος & πλήθος αρχείων Περισότεροι δίσκοι; (C:\ + D:\ +...) Τι γίνεται αν έχω ένα αρχείο μεγαλύτερο του μεγέθους του δίσκου; c:\ Data File
Ζητούμενες Λειτουργίες Redundancy = 1 hdd + N hdd Παραλληλισμός στο Ι/0 Transfer rate <= N x transfer_rate(1, hdd) Ελαστικότητα χωρητικότητας Χρειάζομαι άλλα 2GB στο C:\ (ή μου περισεύουν) Αδιάκοπη εργασία Τα χρειάζομαι τώρα, και μην με διακόψεις από τη δουλειά μου. Μην με διακόψεις ό,τι και να γίνει. Όλα τα παραπάνω ταυτόχρονα
Ζητούμενες Λειτουργίες Redundancy Παραλληλισμός στο Ι/0 Ελαστικότητα χωρητικότητας Αδιάκοπη εργασία Όλα τα παραπάνω ταυτόχρονα = Volume Managers
Volume Manager Σύνολο δύο ομάδων προγραμμάτων: Προγράμματα διαχείρησης των λογικών μονάδων που χρησιμοποιούνται. Kernel module: Διεπαφή με τα πρώτα. Kernel code: Υλοποίηση του επιπέδου ανάμεσα στα VFS & filesystem Ext3 JFS XFS ReiserFS VFS VM HDD(s)
Υλοποιήσεις Volume Managers Sun solaris volume manager Veritas VxVM Freebsd Vinum VM Linux LVM...
Αρχιτεκτονική Volume Manager Κάθε δίσκος ή partition ή raid device ή LUN(logical unit number) ενός SAN(storage area network) αποτελεί ένα physical volume (PV) sda Sda1 (PV1) Sda1 (PV1) Sda2 (PV2) sdb1 (PV2) sdb1 (PV2) (PV3) sdb Sdb2 (PV3) Sdb2 (PV3) (PV4) Sdb3 (PV4) Sdb3 (PV4) (PV5)
Αρχιτεκτονική Volume Manager Κάθε PV υποδιαιρείται σε Physical Extents (PE) sda sdb Sda1 (PV1) Sda2 (PV2) sdb1 (PV2) (PV3) Sdb2 (PV3) (PV4) Sdb3 (PV4) (PV5) PE1PE2PE3PE4PE5PE6PE7 PE8PE9 PE10PE11 PE12PE13
Αρχιτεκτονική Volume Manager Κάθε PE αντιστοιχίζεται σε ένα ή παραπάνω Logical Extents (LE) sda sdb Sda1 (PV1) Sda2 (PV2) sdb1 (PV3) Sdb2 (PV4) Sdb3 (PV5) PE1PE2PE3PE4PE5PE6PE7 PE8PE9 PE10PE11 PE12PE13 LE1 LE2 LE3 LE4 LE5 LE6 LE7 LE8 LE9 LE10LE11 Redundancy
Αρχιτεκτονική Volume Manager Τα LEs που προκύπτουν από τα PVs ομαδοποιούνται σε Volume Groups(VGs). sda sdb Sda1 (PV1) Sda2 (PV2) sdb1 (PV3) Sdb2 (PV4) Sdb3 (PV5) PE1PE2PE3PE4PE5PE6PE7 PE8PE9 PE10PE11 PE12PE13 LE1 LE2 LE3 LE4 LE5 LE6 LE7 LE8 LE9 LE10LE11 Redundancy VG1 = [LE1-LE5, LE8-LE11] (Striped, High Performance) VG2 = [LE6, LE7] (Redundant, High Availability)
Αρχιτεκτονική Volume Manager Επιπλέον χώρος παραχωρείτε προσθέτοντας τα LEs νέων δίσκων στο αντίστοιχο VG. + sda Sda1 (PV1) sdb Sda2 sdb1 Sdb2 Sdb3 (PV2) (PV3) (PV4) (PV5) PE1PE2PE3PE4PE5PE6PE7 PE8PE9 PE10 PE11 PE12 PE13 LE1LE2LE3LE4LE5LE6LE7 LE8LE9 LE10LE11 Redundancy VG1 = [LE1-LE5, LE8-LE11] (Striped, High Performance) VG2 = [LE6, LE7] (Redundant, High Availability)
Αρχιτεκτονική Volume Manager Από κάθε VG μπορούμε να δημιουργήσουμε όσα Logical Volumes(LVs) θέλουμε. Τα LVs τα διαχειριζόμαστε ως partitions. VG1 = [LE1-LE5, LE8-LE11] (Striped, High Performance) VG2 = [LE6, LE7] (Redundant, High Availability) LV1 LV2 LV3...
Αρχιτεκτονική Volume Manager Μπορούμε να πάρουμε φωτογραφίες του LV, ενώ το σύστημα συνεχίζει να τρέχει αποθηκεύοντας τις αλλαγές σε ένα άλλο LV. (High Availability) Να συνενώσουμε τo snapshot με τις αλλαγές που έγιναν.
Αναφορές http://sourceware.org/lvm2/ http://www.markusgattol.name/ws/lvm.html http://tldp.org/howto/lvm-howto/ man 8 lvm