20.5. RAID3 - Striping σε Επίπεδο Byte με Αφοσιωμένο Parity
Προηγ | Κεφάλαιο 20. GEOM: Διαχείριση Συστοιχιών Δίσκων | Επόμενο

## 20.5. RAID3 - Striping σε Επίπεδο Byte με Αφοσιωμένο Parity

Γράφηκε από Mark Gladman και Daniel Gerzo.
Βασισμένο στην τεκμηρίωση των Tom Rhodes και Murray Stokely.

Το RAID3 είναι μια μέθοδος που συνδυάζει αρκετούς διαφορετικούς σκληρούς δίσκους σε ένα τόμο με ένα δίσκο αφοσιωμένο στην ισοτιμία (parity). Σε ένα σύστημα RAID3, τα δεδομένα χωρίζονται σε ένα αριθμό από bytes που εγγράφονται σε όλους τους δίσκους της συστοιχίας εκτός από ένα που χρησιμοποιείται αποκλειστικά ως δίσκος ισοτιμίας. Αυτό σημαίνει ότι για να διαβάσουμε 1024KB από μια υλοποίηση του RAID3 θα πρέπει να προσπελάσουμε όλους τους δίσκους της συστοιχίας. Η απόδοση αυξάνεται με τη χρήση χωριστών ελεγκτών σκληρών δίσκων. Η συστοιχία RAID3 προσφέρει ανοχή σε βλάβη ενός δίσκου ενός παρέχει χωρητικότητα 1 - 1/n φορές τη χωρητικότητα όλων των δίσκων της συστοιχίας, όπου n είναι το πλήθος των δίσκων που την απαρτίζουν. Αυτού του είδους οι συστοιχίες είναι κατάλληλες για αποθήκευση μεγάλων αρχείων, για παράδειγμα αρχείων πολυμέσων.

Χρειάζονται τουλάχιστον 3 φυσικοί σκληροί δίσκοι για τη δημιουργία μια συστοιχίας RAID3. Κάθε δίσκος θα πρέπει να είναι το ίδιο μέγεθος καθώς οι αιτήσεις Ι/Ο (εισόδου/εξόδου) εναλλάσσονται ώστε να γίνεται εγγραφή και ανάγνωση σε πολλαπλούς δίσκους παράλληλα. Επίσης, εξαιτίας της φύσης του RAID3, ο αριθμός των δίσκων πρέπει να είναι 3, 5, 9, 17 κλπ. (2^n+1).

### 20.5.1. Δημιουργία Συστοιχίας RAID3

Στο FreeBSD, η υποστήριξη για RAID3 υλοποιείται μέσω της κλάσης graid3(8) του GEOM. Η δημιουργία μιας συστοιχίας RAID3 στο FreeBSD απαιτεί τα παρακάτω βήματα.

### Σημείωση:

Αν και είναι θεωρητικά δυνατό να φτιάξετε μια εκκινήσιμη συστοιχία RAID3 στο FreeBSD, δεν συνίσταται καθώς πρόκειται για ασυνήθιστη λειτουργία.

1. Αρχικά, φορτώστε το `geom_rai3.ko` άρθρωμα του πυρήνα μέσω της ακόλουθης εντολής:

   `#` `graid3 load`

   Εναλλακτικά, είναι δυνατόν να φορτώσετε το άρθρωμα χειροκίνητα:

   `#` `kldload geom_raid3.ko`

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

   `#` `mkdir `/multimedia``

3. Προσδιορίστε τα ονόματα συσκευών των δίσκων που θα προστεθούν στη συστοιχία και δημιουργήστε τη νέα συσκευή RAID3. Στο παράδειγμα μας χρησιμοποιούμε τρεις οδηγούς ATA οι οποίοι δεν περιέχουν κατατμήσεις: ``ada1`` και ``ada2`` για τα δεδομένα και ``ada3`` για το parity.

   `#` `graid3 label -v gr0 /dev/ada1 /dev/ada2 /dev/ada3` Metadata value stored on /dev/ada1 Metadata value stored on /dev/ada2 Metadata value stored on /dev/ada3 Done.

4. Δημιουργήστε κατατμήσεις στη νέα συσκευή `gr0` και διαμορφώστε την με σύστημα αρχείων UFS:

   `#` `gpart create -s GPT /dev/raid3/gr0` `#``gpart add -t freebsd-ufs /dev/raid3/gr0` `#``newfs -j /dev/raid3/gr0p1`

   Θα δείτε μεγάλο πλήθος αριθμών να περνάει από την οθόνη σας και μετά από λίγο η διαδικασία θα ολοκληρωθεί. Ο τόμος έχει πλέον δημιουργηθεί και είναι έτοιμος να προσαρτηθεί.

5. Το τελευταίο βήμα είναι η προσάρτηση του συστήματος αρχείων:

   `#` `mount /dev/raid3/gr0p1 /multimedia`

   Η συστοιχία RAID3 είναι τώρα έτοιμη προς χρήση.

Θα χρειαστεί να κάνετε επιπλέον ρυθμίσεις ώστε η συστοιχία να είναι άμεσα διαθέσιμη μετά από κάθε εκκίνηση του υπολογιστή σας.

1. Το άρθρωμα `geom_raid3.ko` θα πρέπει να φορτώνεται πριν την προσάρτηση της συστοιχίας. Για να φορτώνεται αυτόματα κατά την εκκίνηση του συστήματος, προσθέστε την παρακάτω γραμμή στο `/boot/loader.conf`:

   geom_raid3_load="YES"

2. Θα πρέπει να προσθέσετε τις παρακάτω πληροφορίες σχετικά με τον τόμο στο αρχείο `/etc/fstab` ώστε η προσάρτηση του συστήματος αρχείων της συστοιχίας να γίνεται αυτόματα κατά τη διαδικασία εκκίνησης του συστήματος:

   /dev/raid3/gr0p1 /multimedia ufs rw 2 2

Προηγ | Πάνω | Επόμενο
20.4. RAID1 - Mirroring | Αρχή | 20.6. Δικτυακές Συσκευές μέσω GEOM Gate

Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την τεκμηρίωση πριν να επικοινωνήσετε με την <questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην <doc@FreeBSD.org>.