Συστήματα αρχείων

Εικόνα: markos
Submitted by markos on Τρι, 06/03/2007 - 02:10

Η διαχείριση των σκληρών δίσκων σε ένα σύστημα είναι επίσης σημαντική υπόθεση. Είναι σημαντικό να βεβαιωθούμε ότι ένα διαμέρισμα έχει αρκετό διαθέσιμο χώρο, ώστε το σύστημα να συνεχίσει να λειτουργεί χωρίς πρόβλημα. Κατί τέτοιο είναι ιδιαίτερα σημαντικό για το διαμέρισμα που φιλοξενεί τον βασικό κατάλογο root, τον κατάλογο /var και τον κατάλογο /tmp καθώς τα περιεχόμενα αυτών των καταλόγων μεταβάλλονται συχνά. Υπάρχουν αρκετά εργαλεία στο Debian για την πληροφόρηση για την κατάσταση των διαμερισμάτων και των σκληρών δίσκων αλλά και για τον δίαυλο SCSI ειδικά.

Σε επαγγελματικά περιβάλλοντα η διαχείριση των διαμερισμάτων γίνεται με εξειδικευμένο λογισμικό, τους Διαχειριστές Λογικών Μονάδων (Logical Volume Managers), όπως τα συστήματα LVM, LVM2 και EVMS. Η περιγραφή και εγκατάσταση τέτοιων συστημάτων απαιτεί αρκετή εμπειρία στην διαχείριση συστημάτων και ξεφεύγει από τους σκοπούς αυτού του οδηγού, αλλά παραθέτουμε στο τέλος της ενότητας τα ονόματα ορισμένων πακέτων.

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

Επιλογές
Λειτουργία
-B, --block-size=SIZE Εμφανίζει το μέγεθος σε blocks μεγέθους SIZE.
-k Χρησιμοποιεί την επιλογή --block-size=1K (1 kilobyte = 1024 bytes).
-h
--human-readable
Εμφανίζει το μέγεθος χρησιμοποιώντας μια πιο ευανάγνωστη μορφή (1G, 23M, 543K).
--sync Συγχρονίζει τα περιεχόμενα του δίσκου με τους buffers του συστήματος (βλ. εντολή sync παρακάτω).
-P, --portability Εμφανίζει το αποτέλεσμα σε μορφή συμβατή με το πρωτόκολλο POSIX.
-t, --type=TYPE Εμφανίζει μόνο τα συστήματα αρχείων τύπου TYPE.
-T, --print-type Εμφανίζει τον τύπο του συστήματος αρχείων για κάθε μονάδα.
-x, --exclude-type=TYPE Δεν εμφανίζει τα συστήματα αρχείων τύπου TYPE.

Ακολουθεί παράδειγμα εκτέλεσης της εντολής df σε σύστημα που χρησιμοποιεί σύστημα LVM και devfs.

# df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/ide/host0/bus0/target0/lun0/part1
                        241116    133994     94674  59% /
/dev/local_vg/usr      3096336   2060656    878396  71% /usr
/dev/local_vg/var      3426896   1168756   2084060  36% /var
/dev/local_vg/home     5160576   4266632    631800  88% /home

Φαίνεται καθαρά το συνολικό μέγεθος του διαμερίσματος, το μέγεθος του χρησιμοποιούμενου και διαθέσιμου χώρου, το ποσοστό χρήσης καθώς και το όνομα του αρμού του διαμερίσματος (mount point).
Η εντολή sync που αναφέρθηκε χρησιμοποιείται για να αποθηκεύσει όλες τις αλλαγές στο σύστημα αρχείων που βρίσκονται ακόμη στους buffers του συστήματος. Κάτι τέτοιο μπορεί να διαρκέσει αρκετά δευτερόλεπτα, καθώς το λειτουργικό σύστημα για λόγους απόδοσης δεν αποθηκεύει κάθε αλλαγή αμέσως αλλά με κάποια καθυστέρηση. Πολλές φορές και ειδικά σε περιβάλλοντα server το μέγεθος των δεδομένων που βρίσκονται σε buffers πιθανόν να ανέλθει σε αρκετά MB.

Η εντολή df μας δίνει την κατανάλωση χώρου σε ολόκληρο το σύστημα αρχείων. Αν θέλουμε αντ' αυτού να μάθουμε την κατανάλωση στο δίσκο ενός μόνο καταλόγου (και των περιεχομένων του) θα πρέπει να χρησιμοποιήσουμε την εντολή du (disk usage). Η σημαντικότερη επιλογή της εντολής είναι η -s, που τυπώνει τη συνολική κατανάλωση χώρου των αρχείων ή καταλόγων που δίνουμε ως παραμέτρους στη du.

Άλλες επιλογές περιλαμβάνουν:

Επιλογές
Λειτουργία
-B, --block-size=SIZE Εμφανίζει το μέγεθος σε blocks μεγέθους SIZE.
-k Χρησιμοποιεί την επιλογή --block-size=1K (1 kilobyte = 1024 bytes).
-h
--human-readable
Εμφανίζει το μέγεθος χρησιμοποιώντας πιο ευανάγνωστη μορφή (1G, 23M, 543K).
-c, --total Εμφανίζει ένα συνολικό μέγεθος όλων των παραμέτρων της εντολής.
-s, --summarize Εμφανίζει ένα συνολικό μέγεθος για κάθε παράμετρο της εντολής.
-x, --one-file-system Αγνοεί καταλόγους που βρίσκονται σε διαφορετικά συστήματα αρχείων.
--exclude=PATTERN Αγνοεί αρχεία που ταιριάζουν στην κανονική παράσταση PATTERN.

Για παράδειγμα, για να δούμε το συνολικό μέγεθος του καταλόγου /etc και /boot μπορούμε να δώσουμε:

# du -s -c /etc /boot
17275   /etc
3049    /boot
20324   total

Τα μεγέθη αυτά απεικονίζονται σε KB, δηλαδή το σύνολικό μέγεθος των καταλόγων /etc και /boot είναι περίπου 17 MB και 3 MB, αντίστοιχα.
Το Debian παρέχει και πακέτα που παρέχουν πιο γραφική απεικόνιση των εντολών df και du, όπως τα kdf και kdirstat.

kdfkdf
kdirstatkdirstat
Υπάρχει περίπτωση να χρειαστεί να περιορίσουμε τον αποθηκευτικό χώρο που είναι διαθέσιμος σε κάποιο χρήστη για αποφυγή της σπατάλης χώρου. Ειδικά σε συστήματα που χρησιμοποιούνται από πολλούς χρήστες (Πανεπιστήμια, εταιρείες, οργανισμοί) τέτοια συστήματα περιορισμού διαθέσιμου χώρου (disk quota systems) είναι απαραίτητα. Στο Linux η χρήση των περιορισμών αυτών γίνεται αν καταρχάς υπάρχει υποστήριξη στον πυρήνα. Έπειτα, χρησιμοποιείται το πρόγραμμα quota, στο οποίο δε θα αναφερθούμε περισσότερο.

Χρήσιμα πακέτα: xdiskusage, kdf, kdirstat, quota, quotatool, lvm10, lvm2, evms, evms-gui, kernel-patch-evms.

0
Your rating: None