diff --git a/el_GR.ISO8859-7/books/handbook/vinum/chapter.sgml b/el_GR.ISO8859-7/books/handbook/vinum/chapter.sgml index 030afb4a1c..e36015eace 100644 --- a/el_GR.ISO8859-7/books/handbook/vinum/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/vinum/chapter.sgml @@ -1,1456 +1,1457 @@ Greg Lehey - Γράφτηκε αρχικά από τον + Αρχική συνεισφορά του Ο Διαχειριστής Τόμων Vinum Σύνοψη - + Οτιδήποτε δίσκους και αν έχετε, πάντα υπάρχουν πιθανά προβλήματα: - Μπορεί να είναι πολύ μικροί. + Μπορεί να είναι πολύ μικροί. - Μπορεί να είναι πολύ αργοί. + Μπορεί να είναι πολύ αργοί. - Μπορεί να μην είναι αρκετά αξιόπιστοι. + Μπορεί να μην είναι αρκετά αξιόπιστοι. - Για τα προβλήματα αυτά έχουν προταθεί και υλοποιηθεί διάφορες - λύσεις. Ένας συχνά χρησιμοποιούμενος τρόπος προστασίας, είναι με την - χρήση πολλαπλών και ορισμένες φορές περιττών (redundant) δίσκων. Εκτός + Για τα προβλήματα αυτά, έχουν προταθεί και υλοποιηθεί διάφορες + λύσεις. Ένας συχνά χρησιμοποιούμενος τρόπος προστασίας, είναι με την + χρήση πολλαπλών και ορισμένες φορές περιττών (redundant) δίσκων. Εκτός από την υποστήριξη που παρέχεται για συσκευές (κάρτες και ελεγκτές) - hardware RAID, το βασικό &os; σύστημα περιλαμβάνει το διαχειριστή τόμων - (volume manager) Vinum, ένα πρόγραμμα οδήγησης τύπου - μπλοκ το οποίο υλοποιεί εικονικούς δίσκους. To Vinum - αποκαλείται και Διαχειριστής Τόμων, - και είναι ένας οδηγός εικονικών δίσκων που αντιμετωπίζει τα παραπάνω - τρία προβλήματα. Το Vinum παρέχει καλύτερη ευελιξία, απόδοση και - αξιοπιστία σε σχέση με τα παραδοσιακά συστήματα αποθήκευσης, και - υλοποιεί τα μοντέλα RAID-0, RAID-1 και RAID-5 τόσο μεμονωμένα όσο και - σε συνδυασμό μεταξύ τους. + hardware RAID, το βασικό σύστημα του &os; περιλαμβάνει το διαχειριστή + τόμων (volume manager) Vinum, ένα πρόγραμμα οδήγησης τύπου + μπλοκ το οποίο υλοποιεί εικονικούς δίσκους. + Το Vinum αποκαλείται και + Διαχειριστής Τόμων, και είναι ένας οδηγός + εικονικών δίσκων που αντιμετωπίζει τα παραπάνω τρία προβλήματα. + Το Vinum παρέχει καλύτερη ευελιξία, απόδοση και αξιοπιστία σε σχέση με + τα παραδοσιακά συστήματα αποθήκευσης, και υλοποιεί τα μοντέλα RAID-0, + RAID-1 και RAID-5, τόσο μεμονωμένα, όσο και σε συνδυασμό μεταξύ + τους. Το κεφάλαιο αυτό παρέχει μια επισκόπηση των πιθανών προβλημάτων των παραδοσιακών συστημάτων αποθήκευσης, και μια εισαγωγή στο Διαχειριστή Τόμων Vinum. - Ξεκινώντας από το &os; 5 και μετά, το Vinum ξαναγράφτηκε ώστε να - ενσωματωθεί στην αρχιτεκτονική GEOM (), - διατηρώντας ωστόσο τις αρχικές ιδέες, ορολογία, και τη μορφή των - μετα-δεδομένων (metadata) που αποθηκεύονται στον δίσκο. + Ξεκινώντας από το &os; 5 και μετά, το Vinum ξαναγράφτηκε + ώστε να ενσωματωθεί στην αρχιτεκτονική GEOM (), + διατηρώντας ωστόσο τις αρχικές ιδέες, ορολογία, και τη μορφή των + μετα-δεδομένων (metadata) που αποθηκεύονται στον δίσκο. Η νέα αυτή εκδοχή ονομάζεται gvinum (από το - GEOM vinum). Το ακόλουθο κείμενο αναφέρεται - συνήθως στο Vinum ως αφηρημένη έννοια, άσχετα με - τις λεπτομέρειες της υλοποίησης. Όλες οι εντολές θα πρέπει τώρα να - καλούνται με τη χρήση της gvinum, το όνομα του - αρθρώματος πυρήνα (kernel module) έχει αλλαχθεί από - vinum.ko σε geom_vinum.ko, και όλα - τα αρχεία συσκευών βρίσκονται κάτω από το όνομα - /dev/gvinum αντί για /dev/vinum. - Από το &os; 6 και μετά, η παλιά υλοποίηση του Vinum δεν - περιλαμβάνεται πλέον στο βασικό σύστημα. + GEOM vinum). Το ακόλουθο κείμενο αναφέρεται + συνήθως στο Vinum ως αφηρημένη έννοια, άσχετα με + τις λεπτομέρειες της υλοποίησης. Όλες οι εντολές θα πρέπει τώρα να + καλούνται με τη χρήση της gvinum, + το άρθρωμα πυρήνα (kernel module) έχει μετονομαστεί σε + geom_vinum.ko από vinum.ko, + και όλα τα αρχεία συσκευών βρίσκονται στον κατάλογο + /dev/gvinum αντί για + /dev/vinum. Από το + &os; 6 και μετά, η παλιά υλοποίηση του Vinum δεν περιλαμβάνεται + πλέον στο βασικό σύστημα. - - Disks Are Too Small + Οι Δίσκοι Είναι Πολύ Μικροί Vinum RAID software - Disks are getting bigger, but so are data storage - requirements. Often you will find you want a file system that - is bigger than the disks you have available. Admittedly, this - problem is not as acute as it was ten years ago, but it still - exists. Some systems have solved this by creating an abstract - device which stores its data on a number of disks. + Οι δίσκοι γίνονται ολοένα και μεγαλύτεροι, αλλά με τον ίδιο ρυθμό + αυξάνονται επίσης και οι απαιτήσεις μας σε αποθηκευτικό χώρο. Πολλές + φορές θα βρεθείτε σε θέση να χρειάζεστε ένα σύστημα αρχείων μεγαλύτερο + από τους δίσκους που έχετε διαθέσιμους. Σίγουρα το πρόβλημα αυτό δεν + είναι τόσο έντονο όσο πριν δέκα χρόνια, αλλά εξακολουθεί να υπάρχει. + Μερικά συστήματα επιλύουν αυτό το πρόβλημα, δημιουργώντας μια εικονική + συσκευή που αποθηκεύει τα δεδομένα σε ένα αριθμό διακριτών + δίσκων. - Access Bottlenecks - - Modern systems frequently need to access data in a highly - concurrent manner. For example, large FTP or HTTP servers can - maintain thousands of concurrent sessions and have multiple - 100 Mbit/s connections to the outside world, well beyond - the sustained transfer rate of most disks. - - Current disk drives can transfer data sequentially at up to - 70 MB/s, but this value is of little importance in an - environment where many independent processes access a drive, - where they may achieve only a fraction of these values. In such - cases it is more interesting to view the problem from the - viewpoint of the disk subsystem: the important parameter is the - load that a transfer places on the subsystem, in other words the - time for which a transfer occupies the drives involved in the - transfer. - - In any disk transfer, the drive must first position the - heads, wait for the first sector to pass under the read head, - and then perform the transfer. These actions can be considered - to be atomic: it does not make any sense to interrupt - them. - - Consider a typical transfer of - about 10 kB: the current generation of high-performance - disks can position the heads in an average of 3.5 ms. The - fastest drives spin at 15,000 rpm, so the average - rotational latency (half a revolution) is 2 ms. At - 70 MB/s, the transfer itself takes about 150 μs, - almost nothing compared to the positioning time. In such a - case, the effective transfer rate drops to a little over - 1 MB/s and is clearly highly dependent on the transfer - size. - - The traditional and obvious solution to this bottleneck is - more spindles: rather than using one large disk, - it uses several smaller disks with the same aggregate storage - space. Each disk is capable of positioning and transferring - independently, so the effective throughput increases by a factor - close to the number of disks used. - - - The exact throughput improvement is, of course, smaller than - the number of disks involved: although each drive is capable of - transferring in parallel, there is no way to ensure that the - requests are evenly distributed across the drives. Inevitably - the load on one drive will be higher than on another. + Καθυστερήσεις Πρόσβασης + + Στα μοντέρνα συστήματα, υπάρχει συχνά ανάγκη πρόσβασης δεδομένων + από πολλές διεργασίες ταυτόχρονα. Για παράδειγμα, μεγάλοι εξυπηρετητές + FTP ή HTTP μπορεί να έχουν ανά πάσα στιγμή χιλιάδες ταυτόχρονες + εξωτερικές συνδέσεις και να διαθέτουν πολλαπλές διεπαφές 100 Mbit/s + οι οποίες ξεπερνάνε κατά πολύ τις δυνατότητες μεταφοράς δεδομένων των + περισσότερων σκληρών δίσκων. + + Τα τρέχοντα μοντέλα σκληρών δίσκων μπορούν να μεταφέρουν δεδομένα + σειριακά με ταχύτητα μέχρι και 70 MB/s, αλλά η τιμή αυτή έχει μικρή + σημασία σε ένα περιβάλλον όπου πολλές ανεξάρτητες διεργασίες χρειάζονται + πρόσβαση στον ίδιο δίσκο. Σε τέτοιες περιπτώσεις, κάθε διεργασία μπορεί + να επιτύχει μόνο ένα μικρό ποσοστό της μέγιστης αυτής απόδοσης. Είναι + πιο ενδιαφέρον να δούμε το πρόβλημα από την πλευρά του υποσυστήματος + δίσκων: ο σημαντικός παράγοντας είναι ο φόρτος στον οποίο υποβάλλεται + το υποσύστημα κατά τη διάρκεια μιας μεταφοράς. Με άλλα λόγια, ο χρόνος + που παραμένουν απασχολημένοι οι δίσκοι εξαιτίας της μεταφοράς. + + Σε κάθε μεταφορά δεδομένων, ο δίσκος θα πρέπει πρώτα να τοποθετήσει + τις κεφαλές στο σωστό σημείο, να περιμένει να περάσει ο πρώτος τομέας + κάτω από την κεφαλή ανάγνωσης, και έπειτα να εκτελέσει τη μεταφορά. + Οι ενέργειες αυτές μπορούν να θεωρηθούν ατομικές: δεν έχει νόημα να + προσπαθήσουμε να τις διακόψουμε. + + Ας θεωρήσουμε μια τυπική μεταφορά + περίπου 10 kB. Η τρέχουσα γενιά δίσκων υψηλής απόδοσης μπορεί να + τοποθετήσει τις κεφαλές στη σωστή θέση σε περίπου 3.5 ms. Οι πιο + γρήγοροι δίσκοι έχουν ταχύτητα περιστροφής 15.000 στροφές το λεπτό, + έτσι ο μέσος χρόνος καθυστέρησης περιστροφής (μισή περιστροφή) είναι + 2 ms. Με 70 MB/s, η μεταφορά αυτή καθ' αυτή θα χρειαστεί + περίπου 150 μs, σχεδόν τίποτα σε σχέση με το χρόνο που + χρειάζεται για την τοποθέτηση της κεφαλής στο σωστό σημείο. + Στην περίπτωση αυτή, ο πραγματικός ρυθμός μεταφοράς πέφτει σε λίγο + περισσότερο από ένα 1 ΜΒ/s και είναι εμφανές ότι εξαρτάται σε + μεγάλο βαθμό από το μέγεθος των δεδομένων που μεταφέρονται. + + Η παραδοσιακή και προφανής λύση σε αυτό το πρόβλημα, είναι να + προσθέσουμε περισσότερους δίσκους: αντί να + χρησιμοποιήσουμε ένα μεγάλο δίσκο, να βάλουμε πολλούς μικρότερους με + τον ίδιο τελικό αποθηκευτικό χώρο. Κάθε δίσκος έχει δυνατότητα να + μετακινεί τις κεφαλές και να μεταφέρει δεδομένα ανεξάρτητα από τους + άλλους, έτσι η πραγματική διαμεταγωγή αυξάνει αναλογικά με το πλήθος + των δίσκων που χρησιμοποιούνται. + + Η πραγματική αύξηση της διαμεταγωγής είναι φυσικά μικρότερη από το + πλήθος των δίσκων που χρησιμοποιούνται: αν και κάθε δίσκος είναι ικανός + να μεταφέρει δεδομένα παράλληλα με τους άλλους, δεν υπάρχει τρόπος να + εξασφαλίσουμε ότι οι αιτήσεις μεταφοράς κατανέμονται ομοιόμορφα σε όλους + τους δίσκους. Είναι αναπόφευκτο ότι το φορτίο σε ένα δίσκο θα είναι + μεγαλύτερο από το φορτίο σε κάποιο άλλο. disk concatenation Vinum concatenation - The evenness of the load on the disks is strongly dependent - on the way the data is shared across the drives. In the - following discussion, it is convenient to think of the disk - storage as a large number of data sectors which are addressable - by number, rather like the pages in a book. The most obvious - method is to divide the virtual disk into groups of consecutive - sectors the size of the individual physical disks and store them - in this manner, rather like taking a large book and tearing it - into smaller sections. This method is called - concatenation and has the advantage that - the disks are not required to have any specific size - relationships. It works well when the access to the virtual - disk is spread evenly about its address space. When access is - concentrated on a smaller area, the improvement is less marked. - illustrates the sequence in which - storage units are allocated in a concatenated - organization. + Η ομοιομορφία κατανομής του φορτίου στους δίσκους, εξαρτάται σε + μεγάλο βαθμό από τον τρόπο που έχουν μοιραστεί τα δεδομένα σε αυτούς. + Στην παρακάτω συζήτηση, είναι βολικό να σκεφτόμαστε τον αποθηκευτικό + χώρο ενός δίσκου ως ένα μεγάλο αριθμό από τομείς στους οποίους έχουμε + πρόσβαση με βάση ένα αριθμό, ακριβώς όπως οι σελίδες σε ένα βιβλίο. + Η πιο προφανής μέθοδος είναι να χωρίσουμε τον εικονικό δίσκο σε ομάδες + από συνεχόμενους τομείς, όπου καθεμία έχει το μέγεθος του πραγματικού + ανεξάρτητου φυσικού δίσκου, και να τις αποθηκεύσουμε με αυτό τον τρόπο, + περίπου σαν να παίρναμε ένα μεγάλο βιβλίο και να το χωρίζαμε σε + μικρότερους τόμους. Η μέθοδος αυτή ονομάζεται + συνένωση (concatenation) και έχει το πλεονέκτημα + ότι δεν απαιτεί τα μεγέθη των δίσκων να έχουν κάποια σχέση μεταξύ τους. + Λειτουργεί πολύ καλά όταν η πρόσβαση στον εικονικό δίσκο είναι + ομοιόμορφα κατανεμημένη σε όλη την περιοχή διευθύνσεων του. Όταν η + πρόσβαση συγκεντρώνεται σε μια μικρότερη περιοχή, η βελτίωση είναι + μικρότερη. Το δείχνει την ακολουθία με + την οποία γίνεται η κατανομή των θέσεων αποθήκευσης όταν + χρησιμοποιείται η συνένωση.
- Concatenated Organization + Οργάνωση Συνένωσης
disk striping Vinum striping RAID - An alternative mapping is to divide the address space into - smaller, equal-sized components and store them sequentially on - different devices. For example, the first 256 sectors may be - stored on the first disk, the next 256 sectors on the next disk - and so on. After filling the last disk, the process repeats - until the disks are full. This mapping is called - striping or RAID-0 - - - RAID stands for Redundant - Array of Inexpensive Disks and offers various forms - of fault tolerance, though the latter term is somewhat - misleading: it provides no redundancy. . - - Striping requires somewhat more effort to locate the data, and it - can cause additional I/O load where a transfer is spread over - multiple disks, but it can also provide a more constant load - across the disks. illustrates the - sequence in which storage units are allocated in a striped - organization. + Ένας εναλλακτικός τρόπος αποθήκευσης, είναι να χωριστεί η περιοχή + διευθύνσεων σε μικρότερα τμήματα ίσου μεγέθους τα οποία να αποθηκεύονται + σειριακά σε διαφορετικές συσκευές. Για παράδειγμα, οι πρώτοι 256 τομείς + μπορεί να είναι αποθηκευμένοι στον πρώτο δίσκο, οι επόμενοι 256 στον + επόμενο δίσκο, κ.ο.κ. Μετά την χρήση και του τελευταίου δίσκου, + η διαδικασία επαναλαμβάνεται μέχρι να γεμίσουν όλοι οι δίσκοι. Αυτή + η μέθοδος ονομάζεται striping ή + RAID-0. + + + Το RAID σημαίνει Redundant + Array of Inexpensive Disks και παρέχει διάφορες μορφές + ανοχής σε σφάλματα, αν και στην παραπάνω χρήση ο όρος είναι + κάπως παραπλανητικός: το RAID-0 δεν παρέχει καμιά + τέτοια προστασία δεδομένων. + + + Το striping απαιτεί κάπως περισσότερη προσπάθεια για τον εντοπισμό των + δεδομένων και μπορεί να προκαλέσει μεγαλύτερο φορτίο I/O όταν μια + μεταφορά κατανέμεται σε πολλαπλούς δίσκους, αλλά από την άλλη + επιτυγχάνει μεγαλύτερο σταθερό φορτίο σε κάθε δίσκο. + Το δείχνει τη σειρά με την οποία + χρησιμοποιούνται οι μονάδες αποθήκευσης σε μια οργάνωση τύπου + stripe.
- Striped Organization + Striped Organization
- Data Integrity - - The final problem with current disks is that they are - unreliable. Although disk drive reliability has increased - tremendously over the last few years, they are still the most - likely core component of a server to fail. When they do, the - results can be catastrophic: replacing a failed disk drive and - restoring data to it can take days. - - - disk mirroring - - - Vinum - mirroring - - - RAID-1 - - - The traditional way to approach this problem has been - mirroring, keeping two copies of the data - on different physical hardware. Since the advent of the - RAID levels, this technique has also been - called RAID level 1 or - RAID-1. Any write to the volume writes to - both locations; a read can be satisfied from either, so if one - drive fails, the data is still available on the other - drive. - - Mirroring has two problems: - - - - The price. It requires twice as much disk storage as - a non-redundant solution. - - - - The performance impact. Writes must be performed to - both drives, so they take up twice the bandwidth of a - non-mirrored volume. Reads do not suffer from a - performance penalty: it even looks as if they are - faster. - - - - RAID-5An - alternative solution is parity, - implemented in the RAID levels 2, 3, 4 and - 5. Of these, RAID-5 is the most - interesting. As implemented in Vinum, it is a variant on a - striped organization which dedicates one block of each stripe - to parity of the other blocks. As implemented by Vinum, a - RAID-5 plex is similar to a striped plex, - except that it implements RAID-5 by - including a parity block in each stripe. As required by - RAID-5, the location of this parity block - changes from one stripe to the next. The numbers in the data - blocks indicate the relative block numbers. + Ακεραιότητα Δεδομένων - -
- RAID-5 Organization - -
-
+ Το τελευταίο πρόβλημα με την τρέχουσα τεχνολογία δίσκων, είναι + η αναξιοπιστία τους. Αν και τα τελευταία χρόνια η αξιοπιστία των + δίσκων έχει αυξηθεί σημαντικά, εξακολουθούν να είναι το εξάρτημα με + το μεγαλύτερο ρυθμό αποτυχίας στους εξυπηρετητές. Όταν αποτύχει ένας + δίσκος, τα αποτελέσματα μπορεί να είναι καταστροφικά: η αντικατάσταση + ενός χαλασμένου δίσκου και η αντιγραφή των δεδομένων στο νέο μπορεί + να διαρκέσει μέρες. - Compared to mirroring, RAID-5 has the - advantage of requiring significantly less storage space. Read - access is similar to that of striped organizations, but write - access is significantly slower, approximately 25% of the read - performance. If one drive fails, the array can continue to - operate in degraded mode: a read from one of the remaining - accessible drives continues normally, but a read from the - failed drive is recalculated from the corresponding block from - all the remaining drives. - + + disk mirroring + + + Vinum + mirroring + + + RAID-1 + + + Ο παραδοσιακός τρόπος αντιμετώπισης αυτού του προβλήματος είναι το + mirroring (καθρεπτισμός), η διατήρηση δηλαδή δύο + αντιγράφων των δεδομένων σε διαφορετικούς δίσκους. Με την εφεύρεση των + διάφορων επιπέδων RAID, η τεχνική αυτή έγινε επίσης + γνωστή με την ονομασία RAID επιπέδου 1 ή απλώς + RAID-1. Κάθε εγγραφή στον τόμο γίνεται και στους + δύο δίσκους. Η ανάγνωση μπορεί να γίνει από οποιοδήποτε δίσκο, έτσι + αν ένας από τους δύο αποτύχει, τα δεδομένα εξακολουθούν να είναι + διαθέσιμα στον άλλο. + + Το mirroring έχει δύο προβλήματα: + + + + Το κόστος. Απαιτεί διπλάσιο κόστος από οποιαδήποτε λύση δεν + προσφέρει αυτή τη λειτουργία. + + + + Τη μείωση της απόδοσης. Οι εγγραφές πρέπει να + γίνονται και στους δύο δίσκους, καταναλώνοντας έτσι το διπλάσιο + εύρος ζώνης σε σχέση με ένα τόμο που δεν χρησιμοποιεί mirror. + Η ανάγνωση δεν υποφέρει από το ίδιο πρόβλημα. Μάλιστα φαίνεται + να είναι και γρηγορότερη. + + + + RAID-5Μια εναλλακτική + λύση είναι το parity (ισοτιμία), το οποίο + υλοποιείται στα επίπεδα 2, 3, 4 και 5 του RAID. + Από τα επίπεδα αυτά, το RAID-5 είναι το πιο + ενδιαφέρον. Ο τρόπος που υλοποιείται στο Vinum, είναι μια παραλλαγή + της οργάνωσης δεδομένων που χρησιμοποιείται στο stripe, με τη διαφορά + ότι ένα μπλοκ από κάθε stripe χρησιμοποιείται για να αποθηκεύει την + ισοτιμία ενός άλλου μπλοκ. Στο Vinum, μια συστοιχία + RAID-5, είναι παρόμοια με μια συστοιχία stripe, + εκτός από το γεγονός ότι υλοποιεί RAID-5 καθώς κάθε + stripe περιέχει και μπλοκ ισοτιμίας. Η τοποθεσία του μπλοκ ισοτιμίας, + αλλάζει από το ένα stripe στο επόμενο, κάτι που απαιτείται από το + RAID-5. Οι αριθμοί στα μπλοκ δεδομένων αναφέρονται + στη σχετική αρίθμηση τους. + + +
+ RAID-5 Organization + +
+
+ + Σε σύγκριση με το mirror, το RAID-5 έχει το + πλεονέκτημα να απαιτεί σημαντικά λιγότερο χώρο αποθήκευσης. Η ταχύτητα + ανάγνωσης είναι ίδια με το stripe, αλλά η εγγραφή είναι σημαντικά πιο + αργή, περίπου το 25% της απόδοσης κατά την ανάγνωση. Αν ένας δίσκος + χαλάσει, η συστοιχία εξακολουθεί να λειτουργεί σε ελαττωμένη (degraded) + κατάσταση: η ανάγνωση από τους δίσκους που λειτουργούν κανονικά + συνεχίζεται απροβλημάτιστα, αλλά η ανάγνωση δεδομένων που βρίσκονταν + στον προβληματικό δίσκο πρέπει να επαναϋπολογιστεί με βάση τα + αντίστοιχα μπλοκ ισοτιμίας που βρίσκονται σε όλους τους άλλους + δίσκους.
- Vinum Objects - In order to address these problems, Vinum implements a four-level - hierarchy of objects: + Αντικείμενα του Vinum - - - The most visible object is the virtual disk, called a - volume. Volumes have essentially the same - properties as a &unix; disk drive, though there are some minor - differences. They have no size limitations. - + Για την αντιμετώπιση των παραπάνω προβλημάτων, το Vinum υλοποιεί μια + ιεραρχία αντικειμένων τεσσάρων επιπέδων: - - Volumes are composed of plexes, - each of which represent the total address space of a - volume. This level in the hierarchy thus provides - redundancy. Think of plexes as individual disks in a - mirrored array, each containing the same data. - + + + Το πλέον ορατό αντικείμενο είναι ο εικονικός δίσκος, ο οποίος + καλείται και τόμος (volume). Οι τόμοι έχουν + ουσιαστικά τις ίδιες ιδιότητες με ένα δίσκο του &unix;, αν και + υπάρχουν κάποιες μικρές διαφορές. Δεν υπάρχουν περιορισμοί όσο + αφορά το μέγεθος τους. + - - Since Vinum exists within the &unix; disk storage - framework, it would be possible to use &unix; - partitions as the building block for multi-disk plexes, - but in fact this turns out to be too inflexible: - &unix; disks can have only a limited number of - partitions. Instead, Vinum subdivides a single - &unix; partition (the drive) - into contiguous areas called - subdisks, which it uses as building - blocks for plexes. - - - - Subdisks reside on Vinum drives, - currently &unix; partitions. Vinum drives can - contain any number of subdisks. With the exception of a - small area at the beginning of the drive, which is used - for storing configuration and state information, the - entire drive is available for data storage. - - + + Οι τόμοι αποτελούνται από plex, και κάθε + ένα από αυτά αντιπροσωπεύει το συνολικό χώρο διευθύνσεων ενός + τόμου. Αυτό το επίπεδο στην ιεραρχία παρέχει τη δυνατότητα + redundancy. Μπορείτε να σκεφτείτε τα plex ως μεμονωμένους δίσκους + σε μια συστοιχία mirror, όπου κάθε ένα περιέχει τα ίδια + δεδομένα. + - The following sections describe the way these objects provide the - functionality required of Vinum. + + Καθώς το Vinum υπάρχει μέσα στο πλαίσιο λειτουργιών του &unix; + που χρησιμοποιείται για την αποθήκευση σε δίσκους, θα μπορούσε + να χρησιμοποιήσει τις κατατμήσεις του &unix; ως το δομικό στοιχείο + για τη δημιουργία των plex. Στην πραγματικότητα, η λογική αυτή + αποδεικνύεται ιδιαίτερα περιοριστική: οι δίσκοι στο &unix; μπορούν + να έχουν περιορισμένο αριθμό κατατμήσεων. Αντίθετα, το Vinum + υποδιαιρεί μια μόνο κατάτμηση του &unix; + (τον οδηγό) σε συνεχόμενες περιοχές που + καλούνται υποδίσκοι (subdisks). Οι υποδίσκοι + χρησιμοποιούνται ως τα δομικά στοιχεία για τα plex. + + + + Οι υποδίσκοι βρίσκονται σε οδηγούς Vinum, + που τη δεδομένη στιγμή είναι κατατμήσεις του &unix;. Οι οδηγοί του + Vinum μπορούν να περιέχουν οποιοδήποτε αριθμό από υποδίσκους. Με + εξαίρεση μια μικρή περιοχή στην αρχή του δίσκου (η οποία + χρησιμοποιείται για την αποθήκευση δεδομένων ρύθμισης και + κατάστασης) όλος ο υπόλοιπος οδηγός είναι διαθέσιμος για αποθήκευση + δεδομένων. + + + + Οι παρακάτω ενότητες περιγράφουν τον τρόπο με τον οποίο αυτά τα + αντικείμενα παρέχουν την λειτουργικότητα που απαιτείται από το + Vinum. - Volume Size Considerations + Μέγεθος Τόμου - Plexes can include multiple subdisks spread over all - drives in the Vinum configuration. As a result, the size of - an individual drive does not limit the size of a plex, and - thus of a volume. + Τα plex μπορούν να περιλαμβάνουν πολλαπλούς υποδίσκους, που + κατανέμονται σε όλους τους οδηγούς του Vinum. Σαν αποτέλεσμα, το + μέγεθος ενός συγκεκριμένου δίσκου δεν περιορίζει το μέγεθος ούτε του + plex, ούτε του τόμου. - + - Redundant Data Storage - Vinum implements mirroring by attaching multiple plexes to - a volume. Each plex is a representation of the data in a - volume. A volume may contain between one and eight - plexes. - - Although a plex represents the complete data of a volume, - it is possible for parts of the representation to be - physically missing, either by design (by not defining a - subdisk for parts of the plex) or by accident (as a result of - the failure of a drive). As long as at least one plex can - provide the data for the complete address range of the volume, - the volume is fully functional. + Πλεονάζουσα (Redundant) Αποθήκευση Δεδομένων + + Το Vinum υλοποιεί το mirroring προσαρτώντας πολλαπλά plex σε + ένα τόμο. Κάθε plex είναι μια αναπαράσταση των δεδομένων ενός τόμου. + Ένας τόμος μπορεί να περιέχει μεταξύ ενός και οκτώ plex. + + Αν και ένα plex αντιπροσωπεύει τα πλήρη δεδομένα ενός τόμου, + είναι πιθανόν κάποια μέρη της αναπαράστασης να λείπουν από το φυσικό + μέσο, είτε επειδή έχει σχεδιαστεί με αυτό το τρόπο (αν δεν έχει + οριστεί υποδίσκος για κάποια τμήματα του plex) ή από πρόβλημα (ως + αποτέλεσμα της αποτυχίας κάποιου δίσκου). Όσο υπάρχει τουλάχιστον + ένα plex που μπορεί να παρέχει τα δεδομένα για την πλήρη περιοχή + διευθύνσεων του τόμου, ο τόμος είναι πλήρως λειτουργικός. - + - Performance Issues + Θέματα Απόδοσης - Vinum implements both concatenation and striping at the - plex level: + Το Vinum υλοποιεί τόσο συνένωση όσο και striping σε επίπεδο + plex: - A concatenated plex uses the - address space of each subdisk in turn. + Ένα plex συνένωσης (concatenated) + χρησιμοποιεί την περιοχή διευθύνσεων κάθε υποδίσκου με τη + σειρά. - A striped plex stripes the data - across each subdisk. The subdisks must all have the same - size, and there must be at least two subdisks in order to - distinguish it from a concatenated plex. + Ένα striped plex γράφει τα δεδομένα + σε λωρίδες (stripes) που κατανέμονται σε κάθε υποδίσκο. Όλοι οι + υποδίσκοι πρέπει να έχουν το ίδιο μέγεθος και πρέπει να υπάρχουν + τουλάχιστον δύο υποδίσκοι, για να ξεχωρίζουν σε σχέση με το plex + συνένωσης. - Which Plex Organization? - The version of Vinum supplied with FreeBSD &rel.current; implements - two kinds of plex: - + Είδη Οργάνωσης Plex + + Η έκδοση του Vinum που παρέχεται με το &os; &rel.current; + υλοποιεί δύο είδη plex: + - Concatenated plexes are the most flexible: they can - contain any number of subdisks, and the subdisks may be of - different length. The plex may be extended by adding - additional subdisks. They require less - CPU time than striped plexes, though - the difference in CPU overhead is not - measurable. On the other hand, they are most susceptible - to hot spots, where one disk is very active and others are - idle. - + Τα plex συνένωσης προσφέρουν τη μεγαλύτερη ευελιξία: μπορούν + να περιέχουν οποιοδήποτε αριθμό υποδίσκων, και οι υποδίσκοι αυτοί + μπορεί να είναι διαφορετικού μεγέθους. Το plex μπορεί να + επεκταθεί προσθέτοντας περισσότερους υποδίσκους. Χρειάζονται + λιγότερο χρόνο CPU σε σχέση με τα stripes, αν + και η διαφορά στη χρήση της CPU δεν είναι + μετρήσιμη. Από την άλλη μεριά, είναι πιο επιρρεπή σε + μη-ισορροπημένη λειτουργία, όπου ένας δίσκος είναι πολύ ενεργός + και οι υπόλοιποι αδρανούν. + - The greatest advantage of striped - (RAID-0) plexes is that they reduce hot - spots: by choosing an optimum sized stripe (about - 256 kB), you can even out the load on the component - drives. The disadvantages of this approach are - (fractionally) more complex code and restrictions on - subdisks: they must be all the same size, and extending a - plex by adding new subdisks is so complicated that Vinum - currently does not implement it. Vinum imposes an - additional, trivial restriction: a striped plex must have - at least two subdisks, since otherwise it is - indistinguishable from a concatenated plex. + Το μεγαλύτερο πλεονέκτημα των stripes + (RAID-0), είναι ότι έχουν πιο ισορροπημένη + λειτουργία: επιλέγοντας το σωστό μέγεθος λωρίδας (περίπου + 256 kB), μπορείτε να εξισορροπήσετε το φορτίο σε κάθε δίσκο + του plex. Τα μειονεκτήματα αυτής της μεθόδου είναι (ελαφρά) πιο + πολύπλοκος κώδικας και περιορισμοί στους υποδίσκους: πρέπει όλοι + να είναι το ίδιο μέγεθος και η επέκταση ενός plex με προσθήκη + περισσότερων δίσκων είναι τόσο πολύπλοκη που τη δεδομένη στιγμή + το Vinum δεν την υλοποιεί. Το Vinum επίσης επιβάλλει ένα ακόμα + απλοϊκό περιορισμό: ένα plex τύπου stripe πρέπει να διαθέτει + υποχρεωτικά δύο τουλάχιστον υποδίσκους, διαφορετικά είναι + αδύνατο να το ξεχωρίσουμε από ένα plex συνένωσης. - - summarizes the advantages - and disadvantages of each plex organization. - + + Ο δείχνει περιληπτικά τα + πλεονεκτήματα και μειονεκτήματα κάθε είδους οργάνωσης plex. + - Vinum Plex Organizations + Είδη Οργάνωσης Vinum Plex - Plex type - Minimum subdisks - Can add subdisks - Must be equal size - Application + Τύπος plex + Ελάχιστο πλήθος υποδίσκων + Δυνατότητα προσθήκης υποδίσκων + Οι υποδίσκοι πρέπει να είναι ίδιου μεγέθους + Εφαρμογή - concatenated + συνένωσης (concatenated) 1 - yes - no - Large data storage with maximum placement flexibility - and moderate performance + ναι + όχι + Αποθήκευση μεγάλου όγκου δεδομένων με μέγιστη ευελιξία + στον τρόπο κατανομής και μέτρια απόδοση. - + striped 2 - no - yes - High performance in combination with highly concurrent - access + όχι + ναι + Υψηλή απόδοση σε συνδυασμό με πολύ καλές ταχύτητες σε + καταστάσεις πολλαπλής πρόσβασης.
- + - Some Examples - - Vinum maintains a configuration - database which describes the objects known to an - individual system. Initially, the user creates the - configuration database from one or more configuration files with - the aid of the &man.gvinum.8; utility program. Vinum stores a - copy of its configuration database on each disk slice (which - Vinum calls a device) under its control. - This database is updated on each state change, so that a restart - accurately restores the state of each Vinum object. - + Μερικά Παραδείγματα + + Το Vinum διατηρεί μια + βάση δεδομένων με τις ρυθμίσεις του η οποία + περιγράφει τα αντικείμενα τα οποία γνωρίζει ένα συγκεκριμένο σύστημα. + Αρχικά, ο χρήστης δημιουργεί αυτή τη βάση δεδομένων από ένα ή + περισσότερα αρχεία ρυθμίσεων, με την βοήθεια του προγράμματος + &man.gvinum.8;. Το vinum αποθηκεύει ένα αντίγραφο της βάσης + δεδομένων σε κάθε slice του δίσκου (που το Vinum αποκαλεί + συσκευή) που βρίσκεται υπό τον έλεγχο του. + Η βάση δεδομένων ανανεώνεται σε κάθε αλλαγή κατάστασης, ώστε + όλα τα αντικείμενα του Vinum να επανέρχονται στη σωστή κατάσταση μετά + από μια επανεκκίνηση. + - The Configuration File - The configuration file describes individual Vinum objects. The - definition of a simple volume might be: + Το Αρχείο Ρυθμίσεων + + Το αρχείο ρυθμίσεων περιγράφει τα μεμονωμένα αντικείμενα του + Vinum. Ο ορισμός για ένα απλό τόμο μπορεί να μοιάζει με τον + παρακάτω: drive a device /dev/da3h volume myvol plex org concat sd length 512m drive a - This file describes four Vinum objects: + Αυτό το αρχείο περιγράφει τέσσερα αντικείμενα του Vinum: - The drive line describes a disk - partition (drive) and its location - relative to the underlying hardware. It is given the - symbolic name a. This separation of - the symbolic names from the device names allows disks to - be moved from one location to another without - confusion. + Η γραμμή drive περιγράφει μια κατάτμηση + δίσκου (οδηγού) και τη θέση της σε σχέση με + το φυσικό δίσκο. Δίνεται σε αυτή το συμβολικό όνομα + a. Αυτός ο διαχωρισμός των συμβολικών από + τα πραγματικά ονόματα συσκευών, μας επιτρέπει να μεταφέρουμε + δίσκους από μια θέση σε μια άλλη χωρίς να προκληθεί + σύγχυση. - The volume line describes a volume. - The only required attribute is the name, in this case - myvol. + Η γραμμή volume περιγράφει ένα τόμο. + Το μόνο απαιτούμενο χαρακτηριστικό εδώ είναι το όνομα, στην + περίπτωση μας myvol. - The plex line defines a plex. - The only required parameter is the organization, in this - case concat. No name is necessary: - the system automatically generates a name from the volume - name by adding the suffix - .px, where - x is the number of the plex in the - volume. Thus this plex will be called - myvol.p0. + Η γραμμή plex ορίζει ένα plex. + Η μόνη απαραίτητη παράμετρος είναι το είδος της οργάνωσης, στη + συγκεκριμένη περίπτωση το concat. Δεν + είναι απαραίτητο να δοθεί όνομα: το σύστημα παράγει αυτόματα + ένα όνομα χρησιμοποιώντας το όνομα του τόμου και την κατάληξη + .px, όπου το + x είναι ο αριθμός του plex στον τόμο. Έτσι, + αυτό το plex θα καλείται myvol.p0. - The sd line describes a subdisk. - The minimum specifications are the name of a drive on - which to store it, and the length of the subdisk. As with - plexes, no name is necessary: the system automatically - assigns names derived from the plex name by adding the - suffix .sx, - where x is the number of the subdisk - in the plex. Thus Vinum gives this subdisk the name + Η γραμμή sd περιγράφει ένα υποδίσκο. + Οι ελάχιστες απαιτούμενες προδιαγραφές είναι το όνομα ενός + δίσκου στον οποίο θα αποθηκευτεί, και το μήκος του υποδίσκου. + Όπως συμβαίνει και με τα plex, δεν απαιτείται όνομα: + το σύστημα αποδίδει ονόματα αυτόματα, χρησιμοποιώντας ως σημείο + εκκίνησης το όνομα του plex και προσθέτοντας την κατάληξη + .sx, όπου το + x είναι ο αριθμός του υποδίσκου στο plex. + Έτσι, το Vinum δίνει σε αυτόν τον υποδίσκο το όνομα myvol.p0.s0. - After processing this file, &man.gvinum.8; produces the following - output: + Μετά την επεξεργασία αυτού του αρχείου, το &man.gvinum.8; παράγει + την ακόλουθη έξοδο: &prompt.root; gvinum -> create config1 Configuration summary Drives: 1 (4 configured) Volumes: 1 (4 configured) Plexes: 1 (8 configured) Subdisks: 1 (16 configured) - + D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%) - + V myvol State: up Plexes: 1 Size: 512 MB - + P myvol.p0 C State: up Subdisks: 1 Size: 512 MB - + S myvol.p0.s0 State: up PO: 0 B Size: 512 MB - This output shows the brief listing format of &man.gvinum.8;. It - is represented graphically in . + Η παραπάνω έξοδος χρησιμοποιεί τη μορφή συντομευμένης λίστας του + &man.gvinum.8;. Η γραφική απεικόνιση φαίνεται στο .
- A Simple Vinum Volume + Ένας Απλός Τόμος Vinum
- This figure, and the ones which follow, represent a - volume, which contains the plexes, which in turn contain the - subdisks. In this trivial example, the volume contains one - plex, and the plex contains one subdisk. - - This particular volume has no specific advantage over a - conventional disk partition. It contains a single plex, so it - is not redundant. The plex contains a single subdisk, so - there is no difference in storage allocation from a - conventional disk partition. The following sections - illustrate various more interesting configuration - methods. + Στο σχήμα αυτό (καθώς και σε αυτά που ακολουθούν) υπάρχει η + αναπαράσταση ενός τόμου που περιέχει τα plex, τα οποία με τη + σειρά τους περιέχουν τους υποδίσκους. Σε αυτό το απλουστευμένο + παράδειγμα, ο τόμος περιέχει ένα plex και το plex περιέχει ένα + υποδίσκο. + + Ο τόμος αυτός δεν έχει κάποιο συγκεκριμένο + πλεονέκτημα σε σχέση με μια συμβατική κατάτμηση δίσκου. Περιέχει + ένα μόνο plex, άρα δεν έχει κάποια ικανότητα ανοχής σφαλμάτων. + Το plex περιέχει επίσης ένα υποδίσκο, και έτσι δεν υπάρχει διαφορά + στην κατανομή χώρου σε σχέση με μια συμβατική κατάτμηση. Στις + επόμενες ενότητες θα δείξουμε διαφορετικές και πιο ενδιαφέρουσες + μεθόδους ρύθμισης.
- Increased Resilience: Mirroring + Αυξημένη Αξιοπιστία: Mirroring - The resilience of a volume can be increased by mirroring. - When laying out a mirrored volume, it is important to ensure - that the subdisks of each plex are on different drives, so - that a drive failure will not take down both plexes. The - following configuration mirrors a volume: + Η αξιοπιστία ενός τόμου μπορεί να αυξηθεί μέσω του mirroring + (καθρεπτισμού). Όταν σχεδιάζετε ένα τόμο στον οποίο θα γίνει + mirroring, είναι σημαντικό να εξασφαλίσετε ότι οι υποδίσκοι σε κάθε + plex είναι σε διαφορετικούς οδηγούς, ώστε η αποτυχία ενός δίσκου να + μην προκαλέσει παύση λειτουργίας και στα δύο plex. Το παρακάτω + παράδειγμα δείχνει πως μπορεί να γίνει mirroring ενός τόμου: drive b device /dev/da4h volume mirror plex org concat sd length 512m drive a plex org concat sd length 512m drive b - In this example, it was not necessary to specify a - definition of drive a again, since Vinum - keeps track of all objects in its configuration database. - After processing this definition, the configuration looks - like: - + Στο παράδειγμα αυτό, δεν ήταν απαραίτητο να καθοριστεί ξανά ο + οδηγός a, καθώς το Vinum διαθέτει ήδη τις + αντίστοιχες καταχωρίσεις στη βάση δεδομένων με τις ρυθμίσεις του. + Μετά την επεξεργασία των παραπάνω ορισμών, η ρύθμιση μοιάζει με + την παρακάτω: Drives: 2 (4 configured) Volumes: 2 (4 configured) Plexes: 3 (8 configured) Subdisks: 3 (16 configured) - + D a State: up Device /dev/da3h Avail: 1549/2573 MB (60%) D b State: up Device /dev/da4h Avail: 2061/2573 MB (80%) V myvol State: up Plexes: 1 Size: 512 MB V mirror State: up Plexes: 2 Size: 512 MB - + P myvol.p0 C State: up Subdisks: 1 Size: 512 MB P mirror.p0 C State: up Subdisks: 1 Size: 512 MB P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB - + S myvol.p0.s0 State: up PO: 0 B Size: 512 MB S mirror.p0.s0 State: up PO: 0 B Size: 512 MB S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB - - shows the structure - graphically. + + Το αναπαριστά αυτή τη δομή + γραφικά.
- A Mirrored Vinum Volume + Ένας Mirrored Τόμος Vinum
- In this example, each plex contains the full 512 MB - of address space. As in the previous example, each plex - contains only a single subdisk. + Στο παράδειγμα αυτό, κάθε plex περιέχει την πλήρη περιοχή + διευθύνσεων, μεγέθους 512 MB. Όπως και στο προηγούμενο + παράδειγμα, κάθε plex περιέχει ένα μοναδικό υποδίσκο.
- Optimizing Performance - - The mirrored volume in the previous example is more - resistant to failure than an unmirrored volume, but its - performance is less: each write to the volume requires a write - to both drives, using up a greater proportion of the total - disk bandwidth. Performance considerations demand a different - approach: instead of mirroring, the data is striped across as - many disk drives as possible. The following configuration - shows a volume with a plex striped across four disk - drives: - - + Βελτιστοποιώντας την Απόδοση + + Ο mirrored τόμος του προηγούμενου παραδείγματος παρουσιάζει + μεγαλύτερη ανοχή σφαλμάτων σε σχέση με ένα τόμο που δεν χρησιμοποιεί + mirror, αλλά η απόδοση του είναι μικρότερη: κάθε εγγραφή στον + τόμο πρέπει να γίνεται και στους δύο δίσκους, χρησιμοποιώντας έτσι + μεγαλύτερο ποσοστό του διαθέσιμου εύρους ζώνης. Οι απαιτήσεις που + ενδεχομένως έχουμε για απόδοση, απαιτούν διαφορετική προσέγγιση: + αντί να χρησιμοποιήσουμε mirror, μπορούμε να δημιουργήσουμε λωρίδες + αποθήκευσης (stripes) σε όσο το δυνατόν περισσότερους δίσκους. + Η παρακάτω ρύθμιση δείχνει ένα τόμο στον οποίο το plex έχει γίνει + stripe σε τέσσερις δίσκους: + + drive c device /dev/da5h drive d device /dev/da6h volume stripe plex org striped 512k sd length 128m drive a sd length 128m drive b sd length 128m drive c sd length 128m drive d - As before, it is not necessary to define the drives which are - already known to Vinum. After processing this definition, the - configuration looks like: + Όπως και προηγουμένως, δεν χρειάζεται να ορίσουμε ξανά τους + δίσκους που είναι ήδη γνωστοί στο Vinum. Μετά την επεξεργασία του + παραπάνω ορισμού, η ρύθμιση θα μοιάζει με την παρακάτω: Drives: 4 (4 configured) Volumes: 3 (4 configured) Plexes: 4 (8 configured) Subdisks: 7 (16 configured) - + D a State: up Device /dev/da3h Avail: 1421/2573 MB (55%) D b State: up Device /dev/da4h Avail: 1933/2573 MB (75%) D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%) D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%) - + V myvol State: up Plexes: 1 Size: 512 MB V mirror State: up Plexes: 2 Size: 512 MB V striped State: up Plexes: 1 Size: 512 MB - + P myvol.p0 C State: up Subdisks: 1 Size: 512 MB P mirror.p0 C State: up Subdisks: 1 Size: 512 MB P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB P striped.p1 State: up Subdisks: 1 Size: 512 MB - + S myvol.p0.s0 State: up PO: 0 B Size: 512 MB S mirror.p0.s0 State: up PO: 0 B Size: 512 MB S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB S striped.p0.s0 State: up PO: 0 B Size: 128 MB S striped.p0.s1 State: up PO: 512 kB Size: 128 MB S striped.p0.s2 State: up PO: 1024 kB Size: 128 MB S striped.p0.s3 State: up PO: 1536 kB Size: 128 MB
- A Striped Vinum Volume + Ένας Striped Τόμος Vinum
- This volume is represented in - . The darkness of the stripes - indicates the position within the plex address space: the lightest stripes - come first, the darkest last. + Αυτός ο τόμος αναπαρίσταται γραφικά στο + . Η απόχρωση της λωρίδας + αντιπροσωπεύει τη θέση της μέσα στην περιοχή διευθύνσεων του plex: + οι ανοιχτόχρωμες λωρίδες είναι οι πρώτες, οι σκουρόχρωμες είναι οι + τελευταίες.
- Resilience and Performance + Αξιοπιστία και Απόδοση - With sufficient hardware, it - is possible to build volumes which show both increased - resilience and increased performance compared to standard - &unix; partitions. A typical configuration file might - be: + Με το κατάλληλο υλικό, είναι δυνατόν + να δημιουργηθούν τόμοι οι οποίοι να παρουσιάζουν τόσο μεγάλη ανοχή + σε σφάλματα, όσο και αυξημένη απόδοση σε σχέση με τις τυποποιημένες + κατατμήσεις του &unix;. Ένα τυπικό αρχείο ρυθμίσεων θα μοιάζει με το + παρακάτω: volume raid10 plex org striped 512k sd length 102480k drive a sd length 102480k drive b sd length 102480k drive c sd length 102480k drive d sd length 102480k drive e plex org striped 512k sd length 102480k drive c sd length 102480k drive d sd length 102480k drive e sd length 102480k drive a sd length 102480k drive b - The subdisks of the second plex are offset by two drives from those - of the first plex: this helps ensure that writes do not go to the same - subdisks even if a transfer goes over two drives. + Οι υποδίσκοι του δεύτερου plex έχουν μετατεθεί κατά δύο οδηγούς + σε σχέση με αυτούς του πρώτου plex: αυτό εξασφαλίζει ότι οι εγγραφές + δεν γίνονται στους ίδιους υποδίσκους, ακόμα και αν μια μεταφορά + χρησιμοποιεί και τους δύο δίσκους. - represents the structure - of this volume. + Το αναπαριστά γραφικά τη δομή + αυτού του τόμου.
- A Mirrored, Striped Vinum Volume + Ένας Mirrored και Striped Τόμος του Vinum -
+
- - - Object Naming - - As described above, Vinum assigns default names to plexes - and subdisks, although they may be overridden. Overriding the - default names is not recommended: experience with the VERITAS - volume manager, which allows arbitrary naming of objects, has - shown that this flexibility does not bring a significant - advantage, and it can cause confusion. - - Names may contain any non-blank character, but it is - recommended to restrict them to letters, digits and the - underscore characters. The names of volumes, plexes and - subdisks may be up to 64 characters long, and the names of - drives may be up to 32 characters long. - Vinum objects are assigned device nodes in the hierarchy - /dev/gvinum. The configuration shown above - would cause Vinum to create the following device nodes: + + Ονομασία Αντικειμένων + + Όπως περιγράψαμε παραπάνω, το Vinum αποδίδει προεπιλεγμένα ονόματα + σε plex και υποδίσκους, αν και υπάρχει η δυνατότητα να τα + παρακάμψετε. Αυτό ωστόσο δεν συνίσταται: η εμπειρία που έχουμε από + το διαχειριστή τόμων VERITAS (ο οποίος επιτρέπει ελεύθερη απόδοση + ονομάτων στα αντικείμενα) έχει δείξει ότι αυτού του είδους η ευελιξία + δεν προσφέρει σημαντικά πλεονεκτήματα, και μπορεί να προκαλέσει + σύγχυση. + + Τα ονόματα μπορεί να περιέχουν οποιοδήποτε μη-κενό χαρακτήρα, αλλά + συνίσταται να περιοριστείτε στη χρήση γραμμάτων, αριθμών και της κάτω + παύλας. Τα ονόματα των τόμων, των plex και των υποδίσκων μπορεί να + είναι μέχρι 64 χαρακτήρες, ενώ τα ονόματα των δίσκων μπορεί να είναι + μέχρι 32 χαρακτήρες. + + Τα αρχεία συσκευών του Vinum δημιουργούνται στον κατάλογο + /dev/gvinum. Με τις ρυθμίσεις + που φαίνονται παραπάνω, το Vinum θα δημιουργήσει τα παρακάτω αρχεία + συσκευών: - This only applies to the historic Vinum - implemenation. - - The control devices - /dev/vinum/control and - /dev/vinum/controld, which are used - by &man.gvinum.8; and the Vinum daemon respectively. + + Το παρακάτω ισχύει μόνο στην παλιά υλοποίηση του + Vinum. + + + Οι συσκευές ελέγχου + /dev/vinum/control και + /dev/vinum/controld, που + χρησιμοποιούνται από το &man.gvinum.8; και το δαίμονα του Vinum + αντίστοιχα. - Device entries for each volume. - These are the main devices used by Vinum. Thus the configuration - above would include the devices - /dev/gvinum/myvol, - /dev/gvinum/mirror, - /dev/gvinum/striped, - /dev/gvinum/raid5 and - /dev/gvinum/raid10. + Καταχωρίσεις συσκευών για κάθε τόμο. Αυτές είναι και οι κύριες + συσκευές που χρησιμοποιεί το Vinum. Με τις ρυθμίσεις που δείξαμε + παραπάνω, θα έχουμε τις συσκευές: + /dev/gvinum/myvol, + /dev/gvinum/mirror, + /dev/gvinum/striped, + /dev/gvinum/raid5 και + /dev/gvinum/raid10. - This only applies to the historic Vinum - implemenation. - - A directory /dev/vinum/drive - with entries for each drive. These entries are in fact - symbolic links to the corresponding disk nodes. + + Το παρακάτω ισχύει μόνο για την παλιά υλοποίηση του + Vinum. + + + Ένας κατάλογος /dev/vinum/drive + με καταχωρίσεις για τον κάθε δίσκο. Στην πραγματικότητα, αυτές + οι καταχωρίσεις είναι συμβολικοί δεσμοί προς τα πραγματικά αρχεία + συσκευών των δίσκων. - All volumes get direct entries under - /dev/gvinum/. + Όλοι οι τόμοι διαθέτουν απευθείας καταχωρίσεις στον κατάλογο + /dev/gvinum/. - The directories - /dev/gvinum/plex, and - /dev/gvinum/sd, which contain - device nodes for each plex and for each subdisk, - respectively. + Οι κατάλογοι + /dev/gvinum/plex και + /dev/gvinum/sd, που + περιέχουν τα αρχεία συσκευών για κάθε plex και υποδίσκο + αντίστοιχα. - For example, consider the following configuration file: - + Για παράδειγμα, θεωρήστε το παρακάτω αρχείο ρυθμίσεων: + + drive drive1 device /dev/sd1h drive drive2 device /dev/sd2h drive drive3 device /dev/sd3h drive drive4 device /dev/sd4h volume s64 setupstate plex org striped 64k sd length 100m drive drive1 sd length 100m drive drive2 sd length 100m drive drive3 sd length 100m drive drive4 - After processing this file, &man.gvinum.8; creates the following - structure in /dev/gvinum: + Μετά την επεξεργασία αυτού του αρχείου, το &man.gvinum.8; θα + δημιουργήσει την ακόλουθη δομή στον κατάλογο + /dev/gvinum: drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 s64 drwxr-xr-x 2 root wheel 512 Apr 13 16:46 sd /dev/vinum/plex: total 0 crwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0 - + /dev/vinum/sd: total 0 crwxr-xr-- 1 root wheel 91, 0x20000002 Apr 13 16:46 s64.p0.s0 crwxr-xr-- 1 root wheel 91, 0x20100002 Apr 13 16:46 s64.p0.s1 crwxr-xr-- 1 root wheel 91, 0x20200002 Apr 13 16:46 s64.p0.s2 crwxr-xr-- 1 root wheel 91, 0x20300002 Apr 13 16:46 s64.p0.s3 - Although it is recommended that plexes and subdisks should - not be allocated specific names, Vinum drives must be named. - This makes it possible to move a drive to a different location - and still recognize it automatically. Drive names may be up to - 32 characters long. + Αν και συνίσταται να μην δίνονται συγκεκριμένα ονόματα στα plex + και τους υποδίσκους, θα πρέπει να δοθούν ονόματα στους δίσκους του + Vinum. Με τον τρόπο αυτό, ο δίσκος αναγνωρίζεται αυτόματα ακόμα και + αν αλλάξει θέση. Τα ονόματα των δίσκων μπορεί να έχουν μέγεθος μέχρι + 32 χαρακτήρες. - Creating File Systems - - Volumes appear to the system to be identical to disks, - with one exception. Unlike &unix; drives, Vinum does - not partition volumes, which thus do not contain a partition - table. This has required modification to some disk - utilities, notably &man.newfs.8;, which previously tried to - interpret the last letter of a Vinum volume name as a - partition identifier. For example, a disk drive may have a - name like /dev/ad0a or - /dev/da2h. These names represent - the first partition (a) on the - first (0) IDE disk (ad) and the - eighth partition (h) on the third - (2) SCSI disk (da) respectively. - By contrast, a Vinum volume might be called - /dev/gvinum/concat, a name which has - no relationship with a partition name. - - Normally, &man.newfs.8; interprets the name of the disk and - complains if it cannot understand it. For example: - - &prompt.root; newfs /dev/gvinum/concat + Δημιουργία Συστημάτων Αρχείων + + Οι τόμοι δείχνουν όμοιοι με τους δίσκους όσο αφορά το σύστημα, + με μια εξαίρεση. Αντίθετα με τους δίσκους του &unix;, το Vinum δεν + δημιουργεί κατατμήσεις στους τόμους, και έτσι απουσιάζει από αυτούς + ο αντίστοιχος πίνακας κατατμήσεων. Αυτό απαιτεί την τροποποίηση + κάποιων βοηθητικών προγραμμάτων και ειδικότερα του &man.newfs.8;, το + οποίο στις προηγούμενες υλοποιήσεις του προσπαθούσε να ερμηνεύσει + το τελευταίο γράμμα ενός τόμου Vinum ως αναγνωριστικό της κατάτμησης. + Για παράδειγμα, ένας κανονικός δίσκος μπορεί να έχει το όνομα + /dev/ad0a ή + /dev/da2h. + Τα ονόματα αυτά αντιπροσωπεύουν την πρώτη κατάτμηση + (a) στον πρώτο δίσκο IDE + (ad) και την όγδοη κατάτμηση + (h) στον τρίτο (2) SCSI δίσκο + (da) αντίστοιχα. Σε αντίθεση, ένας τόμος + του Vinum μπορεί να ονομάζεται /dev/gvinum/concat, το οποίο δεν + έχει καμιά σχέση με όνομα κατάτμησης. + + Φυσιολογικά, το &man.newfs.8; ερμηνεύει το όνομα του δίσκου και + θα παραπονεθεί αν δεν μπορεί να το κατανοήσει. + Για παράδειγμα: + + &prompt.root; newfs /dev/gvinum/concat newfs: /dev/gvinum/concat: can't figure out file system partition - In order to create a file system on this volume, use - &man.newfs.8;: + Για να δημιουργήσετε ένα σύστημα αρχείων σε αυτό τον τόμο, + χρησιμοποιήστε την &man.newfs.8;: - &prompt.root; newfs /dev/gvinum/concat + &prompt.root; newfs /dev/gvinum/concat - On &os; versions prior to 5.0 &man.newfs.8; requires - an additional -v flag and the old device naming - scheme: + + Σε εκδόσεις του &os; πριν από την 5.0, η &man.newfs.8; απαιτεί + την πρόσθετη επιλογή και τον παλιό τρόπο + ονομασίας των συσκευών: &prompt.root; newfs -v /dev/vinum/concat - + - - - Configuring Vinum - The GENERIC kernel does not contain - Vinum. It is possible to build a special kernel which includes - Vinum, but this is not recommended. The standard way to start - Vinum is as a kernel module (kld). You do - not even need to use &man.kldload.8; for Vinum: when you start - &man.gvinum.8;, it checks whether the module has been loaded, and - if it is not, it loads it automatically. + + Ρύθμιση του Vinum + Το Vinum δεν υπάρχει στον πυρήνα GENERIC. + Είναι δυνατόν να δημιουργήσετε προσαρμοσμένο πυρήνα που να το περιέχει, + αλλά δεν συνίσταται. Ο συνηθισμένος τρόπος να ξεκινήσετε το Vinum, + είναι να το φορτώσετε ως άρθρωμα στον πυρήνα (kld). + Δεν χρειάζεται καν να χρησιμοποιήσετε την &man.kldload.8; για το + Vinum: όταν ξεκινήσετε το &man.gvinum.8;, θα γίνει έλεγχος για να + διαπιστωθεί αν το άρθρωμα είναι φορτωμένο, και αν δεν είναι θα + φορτωθεί αυτόματα. - Startup + Εκκίνηση - Vinum stores configuration information on the disk slices - in essentially the same form as in the configuration files. - When reading from the configuration database, Vinum recognizes - a number of keywords which are not allowed in the - configuration files. For example, a disk configuration might - contain the following text: + Το Vinum αποθηκεύει τις πληροφορίες για τις ρυθμίσεις του στα + slices των δίσκων, ουσιαστικά με τον ίδιο τρόπο που τις αποθηκεύει + και στα αρχεία ρυθμίσεων. Όταν το Vinum διαβάζει τη βάση δεδομένων + των ρυθμίσεων, μπορεί να αναγνωρίσει ένα αριθμό λέξεων που δεν + επιτρέπεται να εμφανιστούν στα αρχεία ρυθμίσεων. Για παράδειγμα, οι + ρυθμίσεις για κάποιο δίσκο μπορεί να περιέχουν το παρακάτω + κείμενο: - volume myvol state up + volume myvol state up volume bigraid state down plex name myvol.p0 state up org concat vol myvol plex name myvol.p1 state up org concat vol myvol plex name myvol.p2 state init org striped 512b vol myvol plex name bigraid.p0 state initializing org raid5 512b vol bigraid sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b - - The obvious differences here are the presence of - explicit location information and naming (both of which are - also allowed, but discouraged, for use by the user) and the - information on the states (which are not available to the - user). Vinum does not store information about drives in the - configuration information: it finds the drives by scanning - the configured disk drives for partitions with a Vinum - label. This enables Vinum to identify drives correctly even - if they have been assigned different &unix; drive - IDs. - - - Automatic Startup - This information only relates to the historic - Vinum implementation. Gvinum always - features an automatic startup once the kernel module is - loaded. + Οι προφανείς διαφορές εδώ, είναι η παρουσία συγκεκριμένων + θέσεων και ονομάτων (και τα δύο είναι επιτρεπτά, αλλά γενικά δεν + συνίσταται η χρήση τους) και οι πληροφορίες κατάστασης (που + δεν είναι διαθέσιμες στο χρήστη). Το Vinum δεν αποθηκεύει + πληροφορίες σχετικές με τους δίσκους στις ρυθμίσεις του: απλώς + ανιχνεύει όλους τους δίσκους για κατατμήσεις που περιέχουν + ετικέτα Vinum. Αυτό επιτρέπει στο Vinum να αναγνωρίσει τους δίσκους + σωστά, ακόμα και αν τους έχει δοθεί διαφορετικό &unix; + αναγνωριστικό (ID). + + + Αυτόματη Εκκίνηση + + + Οι παρακάτω πληροφορίες αναφέρονται στην παλιά υλοποίηση του + Vinum. Το Gvinum ξεκινάει πάντοτε αυτόματα + μετά την φόρτωση του αρθρώματος μέσω του &man.loader.conf.5;. + Για να φορτώσετε το άρθρωμα του Gvinum κατά + την εκκίνηση, προσθέστε τη γραμμή + geom_vinum_load="YES" στο αρχείο + /boot/loader.conf. + - In order to start Vinum automatically when you boot the - system, ensure that you have the following line in your + Για να ξεκινάει το Vinum αυτόματα κατά την εκκίνηση του + συστήματος, βεβαιωθείτε ότι υπάρχει η παρακάτω γραμμή στο αρχείο /etc/rc.conf: start_vinum="YES" # set to YES to start vinum - If you do not have a file - /etc/rc.conf, create one with this - content. This will cause the system to load the Vinum - kld at startup, and to start any objects - mentioned in the configuration. This is done before - mounting file systems, so it is possible to automatically - &man.fsck.8; and mount file systems on Vinum volumes. - - When you start Vinum with the vinum - start command, Vinum reads the configuration - database from one of the Vinum drives. Under normal - circumstances, each drive contains an identical copy of the - configuration database, so it does not matter which drive is - read. After a crash, however, Vinum must determine which - drive was updated most recently and read the configuration - from this drive. It then updates the configuration if - necessary from progressively older drives. - + Αν δεν υπάρχει το αρχείο /etc/rc.conf, + δημιουργήστε ένα με το παραπάνω περιεχόμενο. Με αυτό τον τρόπο, + το σύστημα θα φορτώσει το Vinum kld κατά την + εκκίνηση, και θα ξεκινήσει επίσης τα αντικείμενα που αναφέρονται + στις ρυθμίσεις του. Η διαδικασία αυτή γίνεται πριν την προσάρτηση + των συστημάτων αρχείων, έτσι είναι δυνατόν να γίνει αυτόματος + έλεγχος (μέσω της &man.fsck.8;) και προσάρτηση των συστημάτων + αρχείων που βρίσκονται σε τόμους Vinum. + + Όταν ξεκινάτε το Vinum με την εντολή + vinum start, το Vinum διαβάζει τη βάση + δεδομένων ρυθμίσεων από έναν δίσκο που βρίσκεται υπό τον έλεγχο + του. Κάτω από φυσιολογικές συνθήκες, κάθε δίσκος περιέχει ένα + όμοιο αντίγραφο της βάσης, έτσι δεν έχει σημασία από ποιο δίσκο θα + γίνει η ανάγνωση. Ωστόσο, μετά από κάποιο απότομο τερματισμό + λειτουργίας, το Vinum θα πρέπει να καθορίσει ποιος δίσκος έχει το + πιο πρόσφατο αντίγραφο και να διαβάσει από εκεί τις ρυθμίσεις. + Μετά θα διορθώσει (αν χρειάζεται) τις ρυθμίσεις και στους + υπόλοιπους δίσκους. - Using Vinum for the Root Filesystem + Χρήση του Vinum στο Ριζικό Σύστημα Αρχείων - For a machine that has fully-mirrored filesystems using - Vinum, it is desirable to also mirror the root filesystem. - Setting up such a configuration is less trivial than mirroring - an arbitrary filesystem because: + Σε ένα μηχάνημα στο οποίο έχει γίνει πλήρες mirror στα συστήματα + αρχείων με τη χρήση του Vinum, είναι συνήθως επιθυμητό να γίνει mirror + και στο ριζικό (root) σύστημα αρχείων. Η ρύθμιση αυτή δεν είναι + τόσο απλή όσο σε ένα οποιοδήποτε σύστημα αρχείων, επειδή: - The root filesystem must be available very early during - the boot process, so the Vinum infrastructure must already be - available at this time. + Το ριζικό σύστημα αρχείων πρέπει να είναι διαθέσιμο από πολύ + νωρίς κατά τη διαδικασία εκκίνησης, έτσι είναι απαραίτητο οι + υποδομές του Vinum να είναι επίσης διαθέσιμες την ίδια + στιγμή. + - The volume containing the root filesystem also contains - the system bootstrap and the kernel, which must be read - using the host system's native utilities (e. g. the BIOS on - PC-class machines) which often cannot be taught about the - details of Vinum. + Ο τόμος που περιέχει το ριζικό σύστημα αρχείων περιέχει επίσης + και τον κώδικα εκκίνησης (bootstrap) και τον πυρήνα, ο οποίος + θα πρέπει να είναι προσβάσιμος από βασικά προγράμματα + του συστήματος (π.χ. το BIOS σε μηχανήματα τύπου PC), τα οποία δεν + γνωρίζουν και δεν μπορούν να μάθουν τις λεπτομέρειες υλοποίησης του + Vinum. - In the following sections, the term root - volume is generally used to describe the Vinum volume - that contains the root filesystem. It is probably a good idea - to use the name "root" for this volume, but - this is not technically required in any way. All command - examples in the following sections assume this name though. + Στις επόμενες ενότητες, ο όρος ριζικός τόμος + χρησιμοποιείται γενικά για να περιγράψει τον τόμο του Vinum που + περιέχει το ριζικό σύστημα αρχείων. Είναι γενικά καλή ιδέα να + χρησιμοποιείται το όνομα "root" για αυτό τον τόμο, + αλλά αυτό δεν αποτελεί τεχνική απαίτηση. Όλα τα παραδείγματα εντολών + στις παρακάτω ενότητες χρησιμοποιούν την παραπάνω παραδοχή. - Starting up Vinum Early Enough for the Root - Filesystem + Εκκίνηση του Vinum Αρκετά Νωρίς για το Ριζικό Σύστημα + Αρχείων - There are several measures to take for this to - happen: + Αυτό μπορεί να επιτευχθεί με διάφορους τρόπους: - Vinum must be available in the kernel at boot-time. - Thus, the method to start Vinum automatically described in - is not applicable to - accomplish this task, and the - start_vinum parameter must actually - not be set when the following setup - is being arranged. The first option would be to compile - Vinum statically into the kernel, so it is available all - the time, but this is usually not desirable. There is - another option as well, to have + Το Vinum πρέπει να είναι διαθέσιμο στο πυρήνα κατά την + εκκίνηση. Για το λόγο αυτό, η μέθοδος αυτόματης εκκίνησης που + περιγράψαμε στο δεν μπορεί να + χρησιμοποιηθεί σε αυτή την περίπτωση και η παράμετρος + start_vinum δεν θα πρέπει + να τεθεί όταν χρησιμοποιείται η παρακάτω διάταξη. Μια πιθανή + επιλογή είναι να μεταγλωττίσετε στατικά το Vinum στον πυρήνα + ώστε να είναι διαθέσιμο πάντα, αλλά αυτό συνήθως δεν είναι + επιθυμητό. Υπάρχει μια ακόμα διαθέσιμη επιλογή, να ορίσετε να + φορτώνεται το άρθρωμα του πυρήνα μέσω του /boot/loader () load the vinum kernel module - early, before starting the kernel. This can be - accomplished by putting the line: + linkend="boot-loader">) πριν την εκκίνηση του ίδιου του + πυρήνα. Αυτό μπορεί να επιτευχθεί με τη γραμμή: geom_vinum_load="YES" - into the file - /boot/loader.conf. + στο αρχείο /boot/loader.conf. - For Gvinum, all startup - is done automatically once the kernel module has been - loaded, so the procedure described above is all that is - needed. The following text documents the behaviour of - the historic Vinum system, for the sake of older - setups. - - Vinum must be initialized early since it needs to - supply the volume for the root filesystem. By default, - the Vinum kernel part is not looking for drives that might - contain Vinum volume information until the administrator - (or one of the startup scripts) issues a vinum - start command. - - The following paragraphs are outlining the steps - needed for FreeBSD 5.X and above. The setup required for - FreeBSD 4.X differs, and is described below in . - - By placing the line: + + Στο Gvinum, όλη η διαδικασία εκκίνησης + γίνεται αυτόματα μετά την φόρτωση του αρθρώματος πυρήνα, έτσι + η διαδικασία που περιγράψαμε παραπάνω είναι και η μόνη που + απαιτείται. Το παρακάτω κείμενο περιγράφει τη συμπεριφορά τη + παλιάς έκδοσης του Vinum, για την περίπτωση που το + χρησιμοποιείτε σε κάποιο παλιό σύστημα. + + + Το Vinum θα πρέπει να αρχικοποιηθεί νωρίς, καθώς θα πρέπει + να παρέχει τον τόμο του ριζικού συστήματος αρχείων. Από + προεπιλογή, το τμήμα του Vinum που εκτελείται στον πυρήνα, + δεν ανιχνεύει δίσκους που περιέχουν πληροφορίες Vinum μέχρι είτε + ο διαχειριστής, είτε κάποιο από τα script εκκίνησης να εκτελέσουν + την εντολή vinum start. + + + Οι ακόλουθες παράγραφοι, παραθέτουν τα βήματα που + απαιτούνται από το &os;. + + + Τοποθετώντας τη γραμμή: vinum.autostart="YES" - into /boot/loader.conf, Vinum is - instructed to automatically scan all drives for Vinum - information as part of the kernel startup. - - Note that it is not necessary to instruct the kernel - where to look for the root filesystem. - /boot/loader looks up the name of the - root device in /etc/fstab, and passes - this information on to the kernel. When it comes to mount - the root filesystem, the kernel figures out from the - device name provided which driver to ask to translate this - into the internal device ID (major/minor number). + στο /boot/loader.conf, δίνεται η οδηγία + στο Vinum να εκτελέσει ανίχνευση όλων των δίσκων για πληροφορίες + Vinum, ως τμήμα της διαδικασίας εκκίνησης του πυρήνα. + + Σημειώστε ότι δεν είναι απαραίτητο να ενημερώσετε τον + πυρήνα για την τοποθεσία του ριζικού συστήματος αρχείων. + Το /boot/loader ανιχνεύει το όνομα της + ριζικής συσκευής στο /etc/fstab και μεταφέρει + αυτή την πληροφορία στον πυρήνα. Όταν έρθει η ώρα να γίνει + προσάρτηση του ριζικού συστήματος αρχείων, ο πυρήνας αναγνωρίζει + από το όνομα της συσκευής ποιο πρόγραμμα οδήγησης θα πρέπει + να ρωτήσει για να εκτελέσει τη μετάφραση στο εσωτερικό + αναγνωριστικό (ID) της συσκευής (αριθμοί major/minor). - Making a Vinum-based Root Volume Accessible to the - Bootstrap - - Since the current FreeBSD bootstrap is only 7.5 KB of - code, and already has the burden of reading files (like - /boot/loader) from the UFS filesystem, it - is sheer impossible to also teach it about internal Vinum - structures so it could parse the Vinum configuration data, and - figure out about the elements of a boot volume itself. Thus, - some tricks are necessary to provide the bootstrap code with - the illusion of a standard "a" partition - that contains the root filesystem. - - For this to be possible at all, the following requirements - must be met for the root volume: + Δημιουργία Ριζικού Τόμου Vinum με Δυνατότητα Πρόσβασης από τον + Κώδικα Εκκίνησης (Bootstrap). + + Καθώς ο τρέχοντας κώδικας εκκίνησης του &os; έχει μέγεθος μόνο + 7.5 KB, και είναι ήδη επιφορτισμένος με την ανάγνωση αρχείων (όπως το + /boot/loader) από το σύστημα αρχείων UFS, είναι + πρακτικά αδύνατο να γνωρίζει και τις απαιτούμενες εσωτερικές δομές + του Vinum ώστε να μπορεί να ερμηνεύσει τις αντίστοιχες πληροφορίες + ρύθμισης και να μάθει τις λεπτομέρειες του τόμου εκκίνησης. Για το + λόγο αυτό, χρειάζεται να χρησιμοποιήσουμε κάποια τεχνάσματα ώστε να + δώσουμε στον κώδικα εκκίνησης την ψευδαίσθηση ύπαρξης μιας κανονικής + κατάτμησης "a" που να περιέχει το ριζικό σύστημα + αρχείων. + + Για να καταστεί αυτό δυνατό, θα πρέπει να πληρούνται ταυτόχρονα + όλες οι παρακάτω προϋποθέσεις όσο αφορά τον τόμο εκκίνησης: - The root volume must not be striped or RAID-5. + Ο τόμος εκκίνησης δεν θα πρέπει να είναι stripe ή + RAID-5. - The root volume must not contain more than one - concatenated subdisk per plex. + Ο τόμος εκκίνησης δεν θα πρέπει να περιέχει περισσότερους + από ένα συνενωμένους υποδίσκους ανά plex. - Note that it is desirable and possible that there are - multiple plexes, each containing one replica of the root - filesystem. The bootstrap process will, however, only use one - of these replica for finding the bootstrap and all the files, - until the kernel will eventually mount the root filesystem - itself. Each single subdisk within these plexes will then - need its own "a" partition illusion, for - the respective device to become bootable. It is not strictly - needed that each of these faked "a" - partitions is located at the same offset within its device, - compared with other devices containing plexes of the root - volume. However, it is probably a good idea to create the - Vinum volumes that way so the resulting mirrored devices are - symmetric, to avoid confusion. - - In order to set up these "a" partitions, - for each device containing part of the root volume, the - following needs to be done: + Σημειώστε ότι είναι συνήθως επιθυμητό και δυνατό να υπάρχουν + πολλαπλά plex, καθένα από τα οποία να είναι αντίγραφο του ριζικού + συστήματος αρχείων. Η διαδικασία εκκίνησης θα χρησιμοποιήσει ωστόσο + μόνο ένα από αυτά τα αντίγραφα για να βρει τον κώδικα εκκίνησης και + όλα τα αρχεία, μέχρι να γίνει τελικά η προσάρτηση του ριζικού + συστήματος αρχείων από τον ίδιο τον πυρήνα. Κάθε μοναδικός υποδίσκος + μέσα σε αυτά τα plex, θα χρειαστεί να διαθέτει τη δική του + ψευτο-κατάτμηση "a" ώστε η συσκευή να είναι + εκκινήσιμη. Δεν είναι απαραίτητο κάθε μια από αυτές τις + ψευτο-κατατμήσεις να βρίσκεται στην ίδια θέση μέσα στην συσκευή, + σε σχέση με άλλες συσκευές που περιέχουν plex με ριζικό σύστημα + αρχείων. Είναι όμως γενικά καλή ιδέα να δημιουργήσετε τους τόμους + του Vinum με τέτοιο τρόπο, ώστε οι συσκευές mirror που προκύπτουν να + είναι συμμετρικές για να αποφύγετε τη σύγχυση. + + Για να δημιουργηθούν αυτές οι τύπου "a" + κατατμήσεις για κάθε συσκευή που θα περιέχει τμήματα του ριζικού + τόμου, θα πρέπει να γίνουν τα ακόλουθα: - The location (offset from the beginning of the device) - and size of this device's subdisk that is part of the root - volume need to be examined, using the command: + Θα πρέπει να εξετάσετε τη θέση (την απόσταση από την αρχή της + συσκευής) και το μέγεθος της συσκευής υποδίσκου η οποία θα είναι + μέρος του ριζικού τόμου, χρησιμοποιώντας την εντολή: &prompt.root; gvinum l -rv root - Note that Vinum offsets and sizes are measured in - bytes. They must be divided by 512 in order to obtain the - block numbers that are to be used in the - bsdlabel command. + Σημειώστε ότι στο Vinum οι θέσεις και τα μεγέθη μετρούνται + σε bytes. Θα πρέπει να διαιρέσετε αυτούς τους αριθμούς με το 512 + για να βρείτε τους αριθμούς μπλοκ που θα χρησιμοποιήσετε στην + εντολή bsdlabel. - Run the command: + Εκτελέστε την εντολή: &prompt.root; bsdlabel -e devname - for each device that participates in the root volume. - devname must be either the name - of the disk (like da0) for disks - without a slice (aka. fdisk) table, or the name of the - slice (like ad0s1). - - If there is already an "a" - partition on the device (presumably, containing a - pre-Vinum root filesystem), it should be renamed to - something else, so it remains accessible (just in case), - but will no longer be used by default to bootstrap the - system. Note that active partitions (like a root - filesystem currently mounted) cannot be renamed, so this - must be executed either when being booted from a - Fixit medium, or in a two-step process, - where (in a mirrored situation) the disk that has not been - currently booted is being manipulated first. - - Then, the offset of the Vinum partition on this - device (if any) must be added to the offset of the - respective root volume subdisk on this device. The - resulting value will become the - "offset" value for the new - "a" partition. The - "size" value for this partition can be - taken verbatim from the calculation above. The - "fstype" should be - 4.2BSD. The + για κάθε συσκευή που συμμετέχει στο ριζικό τόμο. + Το devname θα πρέπει να είναι είτε το + όνομα του δίσκου (για παράδειγμα da0) + για δίσκους χωρίς slices (χωρίς δηλ. κατατμήσεις fdisk), ή το + όνομα του slice (για παράδειγμα, + ad0s1). + + Αν υπάρχει ήδη μια κατάτμηση "a" στη + συσκευή (που πιθανώς περιέχει το ριζικό σύστημα αρχείων που ήταν + σε χρήση πριν χρησιμοποιηθεί το Vinum), θα πρέπει να μετονομαστεί + σε κάτι άλλο ώστε να εξακολουθεί να είναι προσβάσιμο + (σε περίπτωση ανάγκης), αλλά δεν θα χρησιμοποιείται πλέον από + προεπιλογή για την εκκίνηση του συστήματος. Σημειώστε ότι οι + ενεργές κατατμήσεις (όπως για παράδειγμα ένα ριζικό σύστημα + αρχείων το οποίο είναι ήδη προσαρτημένο) δεν μπορούν να + μετονομαστούν. Θα πρέπει να εκτελέσετε την εντολή + χρησιμοποιώντας την επιλογή Fixit του CD + εγκατάστασης, ή να ακολουθήσετε μια διαδικασία δύο βημάτων + (σε περίπτωση που έχετε mirror) ξεκινώντας από τον ένα δίσκο και + μετονομάζοντας τον άλλο. + + Έπειτα θα πρέπει να προσθέσετε την απόσταση (offset, αν + υπάρχει) της κατάτμησης Vinum αυτής της συσκευής, με την απόσταση + του υποδίσκου του αντίστοιχου ριζικού τόμου της συσκευής. Η τιμή + που θα προκύψει θα είναι η απόσταση ("offset") + για τη νέα κατάτμηση "a". Μπορείτε να πάρετε + αυτούσια την τιμή "size" για αυτή την κατάτμηση + από τον υπολογισμό που κάνατε παραπάνω. Το + "fstype" θα πρέπει να είναι + 4.2BSD. Οι τιμές των "fsize", "bsize", - and "cpg" values should best be chosen - to match the actual filesystem, though they are fairly - unimportant within this context. - - That way, a new "a" partition will - be established that overlaps the Vinum partition on this - device. Note that the bsdlabel will - only allow for this overlap if the Vinum partition has - properly been marked using the "vinum" - fstype. + και "cpg" θα πρέπει να επιλεχθούν με τέτοιο + τρόπο ώστε να ταιριάζουν με το πραγματικό σύστημα αρχείων, αν και + δεν έχουν σημασία στη συγκεκριμένη περίπτωση. + + Με αυτό τον τρόπο, θα δημιουργηθεί μια νέα κατάτμηση + "a" η οποία επικαλύπτει την κατάτμηση του + Vinum σε αυτή τη συσκευή. Σημειώστε ότι η εντολή + bsdlabel θα επιτρέψει αυτή την επικάλυψη μόνο + αν η κατάτμηση του Vinum έχει επισημανθεί κατάλληλα με fstype + "vinum". - That's all! A faked "a" partition - does exist now on each device that has one replica of the - root volume. It is highly recommendable to verify the - result again, using a command like: + Αυτό είναι όλο! Υπάρχει πλέον μια ψευτο-κατάτμηση + "a" σε κάθε συσκευή η οποία έχει αντίγραφο του + ριζικού τόμου. Συνίσταται να επαληθεύσετε ξανά το αποτέλεσμα, + χρησιμοποιώντας μια εντολή όπως την παρακάτω: &prompt.root; fsck -n /dev/devnamea - It should be remembered that all files containing control - information must be relative to the root filesystem in the - Vinum volume which, when setting up a new Vinum root volume, - might not match the root filesystem that is currently active. - So in particular, the files /etc/fstab - and /boot/loader.conf need to be taken - care of. - - At next reboot, the bootstrap should figure out the - appropriate control information from the new Vinum-based root - filesystem, and act accordingly. At the end of the kernel - initialization process, after all devices have been announced, - the prominent notice that shows the success of this setup is a - message like: + Θα πρέπει να θυμάστε ότι οι θέσεις των αρχείων που περιέχουν + πληροφορίες ελέγχου πρέπει να είναι σχετικές ως προς το ριζικό + σύστημα αρχείων που βρίσκεται στο τόμο του Vinum, και ο οποίος + (κατά την δημιουργία καινούριου ριζικού τόμου Vinum) μπορεί να μην + ταιριάζει με το ριζικό σύστημα αρχείων που είναι ενεργό τη δεδομένη + στιγμή. Θα πρέπει ιδιαίτερα να φροντίσετε τα αρχεία + /etc/fstab και + /boot/loader.conf. + + Στην επόμενη επανεκκίνηση, ο κώδικας εκκίνησης θα πρέπει να + εντοπίσει τις κατάλληλες πληροφορίες ελέγχου από το νέο (Vinum) + ριζικό σύστημα αρχείων και να δράσει κατάλληλα. Στο τέλος της + διαδικασίας αρχικοποίησης του πυρήνα, και μετά την αναγγελία όλων + των συσκευών, το μήνυμα το οποίο δείχνει την επιτυχή λειτουργία + του εγχειρήματος μοιάζει με το παρακάτω: Mounting root from ufs:/dev/gvinum/root - Example of a Vinum-based Root Setup + Παράδειγμα Ρύθμισης Ριζικού Τόμου με Vinum - After the Vinum root volume has been set up, the output of - gvinum l -rv root could look like: + Μετά την ρύθμιση του ριζικού τόμου με το Vinum, η έξοδος της + εντολής gvinum l -rv root θα μοιάζει με την + παρακάτω: - + ... Subdisk root.p0.s0: Size: 125829120 bytes (120 MB) State: up Plex root.p0 at offset 0 (0 B) Drive disk0 (/dev/da0h) at offset 135680 (132 kB) Subdisk root.p1.s0: Size: 125829120 bytes (120 MB) State: up Plex root.p1 at offset 0 (0 B) Drive disk1 (/dev/da1h) at offset 135680 (132 kB) - + - The values to note are 135680 for the - offset (relative to partition - /dev/da0h). This translates to 265 - 512-byte disk blocks in bsdlabel's terms. - Likewise, the size of this root volume is 245760 512-byte - blocks. /dev/da1h, containing the - second replica of this root volume, has a symmetric - setup. + Οι τιμές που θα πρέπει να σημειώσετε είναι το + 135680 για την απόσταση (offset σε σχέση με την + κατάτμηση /dev/da0h). Αυτό + μεταφράζεται σε 265 block των 512 byte για την εντολή + bsdlabel. Παρόμοια, το μέγεθος του ριζικού τόμου + είναι 245760 μπλοκ των 512 byte. Το /dev/da1h, το οποίο περιέχει το + δεύτερο αντίγραφο του ριζικού τόμου, έχει συμμετρική ρύθμιση. - The bsdlabel for these devices might look like: + Το bsdlabel για αυτές τις συσκευές θα μοιάζει με το + παρακάτω: - + ... 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 245760 281 4.2BSD 2048 16384 0 # (Cyl. 0*- 15*) c: 71771688 0 unused 0 0 # (Cyl. 0 - 4467*) - h: 71771672 16 vinum # (Cyl. 0*- 4467*) - - - It can be observed that the "size" - parameter for the faked "a" partition - matches the value outlined above, while the - "offset" parameter is the sum of the offset - within the Vinum partition "h", and the - offset of this partition within the device (or slice). This - is a typical setup that is necessary to avoid the problem - described in . It can also - be seen that the entire "a" partition is - completely within the "h" partition - containing all the Vinum data for this device. - - Note that in the above example, the entire device is - dedicated to Vinum, and there is no leftover pre-Vinum root - partition, since this has been a newly set-up disk that was - only meant to be part of a Vinum configuration, ever. + h: 71771672 16 vinum # (Cyl. 0*- 4467*) + + Μπορείτε να παρατηρήσετε ότι η παράμετρος + "size" για την ψευτο-κατάτμηση + "a" ταιριάζει με την τιμή που δείξαμε παραπάνω, + ενώ η τιμή της παραμέτρου "offset" είναι το + άθροισμα της απόστασης ανάμεσα στην κατάτμηση Vinum + "h" και της απόστασης αυτής της κατάτμησης μέσα + στη συσκευή (ή το slice). Πρόκειται για μια τυπική ρύθμιση που είναι + απαραίτητη για να αποφευχθούν τα προβλήματα που περιγράφηκαν στο + . Μπορείτε επίσης να δείτε ότι + ολόκληρη η κατάτμηση "a" περιέχεται αυτούσια + μέσα στην "h" η οποία και περιέχει όλες τις + πληροφορίες Vinum της συσκευής. + + Σημειώστε ότι στο παραπάνω παράδειγμα η συσκευή χρησιμοποιείται + εξ' ολοκλήρου από το Vinum, και δεν υπάρχει κάποιο κατάλοιπο ριζικής + κατάτμησης από παλιότερη χρήση. Αυτό συμβαίνει επειδή πρόκειται για + δίσκο που χρησιμοποιήθηκε από την αρχή ως μέρος ενός συστήματος + Vinum. - Troubleshooting + Αντιμετώπιση Προβλημάτων - If something goes wrong, a way is needed to recover from - the situation. The following list contains few known pitfalls - and solutions. + Σε περίπτωση προβλήματος, θα χρειαστείτε κάποια μέθοδο + αντιμετώπισης. Η παρακάτω λίστα περιέχει μερικά από τα πιο + συνηθισμένα προβλήματα και τις λύσεις τους. - System Bootstrap Loads, but System Does Not Boot - - If for any reason the system does not continue to boot, - the bootstrap can be interrupted with by pressing the - space key at the 10-seconds warning. The - loader variables (like vinum.autostart) - can be examined using the show, and - manipulated using set or - unset commands. - - If the only problem was that the Vinum kernel module was - not yet in the list of modules to load automatically, a - simple load geom_vinum will help. - - When ready, the boot process can be continued with a - boot -as. The options - will request the kernel to ask for the - root filesystem to mount (), and make the - boot process stop in single-user mode (), - where the root filesystem is mounted read-only. That way, - even if only one plex of a multi-plex volume has been - mounted, no data inconsistency between plexes is being - risked. - - At the prompt asking for a root filesystem to mount, any - device that contains a valid root filesystem can be entered. - If /etc/fstab had been set up - correctly, the default should be something like - ufs:/dev/gvinum/root. A typical alternate - choice would be something like - ufs:da0d which could be a - hypothetical partition that contains the pre-Vinum root - filesystem. Care should be taken if one of the alias - "a" partitions are entered here that are - actually reference to the subdisks of the Vinum root device, - because in a mirrored setup, this would only mount one piece - of a mirrored root device. If this filesystem is to be - mounted read-write later on, it is necessary to remove the - other plex(es) of the Vinum root volume since these plexes - would otherwise carry inconsistent data. + Ο Κώδικας Εκκίνησης Φορτώνεται, Αλλά το Σύστημα δεν + Εκκινεί + + Αν για οποιοδήποτε λόγο το σύστημα δεν συνεχίζει την εκκίνηση, + θα πρέπει να διακόψετε την εκκίνηση μέσα στο χρονικό διάστημα των 10 + δευτερολέπτων που εμφανίζεται ο φορτωτής εκκίνησης, πιέζοντας το + πλήκτρο space. Μπορείτε να εξετάσετε τις τιμές + των μεταβλητών του φορτωτή + (όπως η vinum.autostart), χρησιμοποιώντας την + εντολή show, και να τις αλλάξετε με τις εντολές + set ή unset. + + Αν το μοναδικό πρόβλημα ήταν η απουσία του αρθρώματος + Vinum στη λίστα της αυτόματης φόρτωσης, αρκεί να δώσετε την + εντολή load geom_vinum. + + Όταν είστε έτοιμος, η εκκίνηση μπορεί να συνεχιστεί με την + εντολή boot -as. Οι επιλογές + θα οδηγήσουν τον πυρήνα να ρωτήσει για το + ριζικό σύστημα αρχείων που πρόκειται να προσαρτηθεί + (), και η διαδικασία εκκίνησης θα σταματήσει σε + κατάσταση ενός χρήστη (single user, λόγω της επιλογής + ), όπου η προσάρτηση του ριζικού συστήματος + είναι μόνο για ανάγνωση. Με τον τρόπο αυτό, ακόμα και αν έχει + προσαρτηθεί μόνο ένα plex ενός τόμου που αποτελείται από πολλά, + δεν υπάρχει κίνδυνος να δημιουργηθεί ασυνέπεια δεδομένων μεταξύ + των plex. + + Στην προτροπή που εμφανίζεται για το ριζικό σύστημα αρχείων που + πρόκειται να προσαρτηθεί, μπορείτε να εισάγετε οποιαδήποτε + συσκευή περιέχει ένα έγκυρο ριζικό σύστημα αρχείων. Αν το + /etc/fstab έχει ρυθμιστεί σωστά, η προεπιλογή + θα είναι κάτι σαν ufs:/dev/gvinum/root. + Μια τυπική εναλλακτική τοποθεσία θα μπορούσε να είναι το + ufs:da0d, μια υποθετική κατάτμηση + που περιέχει το παλιό (πριν το Vinum) ριζικό σύστημα αρχείων. + Αν πρόκειται να χρησιμοποιήσετε μια + από τις τύπου "a" ψευτο-κατατμήσεις που είναι + στην πραγματικότητα υποδίσκοι της ριζικής συσκευής του Vinum, θα + πρέπει να είστε προσεκτικός, γιατί αν χρησιμοποιείτε mirror θα + γίνει προσάρτηση μόνο του ενός τμήματος της συσκευής. + Αν πρόκειται να προσαρτήσετε αυτή τη συσκευή αργότερα με + δυνατότητα εγγραφής-ανάγνωσης, είναι απαραίτητο να αφαιρέσετε τα + υπόλοιπα plex του ριζικού τόμου του Vinum, καθώς αυτά θα περιέχουν + δεδομένα που δεν είναι σε συγχρονισμό με την κατάτμηση που έχετε + ήδη προσαρτήσει. - Only Primary Bootstrap Loads - - If /boot/loader fails to load, but - the primary bootstrap still loads (visible by a single dash - in the left column of the screen right after the boot - process starts), an attempt can be made to interrupt the - primary bootstrap at this point, using the - space key. This will make the bootstrap - stop in stage two, see . An - attempt can be made here to boot off an alternate partition, - like the partition containing the previous root filesystem - that has been moved away from "a" - above. + Φορτώνει Μόνο ο Βασικός Κώδικας Εκκίνησης + + Αν η φόρτωση του /boot/loader δεν είναι + επιτυχής, αλλά ο βασικός κώδικας εκκίνησης (primary bootstrap) + φορτώνεται (κάτι που μπορείτε να διαπιστώσετε ελέγχοντας αν + εμφανίζεται μια παύλα στην πάνω αριστερή γωνία της οθόνης κατά το + αρχικό στάδιο εκκίνησης), μπορείτε να προσπαθήσετε να διακόψετε + τη βασική εκκίνηση σε αυτό το σημείο χρησιμοποιώντας το πλήκτρο + space. Με αυτό τον τρόπο, η εκκίνηση θα + σταματήσει στο στάδιο δύο (δείτε το ). + Μπορείτε εδώ να προσπαθήσετε να εκκινήσετε από μια εναλλακτική + κατάτμηση, π.χ. την κατάτμηση που περιείχε το ριζικό σύστημα + αρχείων που μετακινήσατε από το "a" όταν + ξεκινήσατε να χρησιμοποιείτε το Vinum. - Nothing Boots, the Bootstrap - Panics - - This situation will happen if the bootstrap had been - destroyed by the Vinum installation. Unfortunately, Vinum - accidentally currently leaves only 4 KB at the beginning of - its partition free before starting to write its Vinum header - information. However, the stage one and two bootstraps plus - the bsdlabel embedded between them currently require 8 KB. - So if a Vinum partition was started at offset 0 within a - slice or disk that was meant to be bootable, the Vinum setup - will trash the bootstrap. - - Similarly, if the above situation has been recovered, - for example by booting from a Fixit medium, - and the bootstrap has been re-installed using - bsdlabel -B as described in , the bootstrap will trash the Vinum - header, and Vinum will no longer find its disk(s). Though - no actual Vinum configuration data or data in Vinum volumes - will be trashed by this, and it would be possible to recover - all the data by entering exact the same Vinum configuration - data again, the situation is hard to fix at all. It would - be necessary to move the entire Vinum partition by at least - 4 KB off, in order to have the Vinum header and the system - bootstrap no longer collide. + Δεν Γίνεται Καμιά Εκκίνηση, ο Κώδικας Εκκίνησης Προκαλεί + Panic + + Αυτό μπορεί να συμβεί αν ο κώδικας εκκίνησης καταστραφεί + από την εγκατάσταση του Vinum. Δυστυχώς, το Vinum την τρέχουσα + στιγμή αφήνει μόνο 4 KB ελεύθερα στην αρχή της κατάτμησης του + πριν αρχίσει να γράφει τις πληροφορίες της επικεφαλίδας του. + Ωστόσο τα στάδια ένα και δύο καθώς και το bsdlabel που + ενσωματώνεται ανάμεσα τους, χρειάζονται 8 KB. Έτσι, αν μια + κατάτμηση Vinum ξεκίναγε στην θέση 0 μέσα σε ένα slice ή δίσκο που + προορίζονταν για εκκίνηση, η εγκατάσταση του Vinum θα κατέστρεφε + τον κώδικα εκκίνησης. + + Με τον ίδιο τρόπο, αν η παραπάνω κατάσταση επιδιορθωθεί για + παράδειγμα ξεκινώντας από ένα CD Fixit και + επανεγκαθιστώντας τον κώδικα εκκίνησης με τη βοήθεια της εντολής + bsdlabel -B (όπως περιγράφεται στο ), ο κώδικας εκκίνησης θα καταστρέψει την + επικεφαλίδα του Vinum, το οποίο δεν θα μπορεί πλέον να εντοπίσει + τους δίσκους του. Αν και το παραπάνω δεν καταστρέφει τα δεδομένα + ρυθμίσεων ή τα πραγματικά δεδομένα που υπάρχουν στους τόμους (και + η ανάκτηση τους είναι δυνατή αν δώσετε ξανά ακριβώς τις ίδιες + ρυθμίσεις στο Vinum με τις αρχικές σας), η κατάσταση διορθώνεται + αρκετά δύσκολα. Θα πρέπει να μετακινήσετε ολόκληρη την κατάτμηση + του Vinum τουλάχιστον κατά 4 KB ώστε να μην υπάρχει σύγκρουση + μεταξύ της επικεφαλίδας του Vinum και του κώδικα εκκίνησης. - - - Differences for FreeBSD 4.X - - Under FreeBSD 4.X, some internal functions required to - make Vinum automatically scan all disks are missing, and the - code that figures out the internal ID of the root device is - not smart enough to handle a name like - /dev/vinum/root automatically. - Therefore, things are a little different here. - - Vinum must explicitly be told which disks to scan, using a - line like the following one in - /boot/loader.conf: - - vinum.drives="/dev/da0 /dev/da1" - - It is important that all drives are mentioned that could - possibly contain Vinum data. It does not harm if - more drives are listed, nor is it - necessary to add each slice and/or partition explicitly, since - Vinum will scan all slices and partitions of the named drives - for valid Vinum headers. - - Since the routines used to parse the name of the root - filesystem, and derive the device ID (major/minor number) are - only prepared to handle classical device names - like /dev/ad0s1a, they cannot make - any sense out of a root volume name like - /dev/vinum/root. For that reason, - Vinum itself needs to pre-setup the internal kernel parameter - that holds the ID of the root device during its own - initialization. This is requested by passing the name of the - root volume in the loader variable - vinum.root. The entry in - /boot/loader.conf to accomplish this - looks like: - - vinum.root="root" - - Now, when the kernel initialization tries to find out the - root device to mount, it sees whether some kernel module has - already pre-initialized the kernel parameter for it. If that - is the case, and the device claiming the - root device matches the major number of the driver as figured - out from the name of the root device string being passed (that - is, "vinum" in our case), it will use the - pre-allocated device ID, instead of trying to figure out one - itself. That way, during the usual automatic startup, it can - continue to mount the Vinum root volume for the root - filesystem. - - However, when boot -a has been - requesting to ask for entering the name of the root device - manually, it must be noted that this routine still cannot - actually parse a name entered there that refers to a Vinum - volume. If any device name is entered that does not refer to - a Vinum device, the mismatch between the major numbers of the - pre-allocated root parameter and the driver as figured out - from the given name will make this routine enter its normal - parser, so entering a string like - ufs:da0d will work as expected. Note - that if this fails, it is however no longer possible to - re-enter a string like ufs:vinum/root - again, since it cannot be parsed. The only way out is to - reboot again, and start over then. (At the - askroot prompt, the initial - /dev/ can always be omitted.) -