Η προηγούμενη εβδομάδα τελείωσε με εντυπωσιακό τρόπο. Μεσημέρι Παρασκευής και το inbox μου γέμισε με alert messages από έναν από τους server μου, έναν HP Proliant DL380 G8. Ο server έτρεχε κυρίως μια εφαρμογή Python για να εξάγει γραμμικές και γωνιακές επιταχύνσεις από binary αρχεία, να τα καθαρίσει, να μετατρέψει τις τιμές σε μετρικό σύστημα (m/s2 και rad/s) και να εφαρμόσει μια σειρά περιστροφών. Υπήρχαν επίσης δύο, τρεις άλλες εφαρμογές, αλλά τίποτα το εξαιρετικό. Όλα αυτά κάθονταν πάνω σε Proxmox v6 Virtualized Environment το οποίο είναι και το κύριο σύστημα που χρησιμοποιώ σε όλους τους servers μου. Η εφαρμογή λοιπόν που εξάγει data από τα binary αρχεία, έτρεχε πάνω σε ένα cluster 2 SSD drives σε RAID-0 γιατί κυρίως αναλύει τεράστια δεδομένα, με τυπικό παράδειγμα τη διαχείριση 400+ εκατομμυρίων γραμμών που η κάθε μία έχει 7 στήλες. Σε ένα τέτοιο setup χρειάζεσαι ταχύτητα, γιαυτό το λόγο λοιπόν επέλεξα το RAID-0 stripping για να αυξήσω την ταχύτητα πρόσβασης στους 2 SSD δίσκους. Η ιδέα ήταν κάποια στιγμή να υποστήριζα το setup με άλλους 2 SSD δίσκους σε ένα RAID 10 setup το οποίο θα υποστήριζε RAID-0 στους πρώτους 2 δίσκους και RAID-1 mirroring στους άλλους δύο δίσκους. Αυτή βέβαια ήταν η ιδέα… όχι ότι ποτέ έγινε πραγματικότητα.
Η βασική αρχή λοιπόν εδώ είναι η εξής: RAID-0 σημαίνει πως έχεις 0% πιθανότητες να ανακτήσεις δεδομένα αν κάτι πάει στραβά με έναν από τους δίσκους σου… και πήγε.
Με το που έλαβα το πρώτο μήνυμα από τον Server προσπάθησα να συνδεθώ μέσω ssh αλλά τίποτα. Αυτή ήταν η στιγμή που σε λούζει κρύος ιδρώτας. Προσπάθεια μέσω κονσόλας από κοντά, και ένα ατελείωτο stream από drive’s errors, κατά την διάρκεια του reboot επιβεβαίωσαν πως ένας από τους 2 δίσκους πέθανε ηρωικά. Σχεδόν μια εβδομάδα δουλειάς χάθηκε. Το τελευταίο backup ευτυχώς ήταν σχεδόν 5 μέρες πριν το συμβάν. Τέσσερις νέους δίσκους αργότερα, και ο server ήταν επάνω αναλύοντας ξανά τα δεδομένα.
Ηθικό δίδαγμα… Θέλω πιο συχνό backup.