Was ist RAID0? Tempo, Risiken und Einrichtung

Autor: Veröffentlicht

Kurz erklärt: RAID0 fasst mindestens zwei Laufwerke zu einem Speicherbereich zusammen und verteilt die Daten auf sie. Das kann Lese- und Schreibvorgänge beschleunigen. Schutz vor Ausfällen bietet es jedoch nicht: Fällt ein Laufwerk aus, ist meist das gesamte Array nicht mehr zugänglich. Unter Linux lässt sich RAID0 mit mdadm als Software-Array erstellen. Am besten eignet sich ein solcher Verbund aber für Daten, die sich wiederherstellen lassen oder durch ein separates Backup geschützt sind.

Wie RAID0 Daten auf die Laufwerke verteilt

RAID ist ein Verfahren, das mehrere Laufwerke zu einem logischen Verbund, einem sogenannten Array, zusammenfasst. RAID0 nutzt Striping: Daten werden in Blöcke aufgeteilt und abwechselnd auf verschiedene Laufwerke geschrieben. Dabei entstehen weder zusätzliche Kopien noch Informationen, mit denen sich fehlende Blöcke rekonstruieren lassen.

Eine Datei kann beispielsweise so aufgeteilt werden, dass der erste Block auf Laufwerk A landet, der zweite auf Laufwerk B und der dritte wieder auf A. Beim Lesen können beide Geräte parallel arbeiten. Das System sieht dabei einen einzigen Speicherbereich, auf dem sich ein Dateisystem anlegen und Verzeichnisse speichern lassen.

Zwei Laufwerke mit jeweils 1 TB ergeben nominal etwa 2 TB Speicherplatz, bevor der Verwaltungsbedarf berücksichtigt wird. Wegen der Umrechnung der Einheiten kann das System einen anderen Wert anzeigen. Bei unterschiedlichen Kapazitäten hängt die nutzbare Speichermenge von der RAID0-Implementierung ab. Am einfachsten ist es deshalb, Laufwerke mit ähnlicher Kapazität und Leistung zu verwenden.

Welche Geschwindigkeit zu erwarten ist

Bei großen, zusammenhängenden Lese- und Schreibvorgängen können zwei ähnliche Laufwerke eine Leistung erreichen, die annähernd der Summe ihrer Einzelleistungen entspricht. Das bedeutet jedoch nicht, dass der Computer doppelt so schnell arbeitet. Beim Starten von Programmen, beim Umgang mit kleinen Dateien und bei Vorgängen, die kurze Antwortzeiten erfordern, kann der Gewinn deutlich geringer ausfallen.

Auch der Controller, die Schnittstellen, die gemeinsame Anbindung der Geräte an den übrigen Computer, der Prozessor und die Arbeitsweise der Anwendung begrenzen das Ergebnis. Zwei schnelle SSD lassen sich nicht voll ausnutzen, wenn ihre gemeinsame Datenübertragungsrate die Bandbreite der gemeinsamen Anbindung übersteigt. Das Array beseitigt auch nicht die Latenz einzelner Laufwerke.

Bevor du dich für RAID0 entscheidest, miss die Dauer einer tatsächlichen Aufgabe: etwa das Kopieren umfangreicher Dateien, den Export eines Films oder die Verarbeitung eines Datensatzes. Vergleiche die benötigte Zeit mit der Ausführung auf einem einzelnen Laufwerk. Wenn du die Laufwerke und nicht hauptsächlich den RAM beurteilen möchtest, sollte die Datenmenge im Test größer als der verfügbare Cache sein.

Wann RAID0 sinnvoll ist und was ein Ausfall bedeutet

RAID0 kann als Arbeitsbereich für temporäre Dateien, lokale Berechnungsdaten oder Material dienen, dessen Originale auf einem anderen Datenträger liegen. Ein Beispiel: Ein Videoeditor bewahrt die Originalaufnahmen und das Projekt an einem separaten, abgesicherten Ort auf und nutzt das Array für Zwischendateien. Ein Ausfall kostet dann die Zeit, die zum erneuten Erzeugen der Daten nötig ist, statt die einzige Kopie der Arbeit zu vernichten.

Für das einzige Fotoarchiv, für Unternehmensdokumente oder für die Daten eines Dienstes, der verfügbar bleiben muss, ist RAID0 keine gute Wahl. Jedes Laufwerk ist ein unverzichtbarer Teil des Arrays. Mit jedem weiteren Datenträger steigt die Zahl der Geräte, deren Ausfall den Betrieb des Arrays unterbrechen kann.

Nach dem Ausfall eines Laufwerks kannst du es nicht einfach ersetzen und die Daten aus den übrigen Laufwerken rekonstruieren, wie es bei einem Array mit Redundanz, also zusätzlich gespeicherten Informationen, möglich ist. Die verbliebenen Datenträger enthalten nur einen Teil der Datenblöcke. Eine professionelle Datenrettung ist manchmal möglich, hängt aber vom Schaden ab und bietet keine Garantie.

Wenn der Verbund den Ausfall eines Laufwerks überstehen soll, ziehe RAID1 in Betracht. Es speichert gespiegelte Kopien der Daten. Ein separates Backup brauchst du trotzdem: Keines dieser Arrays schützt allein vor versehentlichem Löschen oder der Verschlüsselung von Dateien durch Schadsoftware.

RAID0 unter Linux mit mdadm erstellen

mdadm ist ein Werkzeug zur Verwaltung von Software-Arrays unter Linux. Das folgende Beispiel setzt zwei leere, zusätzliche Laufwerke voraus: /dev/sdb und /dev/sdc. Die Befehle zerstören Daten auf den angegebenen Geräten. Führe sie nicht aus, ohne die Laufwerksnamen zu prüfen und benötigte Dateien zu sichern.

Prüfe zunächst die Geräte:

lsblk -o NAME,SIZE,MODEL,SERIAL,FSTYPE,MOUNTPOINTS

Vergleiche Kapazitäten, Modelle und Seriennummern. Vergewissere dich, dass die gewählten Laufwerke weder das Betriebssystem noch aktive Partitionen oder benötigte Daten enthalten. Installiere das Paket mdadm mit dem Paketmanager deiner Distribution; unter Debian und Ubuntu beispielsweise so:

sudo apt install mdadm

Erstelle das Array, das Dateisystem und den Einhängepunkt:

sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb /dev/sdc
cat /proc/mdstat
sudo mkfs.ext4 /dev/md0
sudo mkdir -p /mnt/raid0
sudo mount /dev/md0 /mnt/raid0

Diese Befehle setzen außerdem voraus, dass /dev/md0 nicht bereits von einem anderen Array verwendet wird. Wenn das Werkzeug vor vorhandenen Daten oder Signaturen warnt, halte an und kläre deren Herkunft, statt den Vorgang ungeprüft zu bestätigen.

Was nach dem Erstellen des Arrays zu konfigurieren ist

Ein einmaliges Einhängen reicht nicht aus, damit das Array nach einem Neustart korrekt funktioniert. Prüfe die Konfiguration zur Erkennung des Arrays in mdadm. Der Speicherort der Konfigurationsdatei und eine eventuell nötige Aktualisierung von initramfs hängen von der Distribution ab. Gleiche die Anweisungen mit deren offizieller Dokumentation ab.

Verwende für das dauerhafte Einhängen in /etc/fstab die UUID des Dateisystems, die du mit sudo blkid /dev/md0 auslesen kannst, statt von einem unveränderlichen Gerätenamen auszugehen. Teste den Eintrag vor dem Neustart und richte die Verzeichnisberechtigungen nach den Anforderungen des Benutzers oder der Anwendung ein.

Bevor du deine Arbeit auf das Array verlagerst, kläre eine Frage: Aus welcher Quelle stellst du die Daten wieder her, wenn das Array verloren geht? Lautet die Antwort „aus keiner“, erstelle zunächst ein Backup oder wähle einen anderen Laufwerksverbund.

Siehe auch: Was ist ein VPN?

Lesen Sie auch

Wie PHP-FPM PHP-Anfragen verarbeitet, sich vom Webserver unterscheidet und wie du Prozesse an Last und Hosting-Ressourcen anpasst.
BIND ist offene DNS-Serversoftware. Erfahre, welche Aufgaben sie übernimmt und wann sich der Betrieb eines eigenen Servers lohnt.
Was Polens REGON-Register und seine Kennnummer bedeuten, wie sie sich von NIP und KRS unterscheiden und wie Sie Unternehmensdaten prüfen.