foxiadis weblog

makdel or foxiadis… an IT geek story!

Μαγικές δυνάμεις στην διάθεσή μας. Ανάκτηση δεδομένων από συστοιχία RAID.

Το Raid ουσιαστικά είναι μια προδιαγραφή. Αυτή η προδιαγραφή αποτελείται από παραμέτρους που έχουν σταθερές τιμές. Ο λόγος για τον οποίο δεν μπορούμε να μεταφέρουμε μια συστοιχία δίσκων Raid σε άλλο controller / Computer είναι κυρίως αυτός. Οι παράμετροι συνήθως περιλαμβάνουν : stripe size, disk order, offset, raid level. Κάθε ελεγκτής RAID χρησιμοποιεί την δικιά του μορφή διαμόρφωσης συνεπώς πολλές φορές μια συστοιχία RAID δεν μπορεί να μεταφερθεί από τον ένα στον άλλο controller σε περίπτωση βλάβης.

Όταν λοιπόν χρειαστεί να ανακτήσουμε δεδομένα από μια συστοιχία raid στην πραγματικότητα χρειαζόμαστε μόνο αυτές τις παραμέτρους.

Συνδέουμε τους δίσκους σε έναν Raid controller και ρυθμίζουμε “manual” τις παραμέτρους. Αν κάποιος από τους δίσκους είναι κατεστραμμένος αλλά η συστοιχία περιέχει όλα τα δεδομένα ακόμη τότε μπορώ να συνδέσω έναν καινούριο δίσκο και να τον κάνω μέρος της συστοιχίας. Ούτε γάτα ούτε ζημιά.

Αν τώρα δεν διαθέτω πλέον Raid controller ή δεν δουλεύει η συστοιχία, ενώ θέλω απλά να ανακτήσω τα δεδομένα μπορώ να το προσπαθήσω με λογισμικό. Ένας δίσκος της συστοιχίας, που όμως να περιέχει όλα τα δεδομένα (RAID1 mirroring), μπορεί να συνδεθεί σε έναν απλό controller (όχι RAID). Τότε χρησιμοποιώντας ένα Live CD μιας διανομής Linux και χρησιμοποιώντας λογισμικό RAID Μπορώ να προσπαθήσω την ανάκτηση. Γίνεται συνοπτικά όπως περιγραφώ αμέσως τώρα, έτσι το έκανα εγώ, σίγουρα υπάρχουν και άλλοι τρόποι.

Πρέπει να γνωρίζουμε «5 πραγματάκια από RAID”. Το βασικό είναι να κατανοούμε τα εξής:

  • stripe size
  • disk order
  • offset
  • raid level

Γνωρίζοντας αυτές τις παραμέτρους μπορούμε να ανακτήσουμε δεδομένα. Αυτό μπορεί να γίνει με λογισμικό RAID σε Linux. Διαβάζει το “metadata format” και ανακαλύπτει τις παραμέτρους. Αυτό στην πραγματικότητα αποτελείται από 512 bytes που έχουν τοποθετηθεί στον τελευταίο τομέα (sector) κάθε δίσκου RAID. Με αυτές αρχικοποιείται μια μηχανή προσομοίωσης RAID σε λογισμικό και πλέον τα δεδομένα είναι διαθέσιμα (readable).

Οπότε παρά την «ασυμβατότητα» μεταξύ κατασκευαστών RAID, όλα τα πρότυπα είναι αναγνώσιμα εφόσον γνωρίζεις αυτά τα στοιχεία. Το Linux «γνωρίζει» όλα τα δημοφιλή πρότυπα των κατασκευαστών (Intel, nVidia, Promise, Silicon Image, JMicron, Adaptec, κλπ).

Εφόσον έπρεπε για άλλη μια φορά να σώσω έναν παρατημένο Server, έκανα τa εξής:

Κατέβασα κι έκαψα ένα Ubuntu 9.10 (το χα έτοιμο στο τσαντάκι, είναι παλιό αλλά ο Server ήταν 5 χρόνια παλαιότερος).

Εκκίνηση με το CD αυτό.

Μόλις είναι ετοιμοπόλεμο System -> Administration -> Synaptic Package Manager και install το «mdadm» package – αυτό είναι το λογισμικό RAID / configuration utility που χρειαζόμαστε.

Ανοίγουμε ένα τερματικό (γραμμή εντολών) και: sudo mdadm –detail /dev/md0

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

Φυσικά πρέπει να καταλάβετε σε ποια hardware device βρίσκεται αυτή η συστοιχία και να την κάνετε mount. Εύκολο.

Φυσικά πρέπει να έχετε πρόχειρο έναν μεγάλο δίσκο USB για αντιγραφή όλων ή όσων από τα αρχεία του RAID είναι χρήσιμα. Επίσης εύκολο.

Data Recovered and Saved! Lets go 4 a drink…

Posted under: hardware, software

Tagged as: , , , , ,

Αφήστε μια απάντηση

Η ηλ. διεύθυνσή σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *