Τι κατατμήσεις χρειάζομαι;

E-mail Εκτύπωση PDF
Αξιολόγηση Χρήστη: / 0
ΧείριστοΆριστο 

Πόσες κατατμήσεις χρειάζομαι;

Ωραία, πόσες κατατμήσεις χρειάζεστε δηλαδή; Λοιπόν, μερικά λειτουργικά συστήματα δε θέλουν να ξεκινούν από λογικές κατατμήσεις για λόγους που ξεφεύγουν της λογικής. Έτσι, πιθανά να θέλετε να κρατήσετε τις πρωταρχικές κατατμήσεις σας για την εκκίνηση των 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. Διαβάστε παρακάτω.

Πόσο μεγάλος πρέπει να είναι ο χώρος εναλλαγής;

Εάν αποφασίσατε να χρησιμοποιήσετε μια κατάτμηση ως χώρο εναλλαγής, που γενικά είναι Καλή Ιδέα, ακολουθήστε τις παρακάτω οδηγίες για να υπολογίσετε το μέγεθός της:

* Στο Linux, η μνήμη RAM και ο χώρος εναλλαγής χρησιμοποιούνται ως το σύνολο της εικονικής μνήμης που είναι διαθέσιμη (κάτι που δεν είναι αλήθεια για όλα τα Unix). Για παράδειγμα αν έχετε 8MB RAM και 12MB χώρο εναλλαγής, έχετε ένα σύνολο περίπου 20MB εικονικής μνήμης.
* Όταν καθορίζετε το μέγεθος του χώρου εναλλαγής, θα πρέπει να έχετε περίπου 16MB εικονικής μνήμης συνολικά. Έτσι, για 4MB RAM θα χρειαστείτε τουλάχιστον 12MB ως χώρο εναλλαγής, για 8MB RAM θα χρειαστείτε τουλάχιστον 8MB χώρο εναλλαγής κοκ.
* Στο Linux, μία κατάτμηση εναλλαγής δε μπορεί να είναι μεγαλύτερη από 128MB. Δηλαδή, η κατάτμηση μπορεί να είναι μεγαλύτερη από 128MB, αλλά ο παραπάνω χώρος δε χρησιμοποιείται ποτέ. Εάν θέλετε παραπάνω από 128MB χώρου εναλλαγής, θα χρειαστείτε πολλαπλές κατατμήσεις.
* Όταν δημιουργείτε τον χώρο εναλλαγής, θυμηθείτε ότι πολύς χώρος μπορεί να είναι και άχρηστος. Κάθε διεργασία έχει ένα "σύνολο εργασίας". Αυτό το σύνολο σελίδων στη μνήμη θα χρησιμοποιηθεί από τον επεξεργαστή στο σύντομο μέλλον. Το Linux προσπαθεί να προβλέψει την πρόσβαση στη μνήμη (υποθέτοντας ότι οι τελευταία χρησιμοποιημένες σελίδες θα χρησιμοποιηθούν ξανά σύντομα) και κρατά αυτές τις σελίδες στη RAM αν είναι δυνατόν. Εάν το πρόγραμμα έχει καλή "τοπικότητα αναφοράς" η υπόθεση αυτή θα είναι σωστή και ο αλγόριθμος πρόβλεψης θα δουλέψει. Το να κρατηθεί το σύνολο εργασίας στη μνήμη δουλεύει μόνο εάν υπάρχει αρκετή μνήμη RAM. Εάν έχετε πολλές διεργασίες να τρέχουν σε ένα μηχάνημα, ο πυρήνας αναγκάζεται να βάζει σελίδες στον δίσκο που θα τις χρησιμοποιήσει σύντομα (αναγκάζοντας την έξοδο μιας σελίδας από άλλο σύνολο εργασίας και την εισαγωγή της σελίδας που ζητείται). Αυτό συνήθως καταλήγει σε βαριά εναλλαγή σελίδων και κατακόρυφη πτώση της απόδοσης. Ένα μηχάνημα σε αυτή την κατάσταση λέγεται ότι κάνει "thrashing". Σε ένα τέτοιο μηχάνημα οι διεργασίες τρέχουν στην ουσία από τον δίσκο αντί της RAM. Έτσι η απόδοση πέφτει περίπου όσο η σχέση μεταξύ της ταχύτητας πρόσβασης μνήμης και της ταχύτητας πρόσβασης του δίσκου. Ένας παλιός κανόνας από τις μέρες του PDP και του Vax λέει ότι το σύνολο εργασίας ενός προγράμματος είναι το 25% του εικονικού του μεγέθους. Για αυτό είναι μάλλον άσκοπο να έχετε χώρο εναλλαγής μεγαλύτερο από τρεις φορές το μέγεθος της RAM. Προσέξτε όμως ότι αυτός είναι ένας απλός κανόνας. Είναι εύκολο να δημιουργηθούν σενάρια όπου προγράμματα έχουν εξαιρετικά μεγάλα ή μικρά σύνολα εργασίας. Για παράδειγμα ένα πρόγραμμα εξομοίωσης έχει μεγάλα σύνολα δεδομένων που προσβάλλονται τυχαία και χωρίς καμία τοπικότητα, έτσι το σύνολο εργασίας είναι πολύ μεγάλο. Από την άλλη, το xv με αρκετά ανοιχτά JPEG αρχεία θα έχει ένα πολύ μεγάλο σύνολο δεδομένων. Όμως οι μετασχηματισμοί θα γίνονται σε ένα μόνο αρχείο, οπότε η περισσότερη μνήμη που καταλαμβάνεται από το xv δεν προσβάλλεται ποτέ. Το ίδιο ισχύει και με έναν επεξεργαστή κειμένου με πολλά ανοιχτά έγγραφα, αλλά μόνο ένα να διορθώνεται. Έτσι, τα προγράμματα αυτά - αν έχουν σχεδιαστεί σωστά - έχουν πολύ μεγάλη τοπικότητα και μεγάλα τμήματά τους μπορούν να κρατηθούν στο χώρο εναλλαγής χωρίς μεγάλη πτώση ταχύτητας. Θα περίμενε κανείς ότι το 25% από την εποχή της γραμμής εντολών δε θα είναι σωστό στις μέρες των γραφικών περιβάλλοντων και πολλαπλών εγγράφων, αλλά δεν ξέρω για νέες μελέτες που επιβεβαιώνουν αυτά τα νούμερα.

Έτσι για ένα σύστημα με 16MB RAM, χώρος εναλλαγής δε χρειάζεται για μια ελάχιστη διαμόρφωση και πάνω από 48MB είναι μάλλον άχρηστα. Το ακριβές ποσό μνήμης εξαρτάται από το μίγμα των εφαρμογών στο μηχάνημα (τι περιμένατε;).

Πού πρέπει να βάλω το χώρο εναλλαγής;

* Τα μηχανικά είναι αργά, τα ηλεκτρονικά είναι γρήγορα. Οι μοντέρνοι δίσκοι έχουν πολλές κεφαλές. Η μετάβαση μεταξύ κεφαλών στο ίδιο αυλάκι είναι γρήγορη, αφού είναι καθαρά ηλεκτρονική. Η μετάβαση μεταξύ αυλακιών είναι αργή, αφού απαιτεί τη μετακίνηση φυσικών αντικειμένων. Έτσι αν έχετε ένα δίσκο με πολλές κεφαλές και έναν με λιγότερες με ίδιες τις άλλες παραμέτρους τους, ο δίσκος με τις περισσότερες κεφαλές θα είναι γρηγορότερος. Παρόλα αυτά, το να χωρίσετε το χώρο εναλλαγής και να τον μοιράσετε στους δυο δίσκους θα είναι ακόμα γρηγορότερο.
* Οι παλιότεροι δίσκοι έχουν τον ίδιο αριθμό τομέων σε όλα τα αυλάκια. Με αυτούς τους δίσκους θα είναι πιο γρήγορο να βάλετε το χώρο εναλλαγής στη μέση του δίσκου, υποθέτοντας ότι η κεφαλή του δίσκου θα κινηθεί από μια τυχαία περιοχή προς το χώρο εναλλαγής.
* Οι νεότεροι δίσκοι χρησιμοποιούν ZBR (zone bit recording). Έχουν περισσότερους τομείς στα εξωτερικά αυλάκια. Με σταθερό ρυθμό περιστροφής, αυτό δίνει σημαντικά αυξημένη απόδοση στα εξωτερικά αυλάκια σε σχέση με τα εσωτερικά. Βάλτε το χώρο εναλλαγής στα εξωτερικά αυλάκια.
* Φυσικά η κεφαλή του δίσκου δε θα κινείται τυχαία. Εάν έχετε το χώρο εναλλαγής στη μέσου του δίσκου, μεταξύ μιας πολυάσχολης κατάτμησης home και μιας σχεδόν αχρησιμοποίητης κατάτμησης αρχείου, θα ήταν καλύτερα να το βάλετε στη μέση της κατάτμησης home, για ακόμα μικρότερες κινήσεις της κεφαλής. Φυσικά θα ήταν καλύτερα αν είχατε το χώρο εναλλαγής σε έναν άλλο αχρησιμοποίητο δίσκο.

Περίληψη: Βάλτε το χώρο εναλλαγής σε ένα γρήγορο δίσκο με πολλές κεφαλές που δεν κάνει άλλες δουλειές. Εάν έχετε πολλούς δίσκους: μοιράστε το και σκορπίστε το σε όλους τους δίσκους ή ακόμη και σε διαφορετικούς ελεγκτές.

Ακόμη καλύτερα: Αγοράστε περισσότερη 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 κατατμήσεων.




Μοιραστείτε αυτό το άρθρο
Reddit! Del.icio.us! Mixx! Free and Open Source Software News Google! Live! Facebook! StumbleUpon! Yahoo! Dig Me Joomla Free PHP

Σχόλια
Προσθήκη νέου Αναζήτηση RSS
Γράψτε σχόλιο
Όνομα:
Email:
 
Τίτλος:
 
Please input the anti-spam code that you can read in the image.
Τελευταία Ενημέρωση ( Σάββατο, 28 Μάρτιος 2009 23:10 )  

Seach By Google

Translate this website :

Επιλογές


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

Τελευταία Σχόλια