Nachdem ich mich wegen der zusätzlichen Komplexität zuerst gegen ein RAID System entschieden habe, ist in mir der Entschluss gereift, es nun doch zu wagen. Den Umstieg von OpenMediaVault auf RAID möchte ich hier ausführlich dokumentieren. Doch langsam, zuerst einmal die Vor- und Nachteile eines RAID-Systems.
Ein RAID (Redundant Array of Independent Disks) ist ein Verbund mehrerer Festplatten. Es gibt unterschiedliche RAID-Levels, sie hier alle zu erläutern würde den Rahmen des Artikels sprengen. Ich empfehle die Beschreibung bei Wikipedia. Abgesehen von RAID-0 hat man bei RAID immer eine Redundanz, d.h. es kann eine (oder auch mehrere) Platte ausfallen, ohne dass Daten verloren gehen. Ich habe mich hier für ein RAID-5 entschieden.
Ich finde die Vorteile überwiegen hier ganz klar, gerade wenn der Server zuverlässig sein soll. Die Datenrettung ist hier auch nicht so problematisch wie bei einem Hardware- oder BIOS-RAID, weil nur die Software eine Rolle spielt.
Als Platten habe ich zwei WD Caviar Green 1TB
und eine WD Caviar Red 2TB
im Einsatz. Die Green-Platten sind für den Einsatz im NAS eigentlich nicht so gut geeignet, aber sie tun ihren Dienst. Die Unterschiede liegen neben der aus Dauerbetrieb ausgelegten Hardware vorwiegend in der Software, die dann z.B. bei den Red-Platten schneller meldet, dass ein Block nicht gefunden wurde. Das OS holt sich diesen Block dann von einer anderen Platte. Im Heimbetrieb hat man ja i.d.R. auch keinen 24/7 Dauerbetrieb der Platten, weil sie sich nach 30min Inaktivität schlafen legen.
Im professionellen Umfeld werden spezielle PCIe-Steckkarten eingesetzt. Diese sind beim Aufbauen und Wiederherstellen des RAID deutlich schneller, kosten aber mehrere 100 €. Die Hersteller halten diese TEile lange vorrätig, denn bei einem Fehler könnte käme man sonst nicht mehr an seine Daten.
Viele BIOS-Setups erlauben die Einrichtung eines RAID, das dann vom Betriebssystem unabhängig ist. So kann das gesamte OS auf ein RAID installiert werden. Von dieser MEthode ist aber abzuraten, denn im Fehlerfall darf man das exakt gleiche Motherboard finden. Dies ist schon nach 2 Jahren kaum noch möglich. Von der Geschwindigkeit her ähnlich dem OS-RAID.
Diese Variantesetzt ein RAID-fähiges Betriebssystem vorraus. Es ist eine reine Software-Lösung. performancemäßig sicher nicht die schnellste Variante, aber besser als das BIOS-RAID. Diese Methode setze ich ein.
Für die RAID-Einrichtung müssen die Platten komplett gelöscht werden. Deshalb ist ein Backup vonnöten. Ich nutze meinen Server für vielerlei Daten. Auf den zwei bestehenden 1 TB Platten sind jeweils um die 450 GB belegt. Sie sollen auf eine externe 1,7 TB USB3 Platte. Doch diese ist unversehens voll, obwohl der Platz doch gut reichen sollte. Was ist passiert?
Für das Backup meiner Linux-Rechner nutzte ich Backintime. Dieses sehr nützliche Tool erzeugt Hard-Links um Speicherplatz zu sparen. Für das Backup auf die externe Platte habe ich rsync benutzt. Dieses setzt hard-Links standardmäßig überhaupt nicht um sondern kopiert die gleiche Datei zigmal. Dies lässt dich durch die Option -H verhindern. Die Berechnung ist allerdings aufwändig.
Ein weiterer Punkt warenFestplattenabbilder von VirtualBox. Diese nutzen Sparse-Images, d.h. der Platz wird nur soweit belegt wie notwendig. Auch damit kann rsync standardmäßig nicht umgehen und erzeugte so zigfach 20 GB große Dateien. Die Option –sparse schafft Abhilfe.
Letztlich lautet der Aufruf
rsync -avpH --sparse <Quelle> <Ziel>
Die Optionen -H und –sparse muss man in den zusätzlichen Optionen des USB-Datensicherungs-Plugins von OpenMediaVault manuell eingeben. Dieses Plugin hat den Vorteil, dass das Kopieren von selbst läuft und nicht der PC wegen SSH mitlaufen muss. Denn das Kopieren von 1 TB dauert einen 3-4h. Deshalb sollte man auf garkeinen Fall USB2-Platten benutzen! Diese übertragen nur magere 25 MB/s.
Sind die Daten gesichert, muss man in OpenMediaVault sämtliche Freigaben löschen und bei den Diensten entfernen. Ansonsten kann man die Platte nicht löschen. Das ist leider sehr umständlich gelöst. Ich brauchte eine halbe Stunde bis ich die letzte Stelle gefunden hatte, wo noch eine Freigabe eingetragen war.
Hat man das geschafft, kann man unter Datenspeicher > Raid-Verwaltung das RAID erzeugen. Die Festplatten werden dann Bit für Bit überschrieben, was wieder sehr lange dauert. Kleiner Platten gehen schneller als große.
Ist dieser Vorgang abgeschlossen, formatiert man den RAID-Verbund noch mit EXT4 und kann seine Daten dann zurückspielen und die Freigaben ggfs. wieder einschalten.
Es lohnt sich übrigens, sich ein Schema zu überlegen wo welche Daten abgelegt werden. Dienste, die über das Internet erreichbar sind oder wie mysql häufig gebraucht werden, liegen bei mir auf der Systemplatte, damit nicht immer die großen Festplatten anspringen. Auf dem RAID liegen Backups, Home-Verzeichnisse, Medien-Dateien usw.
Vor dem RAID-Umstieg erreichte ich bei Rsync-Backups (backintime) maximal 95 MB/s. Mit RAID sind Werte von 113 MB/s normal, ich habe auch schon Spitzen von 118 MB/s gesehen. Das liegt sehr nahe am theoretischen Maximum von Gigabit Ethernet (125 MB/s). Die CPU Last auf dem Server (Dual Core Xeon, 2,3 GHz, 4 GB RAM) pendelt sich dann bei 40 und 50% ein. Das liegt an der Paritätsberechnung. Beim internen Kopieren von einer USB3-Platte lag die CPU Last sogar bei 70%. Diese Daten zeigen, dass mit meinem alten Prozessor, dem Celeron kein RAID5 zu machen gewesen wäre. Er lag ja schon im Leerlauf bei 20% Last.
Der Stromverbrauch bei Leerlauf stieg wegen der dritten Platte von 36 auf 40 W. Beim internen Kopiervorgang schluckte das System 72 W. Im Betrieb bei Netzwerkzugriffen sind es 43 W.