RAID einrichten unter Linux

(Last Updated On: 5. August 2015)

Die RAID Typen

ein sehr einfaches Tool zur Übersicht über RAID-Levels ist beispielsweise der RAID calculator von Synology. Ansonsten im Folgenden noch eine hilfreiche Tabelle sowie Erklärungen

RAID-LevelSpeicherplatz (n= Anzahl platten, s=Speicherplatz kleinste platte)Kommentar
0n*sKeine Fehlertoleranz, da keine Spiegelung der Datne erfolgt. Lediglcih Verbesserung der Performance, dafür erhöhtes Ausfallrisiko
10,5*n*sDaten werden zwischen allen platten gespiegelt. Von daher erhöhte Redundanz
3 und 4(1/n)  * sParitätsinformationen werden auf einer gesonderten Festplatte gespeichert. Diese Paritättsinformationen müssen bei jeder Datenänderung geändert werden. Fällt die Paritättsplatte aus, werden die Daten auf dieser platte neu konstruiert. Von daher erhöhte Ausfallsicherheit. Jedoch eingescränkte Performance, da wie gesagt jedesmal die Daten der paritätsplatte aktualisiert werden müssen.
5(n-1)xsbietet ein mirroring mit paritätsinfomrationen ähnlcih wie bei raid level 3 und 4.  RAId 5 ist nicht zu empfehlen bei schreibintensiven Umgebungen zu empfehlen, die perofmrance nimmt duetlich ab. Auch der Rebuild nach dem Austausch einer defekten Festplatte dauert deutlcih länger, je mehr Festplatten im RAID-5-Verbund sind. Je mehr festplatten in den Verbund reingenommen werden sollen, desto eher lohnt sich RAID 0+1 anstelle eines RAID 5.

RAID 0 – Striping

Striping ist eine Option, die man eigentlich sehr selten sieht, denn sie liefert keine Ausfallsicherheit. RAID 0 verbessert die Performance der schreib- und Lesezugriffe, indem die Daten auf zwei Festplatten verteilt werden. Somit profitiert man von den Schreib-/Leseköpfen zweier festplatten udn kann somit mehr Daten auf einmal verarbeiten. Das Problem bei RAID 0: sobald auch nur eine der beiden Festplatten ausfällt, sind alle Daten verloren

RAID 1 – Mirroring

Die am häufigsten anzutreffende RAID-Konfiguration. Bei RAID 1 werden die Daten immer von einer auf die andere Festplatte gespiegelt. Das ganze geschieht dabei so, dass die spiegelung bevorzugt dann stattfindet, wenn beide festplatten gerade nicht so sehr ausgelastet sind. Gelesen werden kann von beiden Festplatten. Der Benefit bei RAID 1 ist die Ausfallsicherheit, die es bietet: Wenn eine der beiden Festplatten ausfällt, liest das Betriebssystem automatisch von der anderen, noch funktionsfähigen Festplatte. Das System bleibt also online. Währenddessen kann amn die kaputte Festplatte gegen eine neue, funktionstüchtige austauschen. Diese wird dann automatisch mit den Daten der verbliebenen Festplatte beschrieben, so dass wieder eine Spiegelung vorhanden ist. Nachteil an RAID 1: Man verliert den Speicherplatz der zweiten Festplatte, da dieser ja genutzt wird, um den Speicher der ersten Festplatte zu spiegeln.

RAID 5

RAID 5 verteilt die Daten über mehrere platten und stellt gleichzeitig eine Ausfallsicherheit zur Verfügung, indem es auf diese Festplatten paritätsinformationen schreibt. Dabei werden 25% des Gesamtspeicherplatzes aller beteiligten Festplatten für diese Paritätsinformationen genutzt.  Aus diesen paritätsinformationen können die Daten auf einer festplatte (egal welcher) zurückgewonnen werden. Wenn also im RAID 5 eine Festplatte ausfällt, egal welche, dann können die Daten dieser einen Festplatte wiederhergestellt und auf die restlichen Festplatten verteilt werden. In der Zwischenzeit kann die fehlerhafte festplatte entfernt und durch eine neue, funktionstüchtige ersetzt werden.

Das heißt mit RAID 5 kombiniert man den Performancevorteil von RAID 0 mit dem Mirroring von RAID 1. Vorteil gegenüber RAID 1: Man verliert nur 25% des Gesamtspeicherplatzes und nicht 50% wie bei RAID 1 üblich und man hat gleichzeitig noch das Striping als Performanceboost. Nachteil: RAID 5 braucht ein Minimum von drei beteiligten Festplatten, lässt sich also nicht mit lediglich zwei Festplatten realisieren.

Software RAID oder Hardware RAID

Man kann ein RAID über Software auf dem Betriebssystem oder über Hardware-Controller realisieren.

Der vorteil von Hardware-Lösungen: Sie sind als Hardware-Controller verbaut und werdne als PCI-Steckkarte in das Mainboard angeschlossen und belasten daher das Betriebssystem nicht, da dieses keine Softwareprozesse ausführen muss, um das RAID zu gewährleisten. Dadurch verbessert sich die Performance des RAIDs und des gesamten Betriebssystems. Hardware-RAID funktioniert desweiteren Betriebssystemübergreifend. Wenn auf den Festplatten also mehrere Betriebsysteme im Dual-Boot installiert sind, oder es sich beispielsweise um die Festplatte von einem VMWare ESXi-Host handelt, dann funktioniert das RAID über alle Betriebssysteme und über alle virtuellen Maschinen hinweg. Unter Software-RAID müsste man hingegen das RAID auf jedem Betriebssystem bzw. auf jeder virtuellen Maschine extra einrichten.

Der Nachteil von Hardware-Lösungen ist, dass wenn der RAID-Controller kaputt geht, also die Steckkarte des RAID-Controllers geht kaputt, dann kommt man an die Daten auf diesen Festplatten nicht mehr ran, bis man die Festplatten wieder an einen haargenau baugleichen RAID-Controller angeschlossen hat. Das kann mitunter schwierig werden, wenn der RAID-Controller nicht mehr produziert wird und man versuchen muss, sich über ebay einen 10 Jahre alten RAID-Controller anzuschaffen. Dieses Problem hat man bei Software-RAID nicht, da sich die Software auf jeder x-beliebigen Hardware ausführen lässt, wodurch man wieder an seine Daten herankommt.

FAKE-RAID

Hardware-RAID wird oftmals mit sogenanntem Fake-RAID verwechselt. Fake-RAID sind RAID-controller, der in den Chipsatz eines Mainboards integriert ist, alson nicht als extra Steckkarte in das Mainboard gesteckt wird, sondern bereits „auf dem Mainboard integriert“ ist. Dieses Fake-RAID wird grundsätzlcih genau so eingerichtet wie das Hardware-RAid eines Steckkarten-Controllers. Der Nachteil eines sogenannten Fake-RAIDS ist, dass dieser RAID-Controller keinen zusätzlichen Prozessor hat, wie es bei der Steckkarte der fall ist. DAher belastet dieses Fake-Raid die CPU und damit letztendlich auch die Performance des Betriebssystems. Man kombiniert mit Fake-Raid also die Nachteile des Hardware-Raids (wenn das Mainboard, auf welchem sich der Raid-controller befindet, kaputt geht, braucht man ein baugleiches Mainboard, um an die Daten heranzukommen) mit den Nachteilen des software-Raids (die Performance des Betriebssystems wird eingeschränkt). Daher empfehle ich FAKE-RAID ÜBERHAUPT NICHT für irgendjemanden da draußen.

Was sind nun sinnvolle lösungen? Nun einige wünschen sich für ihr zu Hause ein RAID, weil Sie dort beispieslweise eine NAS, einen Tower-Serverrechner wie beispielsweise einen Dell PowerEdge T20, einen RaspberryPi einen Gaming-PC am Laufen haben.

 

 

Lasst uns das mal kurz auseinander nehmen.

RAID für einen Gaming-PC

Grundsätzlich rate ich von einem RAID für einen Gaming-PC AB.  Der erste Grund, der dagegen spricht: RAID macht nur Sinn, wenn die Festplatten, auf welcher sich das Betriebssystem befindet, ebenfalls im RAID-Verbund drin ist. Diese ist bei heutigen Gaming-PCs jedoch immer häufiger eine SSD. Damit das RAID sauber funktioniert, müsste man sich zwei baugleiche SSDs kaufen, die zusammen im RAID verbunden werden. Das ist unnötig teuer.

Grundsätzlcih verbessert scih die Performance eines Gaming-PCs in den Datenübertragungsraten durch ein RAID 0, wie aus diesem Benchmark der PCGamesHardware ersichtlich wird. Jedoch erhöhen sichb die zugriffszeiten im Seek Modus, also die Zeit, bis eine Datei aus der SSD gefunden wird – sobald diese gefunden wurde und geschrieben bzw. gelesen wird, sind die Übertragungsraten jedoch wie bereits gesagt enorm angestiegen.

Jedoch ist es so, dass der Geschindigkeitsvorteil im Alltag nicht auffällt. Wenn Sie eine einfache SSD installiert haben, können Sie bereits sicher sein, dass die SSD meist nicht der Flaschenhals ist, der Ihr System derzeit noch verlangsamt. Stattdessen sollten Sie das Geld, welches Sie in das RAID 0 investieren würden, lieber in ein leistungsfähigeres Bauteil wie etwa RAM, Grafikkarte oder CPU investieren.

Wenn Sie hingegen nicht auf Leistung, sondern auf Ausfallsicherhheit spekulieren, würde ich Sie zunächst fragen, welche absolut wichtigen Dienste sie auf ihrem Gaming-PC haben, der es unbedingt notwendig macht, dass Sie ein RAID verwenden? Wenn Sie jetzt argumentieren, dass Sie nicht wollen, dass Ihnen während eines Clanwars oder Turniers der Gaming-Rechner abschmiert, dann sollten Sie sich vor Ihrer Festplatte lieber um ein redundantes Netzteil und eine redundante Internetleitung kümmern, da es wesentlich wahrscheinlicher ist, dass sie entweder die Verbindung verlieren oder Ihr Netzteil verschmort, als dass Ihre Festplatte den Geist aufgibt, ohne dass sie es rechtzeitig mitbekommen. Und wenn Sie so argumentieren, dass Sie auf ihrem Gaming-Rechner auch wichtige Daten haben, die Sie nicht verlieren wollen, dann erinnere ich Sie daran, dass ein RAID kein Backup-ersatz ist. Denn wie bereits erwähnt kommen Sie bei einem Hardware-RAID nicht mehr an die Daten, wenn Sie keinen baugleichen Ersatz-controller im Haushalt haben. Deswegen müssen Sie oder so Backups machen, egal ob mit oder ohne RAID. Desweiteren würde ein RAID 1 die Leistung ihrer SSD nicht verbessern, sondern nur verschlechtern. Und das ist bei einem Gaming-PC nicht gerade das, wofür man sich eine SSD gekauft hat: um den PC danach wieder langsamer zu machen.

RAID für einen Raspberry PI oder banana PI

Auch für einen Raspberry PI oder Banana PI empfehle ich Ihnen kein RAID. Denn wie bereits besprochen rentiert sich ein RAID nur dann, wenn Sie auch die Daten des Betriebssystems mit in das RAID aufnehmen. Da sich das Betriebssytem des RaspberryPI oder BananaPI jedoch nicht auf einer festplatte, sondern auf einer SD-Karte befindet und die Geräte jeweils nur einen Kartenslot haben, können Sie hier sehr schlecht ein SD-Karten-RAID einrichten. Desweiteren würde ich sie auch hier 1. wieder fragen, welche unglaublich wichtigen Diesnte sie auf dem Raspberry PI am laufen haben, dass dieser wirklich 100%ig ausfallsicher sein muss, und 2. dass Sie sich dann vorher um einen redundanten Stromanschluss kümmern müssten (was für den Pi nicht möglich ist) und um eine redundante  Internetleitung.

RAID für eine NAS

Auch für eine NAS würde ich Ihnen jetzt grundsätzlich die beiden Fragen über die Wichtigkeit der Asufallsicherheit sowie über die redundanten Strom- und Internetanschlüsse stellen. Desweiteren vernichten Sie quasi, wenn sie eine NAS im RAID betreiben, einen der wichtigsten Gründe zur Anschaffung einer NAS: Nämlich zum Backupen von Daten, die sich afu den Desktop-Geräten des haushalts befinden. Wenn Sie Ihre NAS dazu benutzen, um Daten von Ihren Windows- oder MacOS-Desktoprechnern zu backupen, und nachher fliegt Ihnen das NAS-Gehäuse um die Ohren (die Festplatten sind jedoch noch in Takt), dann kommen Sie nachher nicht mehr an die Daten auf den Festplatten heran, weil Sie ja ein baugleiches NAS-Gehäuse benötigen, um das RAID wiederherzustellen. Es ist wesentlich sinnvoller, alle Festplatten des NAS OHNE Raid zu betreiben und die Daten manuell auf die verschiedenen Festplatten zu spiegeln, als dies über ein RAID zu tun. Desweiteren haben die meisten RAID-Controller auf NAS-Gehäusen keinen extra Prozessor, weshalb es sich hier oft um ein Fake-Raid handelt, von welchem cih Ihnen weiter oben bereits schonmal abgeraten habe.

RAID für einen Tower-Server

Wenn Sie von zu Hause aus einen Tower-Server betreiben, beispielsweise einen Dell powerEdge T20, dann wollen Sie auf diesem vielleicht hochperformante Services hosten, etwa Gaming-. und Voice-Server. Demnach wäre hier die Argumentation gegeben, dass Sie auf diesem Server Dienste hosten, welche ein RAID rehctfertigen, da man vielleicht gerne möchte, dass der Gameserver 24/7 erreichbar ist. Grundsätzlich wäre ein Tower-Server also die einzige Heimkonfiguration, für die sich ein RAID wirklcih anbieten würde. Jedoch ist es auch heir wiederum wahrscheinlich, dass Ihr Hauptproblem die beiden Faktoren Netzteil und Internetleitung sein werden, die wahrscheinlich wesentlich öfter udn früher den Geist aufgeben werden als die eine installierte Festplatte auf dem System. Auch hier ist das RAID also nur ein Tropfen auf dem heißen Stein, kann jedoch hier zum ersten mal tatsächlich sinnvoll sein.

Es gibt eigentlich nur einei Variante, die hier Sinn macht: Ein Software-RAID-1, wenn Ihr Server die Leistung bringt, um Ihre Services + das Software-Raid zu meistern. warum kein hardware-RAID? weil wenn Ihnen der RAID-Controller abraucht, Sie die Wahl haben zwischen „zweiten baugleichen RAID-Controller kaufen“ oder „neuen RAID-Controller kaufen + die funktionstüchtige Festplatte formatieren“. DAs lohnt sich für einen Tower-Server, der nur einen popeligen Gameserver hostet, nicht. Finger ebenfalls weg von Fake-Raid über den integrierten Raid-Controller im mainboard des Tower-Servers!

RAID für einen Server im Unternehmen oder einen Root-Server

Der Server für ein Unternehmen, der wichtige Services wie beispeilsweise eine  Unternehmenswebsite, ein Active Directory, einen Mailserver und vieles mehr hostet, oder ein Root Server im Internet, der beispielsweise ein Online-Radio, einen GAmeserver oder ähnlcihes hostet, sind die einzigen Server, die ein Hardware-RAId meiner meinung nach rechtfertigen. Denn die Wichtigkeit dieser service für ein Unternehmen, ein Krankenhaus oder ähnliches sind die einzigen Server, die den finanziellen Aufwand rechtfertigen, um in einen Hardware-RAID-Controller, ein redundantes Netzteil und eine redundante Internetleitung zu investieren. Erst in Verbindung mit all diesen Komponenten lohnt es sich, die Vorteile eines Hardware-RAIDs im Vergleich zu einem Software-RAID  wahr zu nehmen.

Kleine Unternehmen sollten hier oft in ein RAID 1 investieren. Ab mittelstand lohnt es sich in der Regel, über ein RAID 5 nachzudenken.

Hardware-RAID setup

Um ein Hardware-RAID aufzusetzen, rbaucht ihr entweder ein Mainboard mit integriertem RAID-Controller, oder ihr müsst euch einen PCI-RAID-Controller kaufen und diesen in eine PCI-Schnittstelle auf dem Mainboard einstecken. Dann braucht ihr auf dem RAID-Controller noch genügend Anschlüsse für die Anzahl Festplatten, die ihr für euer gewünschtes Raid-Setup benötigt. Wenn der RAID-Controller im Mainboard integriert ist, müsst ihr wissen, dassnicht alle der festplattenanschlüsse im Mainboard für RAID nutzbar sind. ihr müsst vorher schauen, ob genügend Anschlüsse mit dem integrierten RAID-Controller verbunden sind, um die gewünschte Anzahl an Festplatten anbinden zu können. Und natürlich braucht ihr die entsprehcende Anzahl an Festplatten. Die festplatten sollten identisch sein, also das gleiche Modell und die gleiche Kapazität.

Bevor ihr die Festplatten zum ersten aml in Betrieb nehmt, müsst ihr außerdem im Handbuch des RAID-controllers oder Mainboards nachsehen, auf welcher Jumper-einstellung die Festplatten sein müssen, die an das RAID angebunden werden. Die Jumper müssen in der Regel bei allen Festplatten gleich sein.

Wenn ihr jetzt den Rechner startet, wird euch bereits das BIOS/UEFI ein Menü zum Erstellen eines RAIDs anzeigen. Falls nicht, müsst ihr eventuell in den BIOS-einstellungen noch die RAID-Konfiguration aktivieren. Das gewünschte RAID wird bereits auf BIOS/UEFI-Ebene konfiguriert.

Auf Betriebssystemebene müsst ihr nur noch den Treiber für den RAID-Controller installieren. Ist der RAID-controller im mainboard integriert, wäre das der entsprehcende RAID-Treiber für das Mainboard. Unter Linux müsst ihr entsprechend sicherstellen, dass es für euer Linux-System ebenfalls einen Treiber gibt, und nicht nur für Windows. Nachdem Ihr den Treiber installiert und das Betriebssystem neu gestartet hbat, werden euch die ursprünglich zwei oder mehr Festplatten nur noch als eine angezeigt. Wenn Ihr bereits whrend der Installation des Betriebssystems das RAID einrichten wollt, weilt ihr bereits die APrtition, auf welcher das Betriebssystem liegt, in das RAID nehmen wollt (was durchaus Sinn macht), dann müsst ihr vor der Installation das RAID auf BIOS-Seite einrichten und während der Installation den RAID-controllertreiber laden, bevor ihr die Partitionierung konfiguriert.

Software-RAID-Installation

Um ein SoftwareRAId zu konfigurieren, brauchen Sie einfach nur zwei oder mehr identische Festplatten und genügend Anschlüsse für diese auf Ihrem Mainboard.

Desweiteren brauchen Sie ein Linux-System mit einem Kernel, der meiner empfehlung nach mindestens Version 2.6 haben sollte. Eventuell muss der RAID-Support für den Kernel noch geladen werden, das geschieht über den Befehl

modprobe raid456

Desweiteren brauchen Sie das Tool mdadm, welches Sie foglendermaßen installieren können

apt-get install mdadm
#oder
emerge mdadm (Gentoo)
#oder
yum install mdadm (RedHat)
#oder
zypper in mdadm (SuSE)

Spätestens jetzt sollten Sie eine Datei /proc/mdstat haben. Wenn Sie noch kein RAID konfiguriert haben, sollte Ihnen ein

cat /proc/mdstat

sagen, dass derzeit keine RAID devices aktiv sind.

Damit wir nun bestehende Festplatten in ein Software-RAID einfügen könne, müssen diese bereits mit dem jeweils gleichen Datiesystem (bneispeilsweise ext2) formatiert sein. Wie man Festplatten partitioniert und formatiert, habe ich hier gezeigt.

Jetzt richten wir das RAID mit mdadm ein. mit foglendem kommando richten wir beispeislweise ein RAID 5 mit 3 festplatten ein

mdadm -C /dev/md0 -l 5 -n 3 /dev/sdb1 /dev/sdc1 /dev/sdd1

Das kommando

cat /proc/mdstat
#oder
mdadm -D

liefert informationen über das RAID Array.

Wir können unser RAID testen, indem wir einen Ausfall von einer festplatte simulieren über

mdadm /dev/md0 -f /dev/sdb1

Der befehl simuliert einen Ausfall der festplatte /dev/sdb1. Ein erneuter Check über

mdadm -D

liefert, dass /dev/sdb1 als fehlerhaft angezeigt wird.

Wäre die Festplatte nun wirklich ausgefallen, wrüden wir Sie aus dem RAID Array entfernen, dann eine neue Festplatte einlegen und anschileßend die neue festplatte in das RAID Array einfügen. Dieser Ablauf wre folgendermaßen:

#entfernen der fehlerhaften Platte
mdadm /dev/md0 -r /dev/sdb1
# jetzt einstecken der neuen platte und formatieren der paltte über parted
#hinzufügen der neuen, formatierten Platte zum RAID über
mdadm /dev/md0 -a /dev/sdb1

Ein ganzes RAID Array ließe sich entfernen über

mdadm -S /dev/md0

 

LVM

Ein RAID funktioniert am besten immer in Kombination mit dem Logical Volume Manager, den ich hier bereits schon einmal vorgestellt habe. Wenn ihr euch den Post zum LVM durchgelesen habt, wisst ihr, dass ihr die Boot-Partition /boot nicht als Logical Volume realisieren könnt. Deswegen müsst ihr euer Raid in zwei Teile splitten: Ein kleines raid-Array für die Boot-partitionn und ein großes Raid-Array für den Rest, der in einer Logical Volume Group verwaltet wird.

 

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

DaFRK

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.