Ein RAID 1 System ist sinnvoll, um seine Daten in einem ersten Schritt einmal redundant zu haben. So kann beim Ausfall einer Hardwarekomponente, also einer Festplatte, normal weitergearbeitet werden, da die Daten auf der anderen noch vorhanden sind. In diesem Beitrag bauen wir uns aus zwei Festplatten und einem Raspberry Pi ein kleines RAID.
Die Hardware
Wir benötigen die folgenden Komponenten:
- Raspberry Pi (in diesem Artikel verwende ich einen Raspberry Pi 4)
- Zwei Festplatten. Idealerweise mit USB Schnittstelle. Wenn Ihr SATA Platten habt, gibt es dafür für kleines Geld USB Adapter
- Netzteil mit genügend Leistung. Am besten einfach das offizielle von Raspberry Pi
Das RAID einrichten
Zum Einrichten und Verwalten des RAID verwende ich MDADM. Das muss erst einmal installiert werden
sudo apt-get install mdadm
Anschließend muss neu gestartet werden
sudo reboot
Jetzt prüfen wir einmal, ob unsere Festplatten richtig erkannt werden und was derzeit gemountet ist
lsblk
Bei mir sieht das so aus
sda und sdb sind meine beiden, jeweils 500GB großen Festplatten. Unter mmcblk0 erkennt man die SSD Karte des Raspberry Pi, die beim booten gemountet wird..
Sollten auf den Festplatten, mit denen das RAID gebaut werden soll noch, wie hier gezeigt, Partitionen bestehen, müssen diese zunächst bereinigt werden. Sind mehrer Partitionen aufgelistet, werden die mit "rm 2" usw. gelöscht.
sudo parted /dev/sda "rm 1"
sudo parted /dev/sdb "rm 1"
Danach sollte das Ergebnis beim erneuten Aufruf von lsblk so aussehen:
Der nächste Schritt ist das Erstellen von Partitionstabellen auf unseren bereinigten Festplatten. Da meine Platten vergleichsweise klein sind, nehme ich die msdos Variante.
sudo parted /dev/sda "mklabel msdos"
sudo parted /dev/sdb "mklabel msdos"
Nachdem die Partitionstabellen erstellt sind legen wir auf jeder Festplatte auch eine neue Partition an.
sudo parted /dev/sda "mkpart primary ext4 1M -1"
sudo parted /dev/sdb "mkpart primary ext4 1M -1"
Jetzt machen wir dem System klar, dass diese Partitionen für unser RAID genutzt werden sollen
sudo parted /dev/sda "set 1 raid on"
sudo parted /dev/sdb "set 1 raid on"
Nun können wir mal überprüfen, ob bis hierher alles richtig angelegt ist.
sudo parted -s /dev/sda print
sudo parted -s /dev/sdb print
Hier passt alles. Die Größe der Festplatte stimmt, es ist eine Partition angelegt und auch für das RAID vorbereitet.
Jetzt wird das RAID auch wirklich mal angelegt. Im folgenden Befehl legen wir mit mdadm ein neues RAID mit dem Namen md0 an. Das hat den RAID Level 1 und wir verwenden dazu zwei Festoplatten, nämlich unser sda1 und sdb1
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
Fast fertig. Mit dem Befehl lsblk prüfen wir jetzt einmal, wie sich unsere Festplatten jetzt darstellen und wir erkennen, dass sich unser RAID mit dem Namen md0 nun auf beiden Festplatten befindet
Ab jetzt ist unser RAID eigentlich nichts anderes als eine gewöhnliche Festplatte und die muss erstmal mit einem Dateisystem formatiert werden
sudo mkfs -t ext4 /dev/md0
Je nach Größe eurer Festplatten kann es ab hier ein wenig dauern, denn die Festplatten werden jetzt erstmal synchronisiert. Mit den beiden Befehlen
cat /proc/mdstat
sudo mdadm --detail /dev/md0
Kann man sich dazu Statusmeldungen ansehen.
Jetzt sind wir fast fertig. Das Einzige Problem ist jetzt, dass das RAID beim Start nicht automatisch eingebunden wird. Das gehen wir mit den folgenden Befehlen an.
sudo mkdir /media/cloudraid
sudo mount /dev/md0 /media/cloudraid
Damit das dann auch alles bei jedem Booten geschieht wird das im File System Tab eingetragen.
sudo nano /etc/fstab
Dort fügen wir dann als letzte Zeile unseren Mount Befehl ein. Hier bitte extrem vorsichtig beim Abtippen sein. Ein kleiner Schreibfehler kann dazu führen, dass euer System nicht mehr starte und aufwändig repariert werden muss.
Zum Überprüfen rebooten wir den Raspberry Pi nun und gehen dann nochmal in die Konsole in der wir mit lsblk überprüfen, was dort vor sich geht.
Wichtig
Das RAID für sich genommen stellt noch nicht die komplette Sicherheit der Daten sicher. Hierzu müssen diese zumindest in regelmäßigen Abständen an einen anderen Ort gespiegelt werden, der nicht gleichzeitig mit dem Standort unseres RAID überschwemmt wird oder abbrennt.
Als nächstes
Ich richte mir als nächstes meine eigene Cloud auf meinem RAID ein. Dazu verwende ich NextCloud. Alle Details könnt Ihr hier nachlesen