Τι είναι το RAID;

23/10/2023 / Miscellaneous
raid-introduction

Το Raid (Redundant Arrays of Independent Disks) είναι μια τεχνική για να αυξήσουμε την ασφάλεια και την ταχύτητα αποθήκευσης δεδομένων στο δίσκο.

Το RAID είναι δύο ή περισσότεροι δίσκοι που συνεργάζονται, ενώ το σύστημα τους βλέπει ως 1 δίσκο (raid array). Τα RAID arrays τα συναντάμε σχεδόν πάντα στους server, παρά στους προσωπικούς υπολογιστές.

Πλεονεκτήματα ενός RAID array

 

>> Ταχύτητα

Ας υποθέσουμε ότι έχουμε ένα μεγάλο αρχείο αποθηκευμένο στο δίσκο. Όταν θέλουμε να διαβάσουμε αυτό το αρχείο θα χρειαστεί κάποιος χρόνος, αναλόγως και με την ταχύτητα του δίσκου. Αν είχαμε ένα RAID array όμως, το αρχείο θα έσπαγε αυτόματα σε κομμάτια και το κάθε κομμάτι θα αποθηκευόταν σε διαφορετικό δίσκο. Έτσι όταν θα θέλαμε να διαβάσουμε το αρχείο αυτό, θα φόρτωνε από πολλούς δίσκους παράλληλα και άρα θα φόρτωνε γρηγορότερα. 

>> Αξιοπιστία

Πολλές φορές χρησιμοποιούμε ένα RAID array, έτσι ώστε κάθε αρχείο να έχει και ένα αντίγραφό του σε έναν διαφορετικό δίσκο. Έτσι σε περίπτωση που υπάρχει βλάβη στον πρώτο, το αρχείο θα είναι προσβάσιμο από τον δεύτερο. Επίσης, ακόμα και σε περιπτώσεις που δεν έχουμε backup του αρχείου σε δεύτερο δίσκο, αν πάθει βλάβη ο πρώτος, το γενικότερο σύστημά μας θα συνεχίσει να λειτουργεί. 

Εφόσον ένα RAID array αυξάνει την ταχύτητα και την αξιοπιστία του συστήματος, γιατί δεν εφαρμόζεται πάντα; 

Αρχικά για να φτιάξουμε ένα RAID array χρειαζόμαστε τουλάχιστον 2 δίσκους, που συνεπάγεται έξτρα κόστος. Επίσης, για να διαμορφωθεί και να χρησιμοποιηθεί ένα τέτοιο array, υπάρχει αυξημένη δυσκολία σε σχέση με τη χρήση απλά ενός δίσκου για αποθήκευση των αρχείων.

Ο απλός χρήστης δεν χρειάζεται να μπει σε αυτή τη διαδικασία. Για αυτό, RAID arrays συνήθως συναντάμε σε Server διαφόρων εταιρειών και όχι σε προσωπικά μηχανήματα. 

 

Δημιουργία του RAID array

Ένα RAID Array μπορεί να στηθεί είτε στο λογισμικό είτε στο υλικό, με ένα ειδικό RAID controller. 'Ενα RAID controller δεν χρησιμοποιεί πόρους από τον CPU όπως ένα πρόγραμμα, αλλά έχει κάποιο κόστος, σε αντίθεση με τα προγράμματα είναι δωρεάν.

Μια άλλη διαφορά είναι ότι με το λογισμικό δεν μπορούμε να κάνουμε RAID Array κατά το boot. Πρέπει να εγκαταστήσουμε πρώτα ένα λειτουργικό σύστημα και μετά κάποιο πρόγραμμα που θα διαμορφώσει το RAID. Με έναν RAID controller όμως το RAID array διαμορφώνεται εξαρχής. 

Ορολογία 

Πριν προχωρήσουμε στα RAID levels πιο συγκεκριμένα, δηλαδή το πώς δουλεύουν ακριβώς οι δίσκοι μεταξύ τους σε ένα τέτοιο array, ας δούμε κάποιους βασικούς όρους. 

RAID Level Ονομάζουμε την διαμόρφωση και τις ρυθμίσεις που έχουν γίνει, για το πώς θα επικοινωνούν και θα συνεργάζονται οι δίσκοι μεταξύ τους. 

Striping Είναι η διαδικασία που ένα μεγάλο αρχείο σπάει σε chunks και διανέμεται στους δίσκους ανάλογα με το RAID Level που έχει ρυθμιστεί.

Chunk Size Καθορίζει το μέγεθος που θα έχει κάθε chunk, όταν θα γίνει το striping. 

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

Degraded Arrays Είναι το array, που ναι μεν είναι λειτουργικοί, αλλά υπάρχει κάποια βλάβη σε έναν από τους δίσκους. Μπορούν να επιδιορθωθούν αν αντικαταστήσουμε τον χαλασμένο δίσκο.  

Resilvering Είναι η διαδικασία 'επισκευής' ενός degraded array.

Nested Arrays Είναι RAID arrays που αποτελούν κομμάτι ενός μεγαλύτερου array.

Scrubbing Είναι η διαδικασία ελέγχου ολόκληρου του array για πιθανά σφάλματα. Χρησιμεύει στο να δούμε ότι υπάρχει συμβατότητα μεταξύ των αρχείων που είναι στους δίσκους. 

Επίπεδα RAID

  • RAID 0
    Στο RAID 0 το κάθε αρχείο σπάει σε chunks και τα chunks γράφονται με τη σειρά στους δίσκους του συστήματος. Πχ. αν έχουμε 2 δίσκους, το πρώτο chunk θα γραφτεί στον πρώτο, το δεύτερο στον δεύτερο, το τρίτο πάλι στον πρώτο κλπ.
    Με αυτό τον τρόπο εκμεταλλευόμαστε την ταχύτητα όλων των δίσκων, αλλά καθώς ολόκληρο το αρχείο δεν υπάρχει πουθενά, αν χαλάσει ένας δίσκος θα χαθούν και τα αρχεία μας. 

  • RAID 1
    Στο RAID 1, όταν αποθηκεύουμε ένα αρχείο, αυτόματα γράφεται σε κάθε δίσκο του συστήματος. 'Ετσι, σε περίπτωση που έχουμε βλάβη σε έναν δίσκο, δεν πρόκειται να χάσουμε κάποιο αρχείο. Η χωρητικότητα ωστόσο περιορίζεται αρκετά, σαν να είχαμε έναν δίσκο. 

  • RAID 5
    Το RAID 5 δουλεύει παρόμοια με το 0. Σπάει κάθε αρχείο σε chunks και μοιράζει το κάθε chunk σειριακά στους δίσκους. Για κάθε chunk που γράφεται σε έναν δίσκο, στον επόμενο δίσκο γράφεται parity information, δηλαδή πληροφορίες για επανάκτηση των αρχείων που περιέχει το chunk του αρχείου, αν πάθει κάτι ο δίσκος.
  • RAID 6
    Το RAID 6 λειτουργεί όπως ακριβώς και το 5, μόνο που κρατάει διπλό parity information. Έτσι το σύστημα ακόμα και αν χαλάσουν 2 δίσκοι, μπορούμε να τους αντικαταστήσουμε με καινούριους και θα κάνει rebuild. Σε σχέση με το RAID 5 έχει μικρότερη χωρητικότητα, γιατί δεσμεύεται έξτρα χώρος για το διπλό parity information. 

 

Στην Cloud Concept στόχο αποτελεί η αδιάλειπτη τεχνική υποστήριξη των αναγκών σας, η προσφορά managed υπηρεσιών υψηλού επιπέδου και η παροχή πρόσβασης σε χρήσιμες προτάσεις για την αποδοτική διαχείριση των δεδομένων σας.



Ακολουθήστε μας σε LinkedIn, FacebookInstagram ή εγγραφείτε στο Newsletter μας, για να μένετε ενημερωμένοι! 

ΣΥΝΔΕΣΗ

Αίτηση επικοινωνίας

ΠΑΝΩ