Ωραία, πόσες κατατμήσεις χρειάζεστε δηλαδή; Λοιπόν, μερικά λειτουργικά συστήματα δε θέλουν να ξεκινούν από λογικές κατατμήσεις για λόγους που ξεφεύγουν της λογικής. Έτσι, πιθανά να θέλετε να κρατήσετε τις πρωταρχικές κατατμήσεις σας για την εκκίνηση των MS-DOS, OS/2 και Linux ή οτιδήποτε άλλο χρησιμοποιείτε. Θυμηθείτε ότι μια πρωταρχική κατάτμηση χρειάζεται για να γίνει εκτεταμένη, ώστε να δρα σαν δοχείο για τις λογικές κατατμήσεις του δίσκου σας.
Η εκκίνηση λειτουργικών συστημάτων περιλαμβάνει το BIOS και τους περιορισμούς των 1024 κυλίνδρων. Έτσι, μάλλον θα θέλετε να βάλετε όλες τις κατατμήσεις εκκίνησης στους πρώτους 1024 κυλίνδρους του δίσκου σας, ώστε να αποφύγετε τα προβλήματα. Ξανά, διαβάστε το "large-disk" mini-howto, για περισσότερες λεπτομέρειες.
Για να εγκαταστήσετε το Linux, θα χρειαστείτε τουλάχιστον μία κατάτμηση. Εάν ο πυρήνας φορτώνεται από αυτήν την κατάτμηση (για παράδειγμα από το LILO), η κατάτμηση αυτή πρέπει να διαβάζεται από το BIOS. Εάν χρησιμοποιείτε άλλα μέσα για να φορτώσετε τον πυρήνα (από δισκέτα εκκίνησης ή με το LOADLIN.EXE μέσω του MS-DOS) η κατάτμηση μπορεί να είναι οπουδήποτε. Σε οποιαδήποτε περίπτωση, η κατάτμηση θα είναι τύπου 0χ83 "Linux native".
Το σύστημά σας θα χρειαστεί και χώρο εναλλαγής. Εκτός εάν χρησιμοποιείτε αρχεία ως χώρο εναλλαγής, θα χρειαστείτε μια κατάτμηση αφιερωμένη για αυτή τη δουλειά. Εφόσον η κατάτμηση αυτή χρησιμοποιείται από τον πυρήνα του Linux και ο πυρήνας δεν έχει τις αδυναμίες του BIOS, η κατάτμηση αυτή μπορεί να βρίσκεται οπουδήποτε στο δίσκο. Συστήνω να χρησιμοποιήσετε μια λογική κατάτμηση (/dev/?d?5 ή μεγαλύτερη). Οι κατατμήσεις αφιερωμένες ως χώρος εναλλαγής είναι τύπου 0x82 "Linux swap".
Αυτές είναι οι ελάχιστες απαιτήσεις. Θα ήταν χρήσιμο να δημιουργήσετε περισσότερες κατατμήσεις για το Linux. Διαβάστε παρακάτω.
Εάν αποφασίσατε να χρησιμοποιήσετε μια κατάτμηση ως χώρο εναλλαγής, που γενικά είναι Καλή Ιδέα, ακολουθήστε τις παρακάτω οδηγίες για να υπολογίσετε το μέγεθός της:
Έτσι για ένα σύστημα με 16MB RAM, χώρος εναλλαγής δε χρειάζεται για μια ελάχιστη διαμόρφωση και πάνω από 48MB είναι μάλλον άχρηστα. Το ακριβές ποσό μνήμης εξαρτάται από το μίγμα των εφαρμογών στο μηχάνημα (τι περιμένατε;).
Περίληψη: Βάλτε το χώρο εναλλαγής σε ένα γρήγορο δίσκο με πολλές κεφαλές που δεν κάνει άλλες δουλειές. Εάν έχετε πολλούς δίσκους: μοιράστε το και σκορπίστε το σε όλους τους δίσκους ή ακόμη και σε διαφορετικούς ελεγκτές.
Ακόμη καλύτερα: Αγοράστε περισσότερη RAM.
Ο χώρος στο δίσκο διαχειρίζεται από το λειτουργικό σύστημα σε μονάδες και τμήματα ενοτήτων (blocks). Στο ext2, τα τμήματα και οι ενότητες πρέπει να έχουν το ίδιο μέγεθος, οπότε μπορούμε να περιορίσουμε τη συζήτησή μας στις ενότητες.
Τα αρχεία έρχονται σε οποιοδήποτε μέγεθος. Δε τελειώνουν στα όρια των ενοτήτων. Έτσι, για κάθε αρχείο, ένα τμήμα της τελευταίας ενότητας χαραμίζεται. Υποθέτοντας ότι τα μεγέθη των αρχείων είναι τυχαία, χαραμίζεται περίπου μισή ενότητα για κάθε αρχείο που υπάρχει στο δίσκο σας. Ο Tanenbaum το ονομάζει αυτό "εσωτερικό κατακερματισμό" στο βιβλίο του "Λειτουργικά συστήματα".
Μπορείτε να μαντέψετε τον αριθμό των αρχείων στον δίσκο σας από τον αριθμό των χρησιμοποιημένων κόμβων (inodes) του δίσκου σας.
# df -i
Filesystem Inodes IUsed IFree %IUsed Mounted on
/dev/hda3 64256 12234 52022 19% /
/dev/hda5 96000 43058 52942 45% /var
Υπάρχουν περίπου 12000 αρχεία στο /
και περίπου 44000 αρχεία στο
/var
. Με μέγεθος κομματιού 1KB, περίπου 6+22 = 28MB χάνονται στα
τελικά κομμάτια των αρχείων. Αν είχα επιλέξει μέγεθος κομματιού 4KB, θα
είχα χάσει 4 φορές περισσότερο χώρο.
Η μεταφορά δεδομένων, όμως, είναι γρηγορότερη για συνεχής ενότητες δεδομένων. Για αυτό, το ext2 προσπαθεί να προαναθέσει το χώρο σε 8 συνεχής ενότητες για επεκτεινόμενα αρχεία. Αν ο χώρος δε χρησιμοποιηθεί ελευθερώνεται, οπότε δε χαραμίζεται καθόλου χώρος.
Η ασυνεχής ανάθεση κομματιών σε ένα αρχείο είναι κακή για την απόδοση, εφόσον τα αρχεία διαβάζονται με ένα συνεχή τρόπο. Αυτό αναγκάζει το λειτουργικό να μοιράσει την πρόσβαση στο δίσκο και την κεφαλή να κινηθεί. Αυτό ονομάζεται "εξωτερικός κατακερματισμός" ή απλά "κατακερματισμός" και είναι ένα συχνό πρόβλημα σε συστήματα αρχείων DOS.
Το ext2 έχει αρκετές στρατηγικές για να αποφύγει τον εξωτερικό κατακερματισμό. Κανονικά, ο κατακερματισμός δεν αποτελεί μεγάλο πρόβλημα για το ext2, ακόμη και σε κατατμήσεις βαρέας χρήσης όπως το χώρο νέων του USENET. Αν και υπάρχει ένα εργαλείο αποκατακερματισμού για το ext2, κανείς δε το χρησιμοποιεί και δε συμβαδίζει με την τρέχουσα έκδοση του ext2. Χρησιμοποιήστε το, άλλα με δική σας ευθύνη.
Το MS-DOS είναι γνωστό για την παθολογική του διαχείριση χώρου. Σε συνδυασμό με την απύθμενη buffer cache, οι επιπτώσεις του κατακερματισμού αρχείων στην απόδοση γίνονται γρήγορα αντιληπτές. Οι χρήστες του DOS είναι συνηθισμένοι στον αποκατακερματισμό του δίσκου κάθε λίγες εβδομάδες και μερικοί έχουν αναπτύξει ευλαβικές συνήθειες και πιστεύω για τον αποκατακερματισμό. Καμιά από αυτές τις συνήθειες δε θα πρέπει να μεταφερθεί στο Linux και το ext2. Τα εγγενή συστήματα αρχείων του Linux δε χρειάζονται αποκατακερματισμό κάτω από κανονικές συνθήκες, ακόμη και σε περιπτώσεις με τουλάχιστον 5% ελεύθερο χώρο στο δίσκο.
Το MS-DOS χάνει και μεγάλες ποσότητες χώρου λόγω του εσωτερικού κατακερματισμού. Για κατατμήσεις άνω των 256KB, οι ενότητες του DOS γίνονται τόσο μεγάλες που είναι πρακτικά μη χρησιμοποιήσιμες (αυτό έχει διορθωθεί εν μέρη με το FAT32).
Το ext2 δε σας αναγκάζει να χρησιμοποιήσετε μεγάλες ενότητες για μεγάλα συστήματα αρχείων, εκτός για πολύ μεγάλα συστήματα αρχείων στην περιοχή του 0.5TB (δηλαδή terabytes με 1TB = 1024GB) και άνω, όπου οι μικρές ενότητες γίνονται μη αποδοτικές. Έτσι, σε αντίθεση με το DOS, δεν υπάρχει λόγος να χωρίζετε το δίσκο σε πολλές κατατμήσεις για να κρατήσετε το μέγεθος των ενοτήτων μικρό. Χρησιμοποιήστε το 1KB όπου είναι δυνατόν. Ίσως να θέλετε να χρησιμοποιήσετε τα 2KB για μερικές κατατμήσεις, αλλά να περιμένετε μερικά απροσδόκητα προβλήματα.
Με το ext2, η κατατμήσεις πρέπει να γίνουν με βάση τους περιορισμούς για αντίγραφα ασφαλείας και για την αποφυγή εξωτερικού κατακερματισμού λόγω της διάρκειας ζωής των αρχείων.
Τα αρχεία έχουν διαφορετικές διάρκειες ζωής. Αφού δημιουργηθεί ένα αρχείο,
θα παραμείνει στο σύστημα για κάποιο χρονικό διάστημα και μετά θα αφαιρεθεί.
Η διάρκεια ζωής των αρχείων διαφέρει πολύ μέσα στο σύστημα και εξαρτάται, εν
μέρει, από το χώρο παραμονής του αρχείου. Για παράδειγμα, αρχεία στα
/bin
, /sbin
, /usr/bin
, /usr/bin
και παρόμοιους
καταλόγους είναι πιθανόν να έχουν μεγάλη διάρκεια ζωής: αρκετούς μήνες και
παραπάνω. Αρχεία στο /home
είναι πιθανό να έχουν μια μέση διάρκεια
ζωής: περίπου αρκετές εβδομάδες. Αρχεία στο /var
είναι συνήθως βραχύβια:
σχεδόν κανένα αρχείο στο /var/spool/news
δε θα παραμείνει για περισσότερες από μερικές μέρες, ενώ αρχεία στο /var/spool/lpd
έχουν διάρκεια ζωής μερικά λεπτά ή λιγότερο.
Για αντίγραφα ασφαλείας είναι χρήσιμο το ποσό του καθημερινού αντίγραφου να είναι μικρότερο από τη χωρητικότητα του ενός μέσου. Ένα καθημερινό αντίγραφο μπορεί να είναι είτε ολόκληρο είτε προσαυξητικό.
Μπορείτε να αποφασίσετε να κρατήσετε τις κατατμήσεις σας μικρές για να χωράνε σε ένα μέσο (για καθημερινά πλήρη αντίγραφα). Σε οποιαδήποτε περίπτωση κάθε κατάτμηση θα πρέπει να είναι αρκετά μικρή ώστε τα καθημερινά δεδομένα (όλα τα αλλαγμένα αρχεία) να χωράνε σε ένα μέσο (επιλέξτε προσαυξητικό αντίγραφο και να περιμένετε να αλλάζετε μέσο για το εβδομαδιαίο/μηνιαίο πλήρες αντίγραφο - δεν γίνεται πλήρης αυτοματοποιημένη εργασία).
Η στρατηγική αντιγράφων εξαρτάται από αυτή την απόφαση.
Όταν σχεδιάζετε να αγοράσετε δίσκους, Θυμηθείτε να κρατήσετε αρκετά χρήματα για τα αντίγραφα! Δεδομένα χωρίς αντίγραφα είναι άχρηστα! Η αναπαραγωγή δεδομένων κοστίζει πολύ περισσότερο από το αντίγραφο για σχεδόν οποιονδήποτε!
Για μεγαλύτερη απόδοση είναι χρήσιμο να κρατάτε αρχεία με διαφορετικό
χρόνο ζωής σε διαφορετικές κατατμήσεις. Με αυτό τον τρόπο τα βραχύβια
αρχεία στην κατάτμηση συζητήσεων θα κατακερματιστούν πολύ. Αυτό, όμως,
δε θα έχει καμία επίπτωση στην απόδοση των /
ή /home
κατατμήσεων.