OpenMediaVault: Umstieg auf RAID

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 langsa...

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.

Vorüberlegungen

Vorteile RAID

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.

  • Man hat einen großen, virtuellen Datenträger und muss sich nicht um die Festplatteneinteilung kümmern. Platten können nicht zu klein werden, denn man kann das RAID später einfach erweitern.
  • Bei Ausfällen bekommt man eine Warnung und kann die defekte Platte einfach austauschen. Die Redundanz wird dann von alleine wiederhergestellt. Das ist gerade auch deshalb interessant, weil Platten in einem NAS durch den 24/7 Betrieb stark belastet werden.
  • BEI RAID-5 hat man bei 3 x 1TB Platten eine Kapazität von 2 TB. 1 TB ist Parität. Dieses Verhältnis ist besser als z.B. bei RAID -1. Hier fiele die Hälfte der Kapazität weg.
  • Die Performance ist besser als bei RAID-1, allerdings die CPU-Last höher, wegen der Paritätsberechnung.

Nachteile RAID

  • Höherer Stromverbrauch, da immer drei Festplatten rotieren. Ohne RAID könnten vielleicht zwei davon schlafen.
  • Man braucht für RAID 5 mindestens drei Platten. Die Kapazität des RAID-5 richtet sich dann nach der Kleinsten.
  • Eine zusätzliche Abstraktionsebene, dies spielt vorallem bei der Datenrettung eine Rolle.
  • Hohe Kosten für RAID-Hardware, ich setze aber auf ein OS-RAID, das kostet nichts und ist nur wenig langsamer.

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.

Festplatten

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.

RAID-Methoden

RAID-Adapter / Hardware-RAID

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.

BIOS-RAID

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.

Betriebssystem-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.

Backup

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.

RAID einrichten

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.

Ergebnisse

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.

 

 

TimeMachine mit OpenMediaVault – iOS Status 2 Fehler

Nach stundenlangen Versuchen habe ich es endlich geschafft, mein TimeMachine-Backup auf den HP Microserver mit OpenMediaVault zum Laufen zu bringen. Bei den ersten Versuchen erschien auf dem Mac beim Versuch, das Volume für Timemachine auszuwählen im...

Nach stundenlangen Versuchen habe ich es endlich geschafft, mein TimeMachine-Backup auf den HP Microserver mit OpenMediaVault zum Laufen zu bringen. Bei den ersten Versuchen erschien auf dem Mac beim Versuch, das Volume für Timemachine auszuwählen immer folgende Fehlermeldung:

Der Vorgang konnte nicht abgeschlossen werden. (OSStatus-Fehler 2.)

Dies liegt nicht etwa an einem falschen Passwort oder Benutzernamen. Denn wenn man das Passwort falsch schreibt „wackelt“ der Dialog. Bei Google findet man haufenweise Threads dazu, auch in Foren von WD, Qnap und Synology.

Workaround

Gelöst habe ich das Problem erstmal, indem ich einen eigenständigen Benutzer timemachine angelegt habe. Im Homeverzeichnis dieses Benutzers klappte das Backup plötzlich 1A.

TimeMachine Einstellungen

Vorher hatte ich es mit diversen Verrenkungen auf der Backup-Festplatte im Ordner Backup versucht, dort liegen auch meine Linux-Backups.

Die endgültige Lösung

Ich kann nun definitiv bestätigen, dass es an den Rechten liegt. Um as zu prüfen, fügt man den Timemachine-Benutzer zur Gruppe ssh hinzu und loggt sich dann mit diesem Benutzer per SSH ein.  Bei mir waren Verzeichnisse und Symlinks schuld, die ich per SSH als root angelegt hatte. Diese haben dann den Besitzer root und keinerlei Rechte für andere Benutzer.

$ sudo chown -R <benutzername> <Ordnername>

Löste bei mir das Problem. Es ändert den Besitzer rekursiv auf den richtigen User. Den Workaround mit dem Benutzer timemachine braucht man dann nicht mehr.

Und weiter

Wie man anschließend das vorhandene Backup vom alten zum neuen Speicherplatz kopiert wird hier detailliert beschrieben.

Man sollte unbedingt eine Quota (Begrenzung des Speichers für eine Freigabe) setzen, sonst schreibt Timemachine nämlich von sich aus das komplette NAS voll. Dies darf man aber erst machen, nachdem man ein normales Backup auf’s NAS gesichert hat.

Erfahrungsbericht Heimserver (NAS)

Nach reiflicher Überlegung habe ich mir letzte Woche einen Heimserver von HP bestellt. In diesem Artikel möchte ich die nicht ganz triviale Auswahl des Server-Betriebssystems beschreiben. Zur Wahl standen FreeNAS, NAS4Free, OpenMediaVault und Amahi....

Nach reiflicher Überlegung habe ich mir letzte Woche einen Heimserver von HP bestellt. In diesem Artikel möchte ich die nicht ganz triviale Auswahl des Server-Betriebssystems beschreiben. Zur Wahl standen FreeNAS, NAS4Free, OpenMediaVault und Amahi. Außerdem möchte ich einige Probleme beschreiben, die es bei der Einrichtung zu umschiffen gilt.

Die Hardware

Die Entscheidung viel auf den HP ProLiant MicroServer Gen8
mit Celeron DualCore 2.3 Ghz Prozessor und 2 GB RAM. Die Entscheidung fiel mir leicht, denn mit 220 € war der Server ein Schnäppchen, sogar billiger als viele fertige NAS-Boxen und dafür mit vier Festplattenslots, deutlich mehr RAM und einem flotten Prozessor. Die meisten NAS-Boxen in dem Preissegment haben nur 512 MB RAM und einen Atom Prozessor. Bestückt wird mein MicroServer erst einmal mit zwei WD Caviar Green 1 TB.

Update: Inzwischen habe ich den MicroServer aufgerüstet mit einem Xeon Prozessor, 4 GB RAM und RAID-5. Dadurch hat der Server erheblich mehr Power, unter anderem für Owncloud und Piwik.

 

Der einzige Kritikpunkt an diesem Server ist die Festplatten-montage. Nur damit die Festplatten vorne einen Griff bekommen, muss man jede Platte in ein wackeliges Blechgestell schrauben (Torx, liegt bei). Mit diesem Rahmen passen die Platten dann nicht mehr in den Wechselschacht am PC, was gerade das Erstbackup verlangsamt. Hot-Swap wäre bei diesem Rahmen sowieso nutzlos, denn pro Platte braucht man mindestens 15min für die Schrauben. Der Server unterstützt aber eh kein Hot-Swap.

Betriebssystem: BSD-basiert

FreeNAS deklassifizierte sich leider sofort, da es aufgrund des ZFS-Dateisystems mindestens 8 GB RAM braucht. Dieses OS ist also eher auf den professionellen Bereich ausgerichtet. In einem Heimserver ist so viel Speicher reine Verschwendung, da maximal eine Handvoll Leute gleichzeitig darauf zugreifen.

Das wie FreeNAS auf BSD basierende NAS4free machte einen sehr guten Eindruck, es lässt sich in der embedded Variante auch auf einen USB Stick (oder eine µSD) installieren, ohne diesen dann durch intensive Schreibzugriffe (Logfiles, Swap, Temporäre Dateien) innerhalb kurzer Zeit zu schrotten. Das Betriebssystem wird beim Start in den RAM entpackt. Updates und auch Erweiterungen sind dadurch relativ umständlich, man muss die Firmware auf dem USB Stick austauschen. Eigentlich ist das eine prima Idee, denn USB-Sticks sind sehr energiesparend und bieten auch mit USB 2 eine recht hohe Zugriffsgeschwindigkeit. Die Zeit für das Entpacken in die RAMdisk ist vernachlässigbar, denn einen Server bootet man in der Regel nicht ständig. Der Speicherbedarf ist dadurch ein  wenig höher als bei anderen Systemen.

NAS4free unterstützt auch das ZFS Dateisystem, lässt sich aber auch mit UFS betreiben. Moderne Linux-Dateisysteme wie EXT3 und 4 werden übrigens nicht unterstützt, auch wird vor dem Einbinden von NTFS gewarnt. Ob da was dran ist kann ich schwer beurteilen.

Leider ist BSD so garnicht mein Fall. Mir gelang es nicht mal mit einer Anleitung eine frisch formatierte Platte zu mounten. Das liegt neben meiner Stupidizität auch an der nicht vorhandenen Benutzerführung. Man muss wirklich alles selber machen, auch die Auswahl des Dateisystems und Bootsektor-Typs beim Mounten. Fehlermeldungen erhält man oft nur wenn man per SSH arbeitet. Dann muss man aber die BSD-Syntax beherrschen.

Betriebssystem: Linux-basiert

Als nächstes probierte ich dann OpenMediaVault. Dieses System basiert auf Debian, Weshalb ich mich als Ubuntu-Anwender sofort zu Hause fühlte. Viele Sachen gehen per SSH auf dem Terminal doch viel flotter. Updates spielt man einfach per

$ apt-get update
$ apt-get upgrade

ein – sehr angenehm! Es lassen sich auch viele Pakete installieren, die man von Ubuntu kennt, z.B. lm-sensors (Temperatursensoren auslesen) und discus (Festplattenbelegung). Zahlreiche Erweiterungen lassen das Nerd-Herz höher schlagen. Weitere Plugins gibt es durch die Installation von OMV Extras.

Mein Kritikpunkt bei OpenMediaVault ist, dass man keine benutzerdefinierte Partitionierung machen kann. Das System belegt immer die gesamte Platte. Wenn man eine Partitionierung machen möchte, kann man zuerst Debian installieren und anschließend die OMV-Pakete. Debian bietet dann eine normale Partionierung an. Ich habe es jetzt übergangsweise auf einem USB-Stick installiert, später wird dann eine stromsparende 2,5″ Festplatte im 3,5″-Rahmen eingebaut, weil ich auf lange Sicht Angst um meinen Stick habe.

Update März 2015
Der USB Stick hat nach vier Wochen Dauerbetrieb das Zeitliche gesegnet. Die Installation eines normalen Betriebsystemsauf einem USB Stick für den Dauerb etrieb in einem Server ist daher nicht empfehlenswertEs gibt inzwischen ein experimentelles Plugin bei OMV-Extras, welches die Migration auf einen Flash-Speicher erlaubt und dann weniger Schreibzugriffe erzeugt. Das ist aber nicht so praktikabel wie eine Out-of-the-Box Lösung.

Probiert habe ich auch noch Amahi, das als Einsteiger-tauglich angepriesen wird. Es basiert auf Fedora. Leider passt es mir überhaupt nicht, dass man einen (kostenlosen) Installationsschlüssel braucht. Dieser wird dann angeblich für einen DynDNS Dienst und Fernkonfiguration benutzt. Dadurch ist man aber auch perfekt für NSA und Co. verfolgbar. Abwählen kann man diesen Schritt am Ende der Installation nicht.

Fazit

Das getestete BSD basierte System ist für mich zu fummelig. Ich habe zwar als Informatiker das Know-How, mich in BSD einzuarbeiten, aber ich möchte nicht noch mehr meiner knappen Freizeit vor dem PC hocken. Zumal die Linux basierten Systeme für mich deutlich einfacher zu handhaben sind. Zwar gelingt auch in OpenMediaVault nicht alles auf Anhieb, man muss oft herumprobieren, aber im Großen und Ganzen ist OMV ein sehr gutes OS für Leute, die sich bereits etwas mit Linux auskennen.