Das Betriebssystem von Raspberry Pi ist entweder auf der SD-Karte oder einem USB-Datenträger installiert. Aufgrund der begrenzten Schreibzyklen von Flash-Zellen auf SD-Karten kann deren Zuverlässigkeit nicht garantiert werden. Festplatten und SSDs schneiden bei der Zuverlässigkeit besser ab; letzteres verwendet Wear-Level-Algorithmen, um die Lebensdauer des Geräts zu verlängern. Dennoch ist es immer riskant, Daten nur auf einer einzigen Festplatte zu speichern.

Die Idee, Daten mit RAID-1 zu spiegeln

Um Datenverlust im Falle eines Festplattenausfalls zu vermeiden, RAID-1-Datenspiegelung umgesetzt werden soll. Das Problem ist, dass die Einrichtung von RAID während der Installationsphase des Betriebssystems auf einem Raspberry Pi nicht möglich ist.

Bei dieser Idee geht es darum, RAID-1-Spiegelung auf zwei USB-SSDs einzurichten, dann das Home-Verzeichnis auf die RAID-Partition zu kopieren und so zu konfigurieren, dass es als /home verwendet wird. Da sich die Benutzerdaten im Home-Verzeichnis befinden, können Daten vollständig wiederhergestellt und RAID im Falle eines Ausfalls einer einzelnen Festplatte wiederhergestellt werden.

instagram viewer

Das Betriebssystem verbleibt weiterhin auf der SD-Karte (oder einer anderen SSD). Wenn der Betriebssystemdatenträger ausfällt, sind die wichtigen Daten weiterhin auf dem RAID-1-Array verfügbar. Außerdem hält die Betriebssystemfestplatte länger, da weniger Druck auf die Festplatte ausgeübt wird. Dies liegt daran, dass ein Großteil der Festplattenaktivität im /home-Verzeichnis stattfindet (z. B. kontinuierliches Lesen/Schreiben in „Firefox-Profildateien“).

Dieser Prozess verwendet eine Webschnittstelle, um den ansonsten komplexen Prozess der RAID-Einrichtung zu vereinfachen. Hier gezeigte Einrichtung verwendet Ubuntu MATE 22.04 und der gleiche Prozess kann auf jedes andere Pi-Betriebssystem angewendet werden.

Wählen Sie die richtige Hardware unter Berücksichtigung der Stromverfügbarkeit

Für RAID-1 sind mindestens zwei Festplatten erforderlich. Diese Datenträger können entweder Festplatten oder SSDs sein. Sobald RAID-1 eingerichtet ist, werden Daten über das Array gespiegelt (geklont). Dies bedeutet, dass Daten auf beide Festplatten geschrieben und vom schnellsten RAID-Mitglied gelesen werden.

USB-zu-SATA-Adapter werden verwendet, um SSDs an den Pi anzuschließen. Eine SSD verbraucht bei Spitzenauslastung rund 5 Watt Strom. Da für RAID-1 zwei davon benötigt werden, muss die Stromverfügbarkeit berücksichtigt werden.

2 (SSDs) x 5 (Watt) = 10 Watt

Ein Pi 4 im Standardtakt verbraucht etwa 6 Watt und ein übertakteter Pi 4 unter Volllast verbraucht knapp 8 Watt.

Die offizielle Stromversorgung eines Raspberry Pi 4 beträgt 5,1 V, 3,0 A.

5,1 (Volt) x 3 (Ampere) = 15,3 Watt

Zusammenfassend ist der Strombedarf höher als die maximale Leistung des Adapters.

10 Watt + 8 Watt > 15,3 Watt

Der Pi muss auch sein Kühlsystem mit Strom versorgen. Daher müssen die SSDs extern mit Strom versorgt werden, um genügend Spielraum für einen stabilen Betrieb zu haben.

EIN USB-HDD/SSD-Dual-Dock eignet sich ideal für diesen Zweck, es kann sowohl 2,5-Zoll- als auch 3,5-Zoll-Festplatten aufnehmen. Es hat ein eigenes Netzteil und bezieht keinen Strom vom Pi.

Wählen Sie für SDs für RAID Modelle mit nicht identischen TBWs, sodass beide Festplatten in unterschiedlichen Intervallen Fehlerpunkte aufweisen. Dies gibt genügend Zeit, um das RAID-Array neu aufzubauen, und Ihre Daten bleiben dauerhaft intakt. Es gibt zwei USB 3.0-Anschlüsse am Pi 4. Da das Dock nur einen davon verwendet, steht immer noch ein freier Port zur Verfügung, um ein weiteres schnelles Gerät anzuschließen.

Stecken Sie die Festplatten in das Dock und schalten Sie das Pi ein. Die RAID-Einrichtung ist mit einem Tool namens "Webmin" einfach, auf dessen Oberfläche kann über den Browser zugegriffen werden. Öffnen Sie das Terminal (Shortcut: Strg+Alt+T) und verwenden Sie diese Befehle, um Webmin zu installieren:

Bearbeiten Sie die sources.list-Datei:

sudo nano /etc/apt/sources.aufführen

Fügen Sie diese Zeile hinzu (Verknüpfung: Strg+Umschalt+Einfg):

Deb http://download.webmin.com/download/repository Sarge-Beitrag

Datei speichern mit Strg+O, drücken Sie „Enter“ und beenden Sie mit Strg+X.

Laden Sie den Schlüssel herunter, um der Quelle zu vertrauen:

wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key hinzufügen

Aktualisieren Sie neue Repositorys:

sudo apt aktualisieren

Webmin installieren:

sudo apt Installieren webmin -y

Installieren Sie das mdadm Software RAID-Dienstprogramm:

sudo apt Installieren mdadm -y

Installieren Sie das Datenträgerverwaltungstool:

sudo apt Installieren gnome-disk-utility -y

Legen Sie ein Passwort für den Root-Benutzer fest (um Webmin zu verwalten):

sudo su
Passwort

Update, Upgrade und Neustart:

sudo apt aktualisieren && sudo apt upgrade -y && sudo-Neustart

Prozess zum Erstellen des RAID-1-Arrays

Offen Festplatten Werkzeug aus Menü > Einstellungen. Sie können auch den Befehl verwenden:

Gnome-Festplatten

Es würde die neuen Festplatten anzeigen, beide formatieren.

Öffnen Sie den Webbrowser und geben Sie diese URL ein:

https://lokaler Host: 10000

Webmin läuft auf localhost an Port 10000. Da https verwendet wird und kein SSL-Zertifikat installiert ist, zeigt der Browser eine Warnung an. Es ist sicher zu klicken Fortschrittlich und dann Akzeptiere das Risiko und fahre fort.

Melden Sie sich mit dem Benutzer „root“ und dem Passwort an, das Sie zuvor für root festgelegt haben. Zuerst, Module aktualisieren. Sobald Sie fertig sind, erweitern Sie Hardware und auswählen Linux-RAID. Wählen Sie aus der Dropdown-Liste aus RAID1 (gespiegelt) und klicken Sie auf die Schaltfläche Erstellen Sie ein RAID-Gerät des Levels.

Wählen Sie die beiden Datenträger aus, indem Sie die gedrückt halten Strg Schlüssel. Umschalten Initialisierung von Geräten überspringen. Dies liegt daran, dass die Initialisierung viel Zeit in Anspruch nimmt, mehr als eine Stunde pro 100 GB, und es nicht erforderlich ist, leere Festplatten zu replizieren.

Klicken Schaffen. Webmin sollte in drei Minuten mit dem neu erstellten Array antworten. Sie können dann weitere Details überprüfen /dev/md0. Die beiden Festplatten werden als angezeigt Partitionen im RAID und die Dateisystemstatus ist Aktiv, aber nicht montiert.

Das neue RAID-Array muss vor dem Mounten formatiert werden. Dies kann mit Disks auf der linken Seite erfolgen. Wähle aus RAID-1-Array und Partition formatieren.

Geben Sie zum Beispiel einen Namen an Daten. Wählen Sie das Optionsfeld aus Interne Festplatte nur zur Verwendung mit Linux-Systemen (Ext4) und fortfahren, um es zu formatieren.

Dieses Array muss bei jedem Start automatisch gemountet werden. Auswählen Mount-Optionen bearbeiten.

Umschalten Standardeinstellungen für Benutzersitzungen und klicken OK. Nach der Authentifizierung ändert dieser Prozess die Datei „/etc/fstab“.

Starten Sie neu, das gemountete RAID-1-Array wird im Datei-Explorer als Ordner „Data“ angezeigt.

Verschieben Sie das Home-Verzeichnis auf das RAID-1-Array

Um wichtige Daten zu spiegeln, muss sich das Home-Verzeichnis auf einem RAID-1-Array befinden. Es wird empfohlen, eine Kopie zu erstellen, anstatt sie zu verschieben, da dies den „RAID Rebuild“ in der Zukunft unterstützt.

Im Terminal:

dir /mnt

Kopieren Sie den Namen des RAID-Mounts, er sieht aus wie „6256d81c-c23c-42c4-aea3-d194466c6c33“ und ist für Sie anders. Ersetzen Sie den Verzeichnisnamen und verwenden Sie diesen Befehl, um das Home-Verzeichnis zu klonen:

sudo rsync -av /home/* /mnt/6256d81c-c23c-42c4-aea3-d194466c6c33/

Machen Sie dieses neue Verzeichnis so, dass es als /home anstelle des alten gemountet wird:

sudo nano /etc/fstab

Finde die Linie /dev/disk... (normalerweise die letzte Zeile, seit Sie es gerade gemountet haben) und ändern Sie den Einhängepunkt auf "/home", wie im folgenden Screenshot gezeigt.

Starten Sie neu, das Home-Verzeichnis des Pi befindet sich jetzt auf RAID-1 und die Daten werden gespiegelt.

Optionen zur Wiederherstellung nach einem RAID-Fehler des Raspberry Pi

Im Falle eines RAID-Ausfalls stehen zwei Optionen zur Wiederherstellung zur Verfügung und müssen jetzt eingestellt werden.

1) Mounten Sie das degradierte Array und erstellen Sie es neu

Erstellen Sie eine neue Datei:

sudo nano /etc/initramfs-tools/conf.d/mdadm

Fügen Sie diesen Inhalt hinzu:

BOOT_DEGRADE=Stimmt

Dadurch wird das RAID-Array auch dann bereitgestellt, wenn eine Festplatte ausfällt. Das Home-Verzeichnis auf dem heruntergestuften Array wird verwendet.

2) Hängen Sie das degradierte Array nicht ein, sondern erstellen Sie es neu

Tun Sie nichts, das heruntergestufte Array wird beim Booten nicht gemountet. Stattdessen wird das alte Home-Verzeichnis verwendet; Früher haben Sie aus diesem Grund das Home-Verzeichnis kopiert, anstatt es zu verschieben. Jetzt hilft es, das RAID-Array neu aufzubauen. Keine Panik, nachdem Sie in diesem Modus fehlende Daten beobachtet haben, denken Sie daran, dass dies nicht Ihr eigentliches Home-Verzeichnis ist. Ihre Daten sind auf einer anderen Festplatte sicher und warten darauf, wiederhergestellt zu werden.

Falls Webmin eine Fehlermeldung „mdadm: Cannot get array info for /dev/md0.“ anzeigt.

Verwenden Sie diesen Befehl, um das Array zu starten:

sudo mdadm --run /dev/md0

Wiederherstellen des Arrays im Falle eines Fehlers

Obwohl es nicht notwendig ist, diesen Schritt zu wiederholen, ist es gut zu wissen, dass Daten im Falle eines Festplattenausfalls wiederhergestellt werden können.

Simulationsprozess

Der Pi wird heruntergefahren und eine Festplatte entfernt. Der Pi wird dann eingeschaltet und auf Webmin zugegriffen. Im Linux-RAID, das Status wird jetzt als angezeigt Inaktiv. Bei weiterer Inspektion, Überprüfung /dev/md0 zeigt ein herabgesetztes Array mit nur einer Festplatte im RAID.

Die Daten sind intakt, aber sie befinden sich jetzt nur auf einer Platte. Das RAID-Array muss neu erstellt werden, um die Daten zu erhalten.

Der Pi wird heruntergefahren, eine neue leere HDD/SSD-Festplatte wird anstelle der alten eingelegt und der Pi wird hochgefahren. Auf Webmin wird zugegriffen und es wird überprüft /dev/md0 zeigt Optionen zum Hinzufügen einer neuen Festplatte zum RAID-Array. Wählen Sie die neue Festplatte aus der Dropdown-Liste aus und klicken Sie auf Partition hinzufügen.

Der Neuaufbau würde sofort beginnen, die Dauer hängt von der Größe der Festplatten ab. Es dauert im Allgemeinen eine Stunde pro 100 GB (für SSDs).

Der Schutz der Daten Ihres Pi ist unerlässlich

Mit dieser Implementierung sind Daten sicherer und der Pi kann als täglicher Treiber verwendet werden. In letzter Zeit werden Raspberry Pis häufig in industriellen Anwendungen eingesetzt, und Ausfallzeiten können minimiert werden.

Bei der Auswahl an SSDs können Sie eine kluge Wahl treffen. Hersteller bieten SSDs mit ähnlicher Kapazität zu unterschiedlichen Preisen an, wobei der Unterschied in TBW (Total Bytes Written) liegt; Das bessere Modell hat normalerweise 50 % mehr TBW. Wählen Sie bei der Verwendung von SSDs für RAID Modelle mit nicht identischen TBWs, sodass beide Festplatten in unterschiedlichen Intervallen Fehlerpunkte aufweisen. Dies gibt genügend Zeit, um das RAID-Array neu aufzubauen, und Ihre Daten bleiben dauerhaft intakt.