Το λειτουργικό σύστημα του Raspberry Pi είναι εγκατεστημένο είτε στην κάρτα SD είτε σε έναν δίσκο USB. Λόγω των περιορισμένων κύκλων εγγραφής των κελιών flash σε κάρτες SD, η αξιοπιστία τους δεν είναι εγγυημένη. Οι σκληροί δίσκοι και οι SSD έχουν καλύτερη αξιοπιστία. Το τελευταίο χρησιμοποιεί αλγόριθμους επιπέδου φθοράς για να παρατείνει τη διάρκεια ζωής της συσκευής. Ωστόσο, η διατήρηση δεδομένων σε έναν μόνο δίσκο είναι πάντα επικίνδυνη.
Η ιδέα του κατοπτρισμού δεδομένων με χρήση του RAID-1
Για να αποφύγετε την απώλεια δεδομένων σε περίπτωση βλάβης του δίσκου, Κατοπτρισμός δεδομένων RAID-1 πρέπει να εφαρμοστούν. Το πρόβλημα είναι ότι η ρύθμιση του RAID δεν είναι δυνατή κατά τη φάση εγκατάστασης του λειτουργικού συστήματος σε ένα Raspberry Pi.
Αυτή η ιδέα αφορά τη ρύθμιση του RAID-1 Mirroring σε δύο USB SSD, μετά την αντιγραφή του οικιακού καταλόγου στο διαμέρισμα RAID και τη διαμόρφωση για χρήση ως /home. Δεδομένου ότι τα δεδομένα χρήστη βρίσκονται στον αρχικό κατάλογο, τα δεδομένα μπορούν να ανακτηθούν πλήρως και το RAID μπορεί να ξαναδημιουργηθεί ξανά σε περίπτωση βλάβης ενός μόνο δίσκου.
Το λειτουργικό σύστημα θα παραμείνει στην κάρτα SD (ή σε άλλο SSD). Εάν ο δίσκος του λειτουργικού συστήματος αποτύχει, τα σημαντικά δεδομένα εξακολουθούν να είναι διαθέσιμα στη συστοιχία RAID-1. Επίσης, ο δίσκος του λειτουργικού συστήματος θα διαρκέσει περισσότερο, καθώς υπάρχει λιγότερη πίεση στο δίσκο. Αυτό συμβαίνει επειδή το μεγαλύτερο μέρος της δραστηριότητας του δίσκου συμβαίνει στον κατάλογο /home (για παράδειγμα, συνεχής ανάγνωση/εγγραφή στα "Firefox Profile Files").
Αυτή η διαδικασία χρησιμοποιεί μια διεπαφή ιστού για να απλοποιήσει την κατά τα άλλα πολύπλοκη διαδικασία ρύθμισης του RAID. Η ρύθμιση εμφανίζεται εδώ χρησιμοποιεί το Ubuntu MATE 22.04 και η ίδια διαδικασία μπορεί να εφαρμοστεί σε οποιοδήποτε άλλο λειτουργικό σύστημα Pi.
Επιλέξτε το σωστό υλικό λαμβάνοντας υπόψη τη διαθεσιμότητα ισχύος
Για το RAID-1 απαιτούνται τουλάχιστον δύο δίσκοι. Αυτοί οι δίσκοι μπορεί να είναι είτε σκληροί δίσκοι είτε SSD. Μόλις ρυθμιστεί το RAID-1, τα δεδομένα αντικατοπτρίζονται (κλωνοποιούνται) σε όλη τη συστοιχία. Σημαίνει ότι τα δεδομένα γράφονται και στους δύο δίσκους και διαβάζονται από το ταχύτερο μέλος RAID.
Οι προσαρμογείς USB σε SATA χρησιμοποιούνται για τη σύνδεση SSD στο Pi. Ένας SSD καταναλώνει περίπου 5 Watt ισχύος σε μέγιστη χρήση. Δεδομένου ότι δύο από αυτά χρειάζονται για το RAID-1, πρέπει να ληφθεί υπόψη η διαθεσιμότητα ισχύος.
2 (SSD) x 5 (Watts) = 10 Watt
Ένα Pi 4 που λειτουργεί σε τυπικό ρολόι καταναλώνει περίπου 6 Watt και ένα υπερχρονισμένο Pi 4 σε πλήρες φορτίο καταναλώνει κοντά στα 8 Watt.
Το επίσημο τροφοδοτικό ενός Raspberry Pi 4 είναι 5.1V, 3.0A.
5,1 (Volts) x 3 (Amperes) = 15,3 Watt
Συνοψίζοντας, η απαίτηση ισχύος είναι μεγαλύτερη από τη μέγιστη ισχύ εξόδου του προσαρμογέα.
10 Watt + 8 Watt > 15,3 Watts
Το Pi θα πρέπει επίσης να τροφοδοτήσει το σύστημα ψύξης του. Έτσι, οι SSD πρέπει να τροφοδοτούνται εξωτερικά για να έχουν το κεφάλι για σταθερή λειτουργία.
ΕΝΑ USB HDD/SSD Dual Dock ταιριάζει ιδανικά σε αυτόν τον σκοπό, μπορεί να φιλοξενήσει δίσκους 2,5" και 3,5". Έχει το δικό του τροφοδοτικό και δεν θα αντλεί ρεύμα από το Pi.
SD για RAID, επιλέξτε μοντέλα με μη πανομοιότυπα TBW έτσι ώστε και οι δύο δίσκοι να έχουν σημεία αστοχίας σε διαφορετικά διαστήματα. Αυτό δίνει αρκετό χρόνο για την ανασύσταση της συστοιχίας RAID και θα διατηρήσει τα δεδομένα σας διαρκώς ανέπαφα. Υπάρχουν δύο θύρες USB 3.0 στο Pi 4. Δεδομένου ότι το dock χρησιμοποιεί μόνο ένα από αυτά, μια εφεδρική θύρα εξακολουθεί να είναι διαθέσιμη για τη σύνδεση μιας άλλης γρήγορης συσκευής.
Συνδέστε τους δίσκους στο dock και ενεργοποιήστε το Pi. Η ρύθμιση του RAID είναι εύκολη χρησιμοποιώντας ένα εργαλείο που ονομάζεται "Webmin", η διεπαφή του είναι προσβάσιμη μέσω του προγράμματος περιήγησης. Ανοίξτε το τερματικό (συντόμευση: Ctrl+Alt+T) και χρησιμοποιήστε αυτές τις εντολές για να εγκαταστήσετε το Webmin:
Επεξεργασία αρχείου sources.list:
sudo nano /etc/apt/sources.λίστα
Προσθέστε αυτήν τη γραμμή (συντόμευση: Ctrl+Shift+Insert):
deb http://download.webmin.com/download/repository sarge contrib
Αποθήκευση αρχείου χρησιμοποιώντας Ctrl+O, πατήστε «Enter» και βγείτε χρησιμοποιώντας Ctrl+X.
Λήψη κλειδιού για να εμπιστευτείτε την πηγή:
wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add
Ενημέρωση νέων αποθετηρίων:
sudo apt εκσυγχρονίζω
Εγκατάσταση Webmin:
sudo apt εγκαθιστώ webmin -y
Εγκαταστήστε το βοηθητικό πρόγραμμα mdadm Software RAID:
sudo apt εγκαθιστώ mdadm -y
Εγκαταστήστε το εργαλείο διαχείρισης δίσκου:
sudo apt εγκαθιστώ gnome-disk-utility -y
Ορίστε έναν κωδικό πρόσβασης για τον χρήστη root (για διαχείριση Webmin):
sudo su
passwd
Ενημέρωση, αναβάθμιση και επανεκκίνηση:
sudo apt ενημέρωση && sudo apt αναβάθμιση -y && επανεκκίνηση sudo
Διαδικασία δημιουργίας της συστοιχίας RAID-1
Ανοιξε Δίσκοι εργαλείο από Μενού > Προτιμήσεις. Μπορείτε επίσης να χρησιμοποιήσετε την εντολή:
gnome-disks
Θα έδειχνε τους νέους δίσκους, θα μορφοποιούσε και τους δύο.
Ανοίξτε το πρόγραμμα περιήγησης ιστού και εισαγάγετε αυτήν τη διεύθυνση URL:
https://localhost: 10000
Το Webmin εκτελείται σε localhost στη θύρα 10000. Εφόσον χρησιμοποιείται https και δεν έχει εγκατασταθεί το πιστοποιητικό SSL, το πρόγραμμα περιήγησης θα εμφανίσει μια προειδοποίηση. Είναι ασφαλές να κάνετε κλικ Προχωρημένος και μετά Αποδεχτείτε τον κίνδυνο και συνεχίστε.
Συνδεθείτε με τον χρήστη ως "root" και τον κωδικό πρόσβασης που έχετε ορίσει για το root νωρίτερα. Πρώτα πάνω, Ανανέωση ενοτήτων. Μόλις τελειώσετε, επεκτείνετε Σκεύη, εξαρτήματα και επιλέξτε Linux RAID. Από το αναπτυσσόμενο μενού, επιλέξτε RAID1 (Κατοπτρίζεται) και κάντε κλικ στο κουμπί Δημιουργία συσκευής RAID επιπέδου.
Επιλέξτε τους δύο δίσκους κρατώντας πατημένο το Ctrl κλειδί. Μεταβάλλω Παράλειψη προετοιμασίας συσκευών. Αυτό γιατί η προετοιμασία απαιτεί πολύ χρόνο, περισσότερο από μία ώρα για κάθε 100 GB, και δεν είναι απαραίτητο να αναπαραχθούν κενοί δίσκοι.
Κάντε κλικ Δημιουργώ. Το Webmin θα πρέπει να απαντήσει σε τρία λεπτά με τον νέο πίνακα που δημιουργήθηκε. Στη συνέχεια, μπορείτε να ελέγξετε περισσότερες λεπτομέρειες μέσω /dev/md0. Οι δύο δίσκοι εμφανίζονται ως Κατατμήσεις στο RAID και το Κατάσταση συστήματος αρχείων είναι Ενεργό αλλά όχι τοποθετημένο.
Η νέα συστοιχία RAID πρέπει να διαμορφωθεί πριν την προσαρτήσετε. Αυτό μπορεί να γίνει χρησιμοποιώντας τους δίσκους στα αριστερά. Επίλεξε το Συστοιχία RAID-1 και Μορφοποίηση κατάτμησης.
Δώστε ένα όνομα, για παράδειγμα Δεδομένα. Επιλέξτε το κουμπί επιλογής Εσωτερικός δίσκος για χρήση μόνο με συστήματα Linux (Ext4) και προχωρήστε στη μορφοποίησή του.
Αυτή η συστοιχία πρέπει να τοποθετείται αυτόματα σε κάθε εκκίνηση. Επιλέγω Επεξεργασία επιλογών τοποθέτησης.
Μεταβάλλω Προεπιλογές συνεδρίας χρήστη και κάντε κλικ Εντάξει. Μετά τον έλεγχο ταυτότητας, αυτή η διαδικασία τροποποιεί το αρχείο "/etc/fstab".
Κάντε επανεκκίνηση, ο προσαρτημένος πίνακας RAID-1 εμφανίζεται ως φάκελος "Δεδομένα" στον εξερευνητή αρχείων.
Μετακινήστε τον αρχικό κατάλογο στη συστοιχία RAID-1
Για να αντικατοπτριστούν σημαντικά δεδομένα, ο οικιακός κατάλογος πρέπει να βρίσκεται σε συστοιχία RAID-1. Συνιστάται να δημιουργήσετε ένα αντίγραφο αντί να το μετακινήσετε, γιατί θα βοηθήσει στο "RAID Rebuild" στο μέλλον.
Στο τερματικό:
σκην. /μντ
Αντιγράψτε το όνομα της βάσης RAID, μοιάζει με "6256d81c-c23c-42c4-aea3-d194466c6c33" και είναι διαφορετικό για εσάς. Αντικαταστήστε το όνομα του καταλόγου και χρησιμοποιήστε αυτήν την εντολή για να κλωνοποιήσετε τον αρχικό κατάλογο:
sudo rsync -av /home/* /mnt/6256d81c-c23c-42c4-aea3-d194466c6c33/
Κάντε αυτόν τον νέο κατάλογο για προσάρτηση ως /home αντί για τον παλιό:
sudo nano /etc/fstab
Βρείτε τη γραμμή /dev/disk... (συνήθως η τελευταία γραμμή από τότε που μόλις την προσαρτήσατε) και αλλάξτε το σημείο προσάρτησης σε "/home" όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.
Κάντε επανεκκίνηση, ο οικιακός κατάλογος του Pi είναι τώρα στο RAID-1 και τα δεδομένα αντικατοπτρίζονται.
Επιλογές αποκατάστασης αποτυχίας Raspberry Pi RAID
Σε περίπτωση αποτυχίας του RAID, υπάρχουν δύο διαθέσιμες επιλογές για ανάκτηση και πρέπει να ρυθμιστούν τώρα.
1) Τοποθετήστε την υποβαθμισμένη συστοιχία και ανακατασκευάστε
Δημιουργήστε ένα νέο αρχείο:
sudo nano /etc/initramfs-tools/conf.d/mdadm
Συμπεριλάβετε αυτό το περιεχόμενο:
BOOT_DEGRADED=αληθής
Αυτό θα προσαρτήσει τη συστοιχία RAID ακόμα κι αν αποτύχει ένας δίσκος. Θα χρησιμοποιηθεί ο αρχικός κατάλογος στον υποβαθμισμένο πίνακα.
2) Μην προσαρτήσετε την υποβαθμισμένη συστοιχία, αλλά ανακατασκευάστε
Μην κάνετε τίποτα, η υποβαθμισμένη συστοιχία δεν θα τοποθετηθεί κατά την εκκίνηση. Αντ' αυτού θα χρησιμοποιηθεί ο παλιός αρχικός κατάλογος. νωρίτερα αντιγράψατε τον αρχικό κατάλογο αντί να τον μετακινήσετε για αυτόν τον λόγο. Τώρα, θα βοηθήσει στην αναδόμηση της συστοιχίας RAID. Μην πανικοβληθείτε αφού παρατηρήσετε δεδομένα που λείπουν σε αυτήν τη λειτουργία, να θυμάστε ότι αυτός δεν είναι ο πραγματικός αρχικός σας κατάλογος. Τα δεδομένα σας είναι ασφαλή σε άλλο δίσκο και περιμένουν να ανακτηθούν.
Σε περίπτωση που το Webmin εμφανίσει μήνυμα σφάλματος "mdadm: Δεν είναι δυνατή η λήψη πληροφοριών πίνακα για το /dev/md0".
Χρησιμοποιήστε αυτήν την εντολή για να ξεκινήσετε τον πίνακα:
sudo mdadm -- εκτελέστε /dev/md0
Ανακατασκευή της συστοιχίας σε περίπτωση αποτυχίας
Αν και δεν είναι απαραίτητο να επαναλάβετε αυτό το βήμα, είναι καλό να γνωρίζετε ότι τα δεδομένα μπορούν να ανακτηθούν σε περίπτωση αποτυχίας του δίσκου.
Διαδικασία προσομοίωσης
Το Pi τερματίζεται και ένας δίσκος αφαιρείται. Στη συνέχεια, το Pi ενεργοποιείται και γίνεται πρόσβαση στο Webmin. Σε Linux RAID, ο Κατάσταση εμφανίζεται τώρα ως Αδρανής. Μετά από περαιτέρω έλεγχο, έλεγχος /dev/md0 δείχνει μια υποβαθμισμένη συστοιχία με έναν μόνο δίσκο στο RAID.
Τα δεδομένα είναι άθικτα, αλλά βρίσκονται μόνο σε έναν δίσκο τώρα. Η συστοιχία RAID πρέπει να ξαναδημιουργηθεί για να διατηρηθούν τα δεδομένα.
Το Pi κλείνει, ένας νέος κενός δίσκος HDD/SSD τοποθετείται στη θέση του παλιού και το Pi ενεργοποιείται. Πρόσβαση στο Webmin γίνεται έλεγχος /dev/md0 εμφανίζει επιλογές για την προσθήκη νέου δίσκου στη συστοιχία RAID. Επιλέξτε το νέο δίσκο από το αναπτυσσόμενο μενού και κάντε κλικ Προσθήκη διαμερίσματος.
Η ανακατασκευή θα ξεκινήσει αμέσως, η διάρκεια εξαρτάται από το μέγεθος των δίσκων. Γενικά χρειάζεται μια ώρα για κάθε 100 GB (για SSD).
Η προστασία των δεδομένων του Pi σας είναι απαραίτητη
Με αυτήν την υλοποίηση, τα δεδομένα είναι ασφαλέστερα και το Pi μπορεί να χρησιμοποιηθεί ως καθημερινό πρόγραμμα οδήγησης. Τελευταία, τα Raspberry Pi χρησιμοποιούνται εκτενώς σε βιομηχανικές εφαρμογές και ο χρόνος διακοπής λειτουργίας μπορεί να ελαχιστοποιηθεί.
Μπορείτε να κάνετε μια έξυπνη επιλογή με την επιλογή των SSD. Οι κατασκευαστές έχουν SSD παρόμοιας χωρητικότητας σε διαφορετικά σημεία τιμών, με τη διαφορά να είναι TBW (Total Bytes Written). το καλύτερο μοντέλο έχει συνήθως 50% περισσότερο TBW. Όταν χρησιμοποιείτε SSD για RAID, επιλέξτε μοντέλα με μη πανομοιότυπα TBW, έτσι ώστε και οι δύο δίσκοι να έχουν σημεία αστοχίας σε διαφορετικά διαστήματα. Αυτό δίνει αρκετό χρόνο για την ανασύσταση της συστοιχίας RAID και θα διατηρήσει τα δεδομένα σας διαρκώς ανέπαφα.