Dabei gibt es verschiedene RAID Modi. Die gängigsten sind RAID 0 (Striping), RAID 1 (Spiegelung) und RAID 5 (Verteilte Parität).
In diesem Artikel wird beschrieben wie man die unterschiedlichen RAIDs ohne einen extra RAID Controller als Software RAID einrichtet.
Voraussetzungen
Die Festplatten des RAID Verbundes sollten gleich groß sein. Andernfalls wird Speicherplatz verschenkt, da die Kapazität der kleinsten Platte ausschlaggebend ist.
Weiterhin muss zunächst das Paket für die RAID Verwaltung installiert werden.
sudo apt-get install mdadm
Für Festplatten > 2 TB muss zusätzlich das Paket gfdisk installiert werden um diese nach dem neuen GPT Schema zu partitionieren. An dieser Stelle ein Danke an Jeykon, der mich auf den Punkt aufmerksam gemacht hat.
Festplatten formatieren
Zunächst werden die Festplatten für den RAID Verbund mit fdisk formatiert.
sudo fdisk -l
Mit diesem Befehl erhalten wir eine Übersicht über alle angeschlossenen Festplatten.
sudo fdisk /dev/sdb
Für Platten, die größer als 2 TB sind, muss gfdisk verwendet werden.
sudo gfdisk /dev/sdb
Partition anlegen
- n - Neue Partition anlegen
- p - Primäre Partition
- 1 - Partitionsnummer 1
- Erster Sektor - Nur Eingabetaste drücken
- Letzter Sektor - Ebenfalls Eingabetaste drücken
Dateisystemtyp festlegen
- t - Partition 1 wird automatisch ausgewählt
- fd - Typ ist "Linux raid auto"
- w - Änderungen schreiben und beenden
Diese Schritte sind für alle Platten zu wiederholen. Anschließend ist die Konfiguration der Platten abgeschlossen. Im nächsten Schritt werden wir diese nun in den RAID Verbund aufnehmen.
RAID 0
sudo mdadm --create --verbose /dev/md0 --auto=yes --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
Die Option Level gibt hier den RAID Level an. Wichtig ist hier die Option raid-devices (Anzahl der Festplatten) entsprechend der eigenen Konfiguration anzupassen.
Das RAID Volume ist nun gestartet und fast einsatzbereit. Über fdisk können wir nun das neue virtuelle Gerät /dev/md0 sehen.
RAID 1
Die Erstellung eines RAID 1 Verbundes erfolgt über den gleichen Befehl. Es werden lediglich die Parameter angepasst.
sudo mdadm --create --verbose /dev/md0 --auto=yes --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
Auch hier kann das Ergebnis wieder mit fdisk -l geprüft werden.
RAID 5
Ein RAID 5 Verbund wird über den nachfolgenden Befehl initialisiert:
sudo mdadm --create --verbose /dev/md0 --auto=yes --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
Wichtig ist hier, dass gemäß der RAID 5 Spezifikation mindestens 3 Festplatten benötigt werden.
Dateisystem erstellen
Nachdem der eigentliche RAID Verbund initialisiert ist, kann ein Dateisystem auf dem neuen logischen Gerät /dev/md0 erstellt werden.
Auch hier nutzen wir für die Anpassung der Partitionstabelle wieder fdisk.
sudo fdisk /dev/md0
- n - Neue Partition anlegen
- p - Primäre Partition
- 1 - Partitionsnummer 1
- Erster Sektor - Nur Eingabetaste drücken
- Letzter Sektor - Ebenfalls Eingabetaste drücken
Dateisystemtyp festlegen
- t - Partition 1 wird automatisch ausgewählt
- 83 - Typ ist "Linux"
- w - Änderungen schreiben und beenden
Das Anlegen des Dateisystems erfolgt nun über das nachfolgende Kommando.
mkfs.ext4 /dev/md0
Dateisystem einbinden
Damit ist das Dateisystem fertig erstellt. Jetzt muss dieses noch auf einen Mountpunkt gemappt werden.
Zunächst erstellen wir einen neuen Ordner. Natürlich kann man das Laufwerk auch auf einen bestehenden Ordner verbinden.
sudo mkdir /mnt/raid
Dazu die /etc/fstab mit einem Editor und Root-Rechten öffnen und nachfolgende Zeile anfügen.
/dev/md0 /mnt/raid ext4 defaults 0 0
Und einbinden:
sudo mount -all
Aufgaben
Array stoppen / starten
Bevor das Array gestoppt werden kann, muss /dev/md0 entbunden werden:
sudo umount /dev/md0
Jetzt kann das RAID gestoppt werden. Auch hier verwenden wir wieder mdadm.
sudo mdadm --stop /dev/md0
Zum Starten einfach den Parameter --start verwenden.
Array löschen
Bevor ein Array gelöscht werden kann muss es deaktiviert werden. Siehe oben.
Anschließend wird alles gelöscht.
sudo mdadm --zero-superblock /dev/sdb1
sudo mdadm --zero-superblock /dev/sdc1
sudo mdadm --zero-superblock /dev/sdd1
Defekte Festplatte tauschen
Angenommen die Festplatte /dev/sdc ist defekt. Zuerst die Partition auf der Festplatte als defekt markieren
sudo mdadm /dev/md0 --fail /dev/sdc1
Nun kann die Partition komplett aus dem RAID entfernt werden:
sudo mdadm /dev/md0 --remove /dev/sdc1
Sobald die Platte getauscht ist und wieder eine RAID Partition auf dieser erstellt wurde, wird diese dem Array wieder hinzugefügt.
sudo mdadm /dev/md0 --add /dev/sdc1
Fazit
Die Performance eines Software RAIDs ist natürlich etwas geringer als die eines echten Hardware RAIDs. Dennoch ist die Konfiguration unter Ubuntu recht übersichtlich und logisch.
Für den professionellen Einsatz im Rechenzentrum ist an Hardware RAID dennoch die bessere Wahl.
Quellen: Ubuntu Logo
Michael Kostka
08.08.2015 12:43
vermutlich stimmen nur die Berechtigungen nicht. Hast du mal als Root versucht diese anzupassen:
sudo chmod 666 -R /mnt/raid
Ansonsten wäre eine Ausgabe deiner /etc/fstab evtl. hilfreich.
Viele Grüße
Michael
Mike
28.05.2015 04:08
Ersteinmal vielen Dank für deine Anleitung, da ich Neuling bin und gerade erst seit zwei Wochen angefangen habe mit Linux (Ubuntu 14.04 LTS Desktop) bekomme ich es einfach nicht hin. Es wäre wirklich sehr klasse, wenn du mir hier helfen könntest.
Ich habe eine 250GB SSD wo das Ubuntu drauf installiert ist und 2x2 TB Western Digital Team Red Festplatten und würde diese gerne als Datenplatte wo ich meine Musik, Filme usw. darauf speichern würde als RAID 1 laufen lassen, soweit so gut.
Ich bin auch alle Punkte durchgegangen wie du beschrieben hast. Bei Punkt 6 habe ich die Datei mit vim eingefügt und als ext4 anstatt wie bei dir ext3 gespeichert. Mein RAID 1 Laufwerk wird auch angezeigt, mit 2TB Speicher. Jedoch habe ich kein Zugriff darauf und kann dort nichts drauf kopieren, was mache ich falsch? Ich würde gerne das laufwerk sichtbar haben und Zugriff darauf bekommen.
Ich hoffe, dass du mir ein wenig helfen könntest, da ich jetzt fast seit 2 wochen an diesem Raid 1 fehlschlage.
Mit freundlichen Grüßen
Mike
Jeykon
13.05.2015 01:02
erstmal super Artikel. Alles sehr ausführlich beschrieben.
Ich bin allerdings auf Hindernis gestoßen.
Bei fdisk gibt es eine Größenbegrenzung von 2TB für Partitionen.
Es wird also immer nur ein 2TB raid geladen.
Ich habe statt fdisk, gdisk genutzt und die 3TB Partition wurde problemlos erstellt.
Nur so als kleiner Hinweis weil viele ja heute auch größere Platten haben.
Schönen Gruß
Dieter Kiesel
06.09.2014 19:30
Vielen Dank :)
VG,
Dieter
Michael Kostka
17.07.2014 08:43
das RAID kannst du in jedem anderen Linux System wieder einbinden.
Die hierzu notwendigen Informationen sind in den Superblocks der Festplatten gespeichert.
Um das RAID wiederherzustellen ist folgender Befehl notwendig:
sudo mdadm --assemble --scan
oder gezielt: sudo mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1
Viele Grüße
Michael
Dieter Kiesel
29.06.2014 15:35
Eine Frage hätte ich noch: kann man das bestehende Raid wieder einbinden, wenn der server neu aufgesetzt wird? Wenn ja, wie geht das?