Το RAID είναι μια λύση που αναπτύχθηκε αρχικά για την αγορά διακομιστή δικτύου ως μέσο δημιουργίας μεγάλου χώρου αποθήκευσης με χαμηλότερο κόστος. Ουσιαστικά, θα χρειαζόταν πολλαπλούς σκληρούς δίσκους χαμηλότερου κόστους και θα τους έβαζαν μαζί μέσω ελεγκτή για να παράσχουν ένα μόνο δίσκο μεγαλύτερης χωρητικότητας. Αυτό είναι που υποστηρίζει το RAID: περιττή σειρά από φτηνές μονάδες ή δίσκους. Για να επιτευχθεί αυτό, απαιτήθηκαν εξειδικευμένα λογισμικά και ελεγκτές για τη διαχείριση των δεδομένων που χωρίζονται μεταξύ των διαφόρων μονάδων δίσκου.
Τελικά, η ισχύς επεξεργασίας του βασικού συστήματός σας υπολογιστή επέτρεψε στις λειτουργίες να φιλτράρουν το δρόμο τους στην αγορά των προσωπικών υπολογιστών.
Τώρα η αποθήκευση RAID μπορεί να βασίζεται σε λογισμικό ή υλικό και μπορεί να χρησιμοποιηθεί για τρεις διαφορετικούς σκοπούς. Αυτά περιλαμβάνουν την ικανότητα, την ασφάλεια και την απόδοση. Η χωρητικότητα είναι απλή και συνήθως εμπλέκεται σχεδόν σε κάθε τύπο ρύθμισης RAID που χρησιμοποιείται. Για παράδειγμα, δύο σκληροί δίσκοι μπορούν να συνδεθούν μεταξύ τους ως μία μονάδα δίσκου στο λειτουργικό σύστημα κάνοντας αποτελεσματικά μια εικονική μονάδα δίσκου που είναι διπλάσια από την χωρητικότητα. Η απόδοση είναι ένας άλλος βασικός λόγος για τη χρήση μιας ρύθμισης RAID σε έναν προσωπικό υπολογιστή. Στο ίδιο παράδειγμα δύο μονάδων που χρησιμοποιούνται ως μία μονάδα δίσκου, ο ελεγκτής μπορεί να χωρίσει ένα κομμάτι δεδομένων σε δύο μέρη και στη συνέχεια να βάλει κάθε ένα από αυτά τα μέρη σε ξεχωριστή μονάδα δίσκου. Αυτό διπλασιάζει αποτελεσματικά την απόδοση γραφής ή ανάγνωσης των δεδομένων στο σύστημα αποθήκευσης. Τέλος, το RAID μπορεί να χρησιμοποιηθεί για την ασφάλεια των δεδομένων.
Αυτό γίνεται χρησιμοποιώντας ένα μέρος του χώρου στις μονάδες δίσκου για να κλωνοποιήσετε ουσιαστικά τα δεδομένα που είναι γραμμένα και στις δύο μονάδες δίσκου. Για άλλη μια φορά, με δύο μονάδες δίσκου μπορούμε να το κάνουμε ώστε τα δεδομένα να είναι γραμμένα και στις δύο μονάδες δίσκου. Έτσι, εάν αποτύχει μία μονάδα, ο άλλος εξακολουθεί να έχει τα δεδομένα.
Ανάλογα με τους στόχους της συστοιχίας αποθήκευσης που θέλετε να συγκεντρώσετε για το σύστημα του υπολογιστή σας, θα χρησιμοποιήσετε ένα από τα διάφορα επίπεδα RAID για να επιτύχετε αυτούς τους τρεις στόχους.
Για όσους χρησιμοποιούν σκληρούς δίσκους στον υπολογιστή τους, η απόδοση πιθανότατα θα είναι περισσότερο θέμα από την ικανότητα. Από την άλλη πλευρά, όσοι χρησιμοποιούν δίσκους στερεάς κατάστασης πιθανότατα θα θέλουν έναν τρόπο να μεταφέρουν τις μικρότερες μονάδες δίσκου και να τις συνδέσουν μεταξύ τους για να δημιουργήσουν μια μεγαλύτερη μονάδα δίσκου. Ας ρίξουμε μια ματιά στα διάφορα επίπεδα RAID που μπορούν να χρησιμοποιηθούν με έναν προσωπικό υπολογιστή.
RAID 0
Αυτό είναι το χαμηλότερο επίπεδο του RAID και στην πραγματικότητα δεν προσφέρει καμία μορφή πλεονασμού και γι 'αυτό αναφέρεται σε επίπεδο 0. Βασικά, το RAID 0 παίρνει δύο ή περισσότερες μονάδες δίσκου και τις τοποθετεί μαζί για να δημιουργήσουν ένα δίσκο μεγαλύτερης χωρητικότητας. Αυτό επιτυγχάνεται μέσω ενός επεξεργαστή που ονομάζεται striping. Τα μπλοκ δεδομένων χωρίζονται σε κομμάτια δεδομένων και στη συνέχεια γράφονται σε σειρά σε όλους τους δίσκους. Αυτό προσφέρει αυξημένη απόδοση επειδή τα δεδομένα μπορούν να εγγραφούν ταυτόχρονα στις μονάδες δίσκου από τον ελεγκτή πολλαπλασιάζοντας την ταχύτητα των μονάδων δίσκου. Ακολουθεί ένα παράδειγμα του τρόπου με τον οποίο αυτό μπορεί να λειτουργήσει σε τρεις δίσκους:
Οδηγήστε 1 | Drive 2 | Οδήγηση 3 | |
---|---|---|---|
Πεδίο 1 | 1 | 2 | 3 |
Πεδίο 2 | 4 | 5 | 6 |
Πεδίο 3 | 7 | 8 | 9 |
Προκειμένου η RAID 0 να λειτουργήσει αποτελεσματικά για την ενίσχυση της απόδοσης του συστήματος, θα πρέπει να προσπαθήσετε να έχετε αντιστοιχισμένες μονάδες δίσκου. Κάθε μονάδα δίσκου πρέπει να έχει τα ίδια χαρακτηριστικά αποθηκευτικής ικανότητας και επιδόσεων. Εάν δεν το κάνουν, τότε η χωρητικότητα θα περιορίζεται σε ένα πολλαπλάσιο από το μικρότερο από τα drives και την απόδοση στον πιο αργό από τους δίσκους, καθώς πρέπει να περιμένει να γράψουν όλες τις λωρίδες πριν μετακινηθούν στην επόμενη ομάδα. Είναι δυνατό να χρησιμοποιηθούν κακοί δίσκοι, αλλά στην περίπτωση αυτή, μια ρύθμιση JBOD μπορεί να είναι πιο αποτελεσματική. Το JBOD αντιπροσωπεύει απλώς μια δέσμη μονάδων δίσκου και ουσιαστικά αποτελεί απλώς μια συλλογή μονάδων δίσκου που μπορούν να αποκτήσουν πρόσβαση ανεξάρτητα μεταξύ τους αλλά εμφανίζονται ως μία μονάδα αποθήκευσης στο λειτουργικό σύστημα. Αυτό επιτυγχάνεται συνήθως με το χρονικό διάστημα μεταξύ των μονάδων δίσκου. Συχνά αυτό αναφέρεται ως SPAN ή BIG. Πράγματι, η λειτουργία τους βλέπει όλα ως ένα μόνο δίσκο, αλλά τα μπλοκ θα γράφονται στον πρώτο δίσκο μέχρι να γεμίσει, στη συνέχεια να προχωρήσει στο δεύτερο, στη συνέχεια στην τρίτη κλπ. Αυτό είναι χρήσιμο για την προσθήκη επιπλέον χωρητικότητας σε ένα υπάρχον σύστημα υπολογιστών και με δίσκους διαφόρων μεγεθών, αλλά δεν θα αυξήσει την απόδοση της συστοιχίας μονάδων δίσκου. Το μεγαλύτερο πρόβλημα με τις ρυθμίσεις RAID 0 και JBOD είναι η ασφάλεια των δεδομένων. Δεδομένου ότι έχετε πολλαπλούς δίσκους, οι πιθανότητες της διαφθοράς των δεδομένων αυξήθηκαν επειδή έχετε περισσότερα σημεία αποτυχίας. Εάν κάποια μονάδα δίσκου σε μια συστοιχία RAID 0 αποτύχει, όλα τα δεδομένα καθίστανται απρόσιτα. Σε ένα JBOD, μια αποτυχία μονάδας δίσκου θα έχει ως αποτέλεσμα την απώλεια τυχόν δεδομένων που συνέβησαν σε αυτή τη μονάδα δίσκου. Ως αποτέλεσμα, είναι καλύτερο για όσους θέλουν να χρησιμοποιήσουν αυτήν τη μέθοδο αποθήκευσης να έχουν κάποια άλλα μέσα για να δημιουργήσουν αντίγραφα ασφαλείας των δεδομένων τους. Αυτό είναι ένα πρώτο πραγματικό επίπεδο RAID, καθώς παρέχει ένα πλήρες επίπεδο πλεονασμού για τα δεδομένα που είναι αποθηκευμένα στον πίνακα. Αυτό γίνεται μέσω μιας διαδικασίας που ονομάζεται κατοπτρισμός. Αποτελεσματικά, όλα τα δεδομένα που είναι γραμμένα στο σύστημα αντιγράφονται σε κάθε μονάδα δίσκου σε μια συστοιχία επιπέδου 1. Αυτή η μορφή RAID τυπικά γίνεται με ένα μόνο ζεύγος μονάδων δίσκου, καθώς η προσθήκη περισσότερων μονάδων δίσκου δεν θα προσθέσει πρόσθετη χωρητικότητα, απλώς περισσότερους πλεονασμούς. Για να δώσουμε καλύτερα ένα παράδειγμα, εδώ είναι ένα γράφημα που δείχνει πώς θα γράφτηκε σε δύο δίσκους: Για να έχετε την πιο αποτελεσματική χρήση από μια εγκατάσταση RAID 1, το σύστημα θα χρησιμοποιήσει και πάλι δίσκους που ταιριάζουν, οι οποίοι μοιράζονται τις ίδιες βαθμολογίες ικανότητας και απόδοσης. Εάν χρησιμοποιούνται κακοί δίσκοι, τότε η χωρητικότητα της συστοιχίας θα είναι ίση με τη μονάδα μικρότερης χωρητικότητας στη συστοιχία. Για παράδειγμα, εάν ένας δίσκος μίας και μισής terabyte και ένας terabyte δίσκου χρησιμοποιήθηκαν σε μια συστοιχία RAID 1, η χωρητικότητα αυτής της συστοιχίας στο σύστημα θα ήταν απλώς ένα μόνο terabyte. Αυτό το επίπεδο RAID είναι εξαιρετικά αποτελεσματικό για την ασφάλεια των δεδομένων επειδή οι δύο δίσκοι είναι ουσιαστικά οι ίδιες. Εάν μία από τις δύο μονάδες αποτύχει, τότε η άλλη έχει τα πλήρη δεδομένα του άλλου. Το πρόβλημα με αυτόν τον τύπο ρύθμισης καθορίζει γενικά ποια από τις μονάδες δίσκου απέτυχε επειδή συχνά η αποθήκευση γίνεται απρόσιτη όταν ένα από τα δύο αποτύχει και δεν θα αποκατασταθεί σωστά μέχρι να εισαχθεί μια νέα μονάδα αντί για την αποτυχημένη και μια ανάκτηση διαδικασία. Όπως αναφέρθηκε προηγουμένως, δεν υπάρχει καθόλου κέρδος απόδοσης από αυτό. Στην πραγματικότητα, θα υπάρξει μια μικρή απώλεια απόδοσης από τα γενικά έξοδα του ελεγκτή για το RAID. Αυτός είναι ένας πολύ περίπλοκος συνδυασμός τόσο των επιπέδων RAID 0 όσο και του επιπέδου 1. Αποτελεσματικά, ο ελεγκτής θα χρειαστεί τουλάχιστον τέσσερις μονάδες δίσκου για να λειτουργήσει σε αυτόν τον τρόπο επειδή αυτό που πρόκειται να κάνει είναι να κάνει δύο ζεύγη μονάδων δίσκου. Το πρώτο σύνολο μονάδων δίσκου είναι μια κατοπτρική συστοιχία που κλωνοποιεί τα δεδομένα μεταξύ των δύο. Το δεύτερο σετ κινήσεων αντικατοπτρίζεται επίσης, αλλά έχει ρυθμιστεί να είναι η λωρίδα του πρώτου. Αυτό παρέχει τόσο την πλεονασματικότητα δεδομένων όσο και τα κέρδη απόδοσης. Ακολουθεί ένα παράδειγμα για το πώς θα γραφτούν τα δεδομένα σε τέσσερις μονάδες δίσκου χρησιμοποιώντας αυτόν τον τύπο ρύθμισης: Για να είμαι ειλικρινής, αυτό δεν είναι ένας επιθυμητός τρόπος λειτουργίας του RAID σε ένα σύστημα υπολογιστή. Παρόλο που παρέχει κάποια ώθηση στην απόδοση, δεν είναι πραγματικά τόσο καλή, λόγω του τεράστιου ποσού των γενικών εξόδων για το σύστημα. Επιπλέον, πρόκειται για τεράστιο χάσιμο χώρου καθώς η συστοιχία μονάδων δίσκου θα έχει το πολύ μισό της χωρητικότητας όλων των μονάδων δίσκου σε συνδυασμό. Εάν χρησιμοποιούνται δίσκοι που δεν ανταποκρίνονται, η απόδοση θα περιορίζεται στις βραδύτερες από τις μονάδες δίσκου και η χωρητικότητα θα είναι διπλάσια από τη μικρότερη μονάδα δίσκου. Αυτό είναι το υψηλότερο επίπεδο RAID που μπορεί να βρεθεί στα συστήματα πληροφορικής των καταναλωτών και είναι μια πολύ πιο αποτελεσματική μέθοδος για την αύξηση της χωρητικότητας και του πλεονασμού. Αυτό επιτυγχάνεται μέσω μιας διαδικασίας διαγράμμισης δεδομένων με ισοτιμία. Απαιτούνται τουλάχιστον τρεις μονάδες δίσκου για να το κάνετε αυτό καθώς τα δεδομένα χωρίζονται σε λωρίδες σε αρκετές από τις μονάδες δίσκου, αλλά στη συνέχεια ένα μπλοκ κατά μήκος της λωρίδας παραμένει στην άκρη για ισοτιμία. Για να το εξηγήσετε καλύτερα, αφήστε πρώτα να ρίξετε μια ματιά στο πώς μπορεί να γραφούν τα δεδομένα σε τρεις μονάδες δίσκου: Στην ουσία, ο ελεγκτής της μονάδας δίσκου παίρνει ένα κομμάτι δεδομένων που πρέπει να γραφτεί σε όλες τις μονάδες δίσκου στη συστοιχία. Το πρώτο κομμάτι των δεδομένων τοποθετείται στον πρώτο δίσκο και το δεύτερο τοποθετείται στο δεύτερο. Ο τρίτος δίσκος παίρνει το bit ισοτιμίας που ουσιαστικά είναι μια σύγκριση των δυαδικών δεδομένων για το πρώτο και το δεύτερο. Στο δυαδικό μαθηματικό, έχετε μόλις 0 και 1. Μια διαδικασία μαθηματικών μαθηματικών γίνεται για να συγκρίνετε τα δυαδικά ψηφία. Αν οι δύο προσθέσουν μέχρι ένα ζυγό αριθμό (0 + 0 ή 1 + 1) τότε το bit ισοτιμίας θα είναι μηδέν. Αν οι δύο προσθέσουν έναν περίεργο αριθμό (1 + 0 ή 0 + 1) τότε το bit ισοτιμίας θα είναι ένα. Ο λόγος για αυτό είναι ότι εάν αποτύχει μία από τις μονάδες δίσκου, ο ελεγκτής μπορεί τότε να καταλάβει ποια είναι τα ελλείποντα δεδομένα. Για παράδειγμα, εάν η μονάδα δίσκου αποτύχει, αφήνοντας μόνο δύο και τρεις μονάδες δίσκου, και η μονάδα δίσκου δύο έχει ένα μπλοκ δεδομένων ενός και η μονάδα δίσκου τρία έχει ένα πακέτο ισοτιμίας ενός, τότε το μπλοκ δεδομένων που λείπει στη μονάδα δίσκου πρέπει να είναι μηδέν. Αυτό παρέχει αποτελεσματική πλεονασμό δεδομένων που επιτρέπει την αποκατάσταση όλων των δεδομένων σε περίπτωση βλάβης της μονάδας. Τώρα για τις περισσότερες ρυθμίσεις των καταναλωτών, μια αποτυχία θα έχει ως αποτέλεσμα το σύστημα να μην είναι επειδή δεν είναι σε λειτουργική κατάσταση. Για να είναι λειτουργικό το σύστημα, είναι απαραίτητο να αντικαταστήσετε την αποτυχημένη μονάδα δίσκου με μια νέα μονάδα δίσκου. Στη συνέχεια, μια διαδικασία ανασυγκρότησης δεδομένων πρέπει να γίνει στο επίπεδο του ελεγκτή, το οποίο στη συνέχεια θα κάνει μια αντίστροφη λειτουργία boolean για να αναδημιουργήσει τα δεδομένα σχετικά με τη μονάδα που λείπει. Αυτό μπορεί να πάρει κάποιο χρόνο, ειδικά για δίσκους μεγαλύτερης χωρητικότητας, αλλά είναι τουλάχιστον ανακτήσιμος. Τώρα, η χωρητικότητα μιας συστοιχίας RAID 5 εξαρτάται από τον αριθμό των μονάδων δίσκου στον πίνακα και την χωρητικότητά τους. Για άλλη μια φορά, ο πίνακας περιορίζεται από τη μονάδα μικρότερης χωρητικότητας στη συστοιχία, οπότε είναι καλύτερο να χρησιμοποιείτε δίσκους αντιστοιχισμένους. Ο πραγματικός χώρος αποθήκευσης ισούται με τον αριθμό των οδηγών μείον μία φορά τη χαμηλότερη χωρητικότητα. Έτσι, με μαθηματικούς όρους, είναι (n-1) * Capacitymin . Έτσι, αν έχετε τρεις μονάδες 2GB σε μια συστοιχία RAID 5, η συνολική χωρητικότητα θα ήταν 4GB. Μια άλλη συστοιχία RAID 5 που χρησιμοποίησε τέσσερις μονάδες δίσκου 2GB θα είχε χωρητικότητα 6GB. Τώρα η απόδοση για το RAID 5 είναι λίγο πιο περίπλοκη από κάποιες από τις άλλες μορφές RAID, λόγω της διαδικασίας boolean που πρέπει να γίνει για να δημιουργηθεί το bit ισοτιμίας όταν τα δεδομένα γράφονται στις μονάδες δίσκου. Αυτό σημαίνει ότι η απόδοση εγγραφής θα είναι μικρότερη από μια συστοιχία RAID 0 με τον ίδιο αριθμό μονάδων δίσκου. Ανάγνωση της απόδοσης, από την άλλη πλευρά, δεν υποφέρει τόσο πολύ όπως η γραφή επειδή η διαδικασία boolean δεν γίνεται επειδή διαβάζει τα ευθεία δεδομένα από τις μονάδες δίσκου. Έχουμε συζητήσει τα διάφορα πλεονεκτήματα και τα μειονεκτήματα κάθε επιπέδου RAID που μπορούν να χρησιμοποιηθούν σε προσωπικούς υπολογιστές, αλλά υπάρχει ένα άλλο ζήτημα που πολλοί άνθρωποι δεν αντιλαμβάνονται όταν πρόκειται για δημιουργία μονάδων RAID. Πριν τη χρήση μιας ρύθμισης RAID, πρέπει πρώτα να κατασκευαστεί είτε από το λογισμικό του ελεγκτή υλικού είτε από το λογισμικό του λειτουργικού συστήματος. Αυτό ουσιαστικά προετοιμάζει την ειδική μορφοποίηση που απαιτείται για την σωστή παρακολούθηση του τρόπου με τον οποίο τα δεδομένα θα γραφτούν και θα διαβαστούν στη μονάδα δίσκου. Αυτό πιθανώς δεν ακούγεται σαν πρόβλημα, αλλά αν θέλετε να αλλάξετε τον τρόπο που θέλετε να ρυθμιστεί ο πίνακας RAID. Για παράδειγμα, ας υποθέσουμε ότι έχετε χαμηλά δεδομένα και θέλετε να προσθέσετε μια επιπλέον μονάδα δίσκου για έναν πίνακα RAID 0 ή RAID 5. Στις περισσότερες περιπτώσεις, δεν θα έχετε τη δυνατότητα χωρίς να επαναπροσδιορίσετε πρώτα τη συστοιχία RAID, η οποία επίσης θα αφαιρέσει οποιοδήποτε από τα δεδομένα που αποθηκεύτηκαν σε αυτές τις μονάδες δίσκου.Αυτό σημαίνει ότι πρέπει να δημιουργήσετε πλήρη αντίγραφα ασφαλείας των δεδομένων σας, να προσθέσετε τη νέα μονάδα δίσκου, να διαμορφώσετε ξανά τη συστοιχία μονάδων δίσκου, να μορφοποιήσετε τη συστοιχία μονάδων δίσκου και, στη συνέχεια, να επαναφέρετε τα αρχικά δεδομένα στη μονάδα δίσκου. Αυτό μπορεί να είναι μια εξαιρετικά επώδυνη διαδικασία. Ως αποτέλεσμα, βεβαιωθείτε ότι έχετε πραγματικά τη ρύθμιση της συστοιχίας με τον τρόπο που θέλετε την πρώτη φορά που το κάνετε.RAID 1
Οδηγήστε 1 Drive 2 Πεδίο 1 1 1 Πεδίο 2 2 2 Πεδίο 3 3 3 RAID 1 + 0 ή 10
Οδηγήστε 1 Drive 2 Οδήγηση 3 Drive 4 Πεδίο 1 1 1 2 2 Πεδίο 2 3 3 4 4 Πεδίο 3 5 5 6 6 RAID 5
Οδηγήστε 1 Drive 2 Οδήγηση 3 Πεδίο 1 1 2 Π Πεδίο 2 3 Π 4 Πεδίο 3 Π 5 6 Το μεγάλο ζήτημα με όλες τις ρυθμίσεις RAID