Tipps für mein Storage-Setup

LukeLR101

Cadet 4th Year
Registriert
Okt. 2015
Beiträge
72
Hallo liebe Community,
Ich betreibe ein Linux-NAS als Storagelösung. Im Wesentlichen besteht das System aus zwei 5TB und zwei 8TB RAID-1 Volumes. Dazu kommen noch eine 1TB-SSD und eine 3TB-HDD mit unsortierten Daten, die auch nicht ganz so wichtig sind, bisher ohne Redundanz. Alle Volumes sind mit LUKS-dmcrypt verschlüsselt und ext4-Formatiert, für das RAID kommt mdadm zum Einsatz. Bei den Festplatten handelt es sich um Konsumentenhardware.

Damit bin ich bisher auch ganz zufrieden, nur würde ich gerne noch eine zusätzliche Backup-Lösung implementieren. Primär mit dem Ziel, um auch vor versehentlichem Löschen (oder absichtlichem Löschen, falls jemand durch eine Sicherheitslücke Zugriff auf meine Kiste bekommt) geschützt zu sein. Aber auch für eine weitere Ebene an Redundanz, falls bei einem Plattenausfall in einem der RAID-1 Volumes die zweite Platte während des Rebuilds auch noch den Geist aufgeben sollte.

Dafür habe ich vier 8TB-Festplatten vorgesehen, die ich bisher noch nicht in Betrieb genommen habe. Mein bisheriger Plan war, daraus mit mdadm ein RAID-5 zu bauen, dass dann an einem anderen Rechner betrieben wird, und sich in regelmäßigen Abständen per rsync die Daten vom NAS holt. Selbst wenn also ein Angreifer Zugriff auf mein NAS bekommen und alle Daten löschen sollte, wären die Daten auf einem komplett anderen System, auf das er keinen Zugriff hat, gesichert.

Andererseits vertraue ich dem RAID-5 nicht so ganz. Falls da eine Platte ausfällt, werden für den Rebuild die drei anderen Platten natürlich enorm belastet, was einen Domino-Effekt nochmal wahrscheinlicher macht als bei RAID-1. Klar, es wäre nur das Backup, das ausfallen würde. Aber was ist, wenn in einem der RAID-1-Volumes eine der Platten ausfällt, dann beim Rebuild die zweite, und dann beim Wiederherstellen aus dem Backup auch noch eine Platte? Dann wäre ein zweiter Plattenausfall im Backup-RAID-5 sehr ungünstig. Und ich habe auch davon gehört, dass unbemerkte Bit-Flips bei RAID-5 durchaus möglich sind, und die Integrität der Daten gefährden.

Deshalb habe ich darüber nachgedacht, ob es sinnvoller wäre, zu den bisherigen RAID-1 Volumes jeweils eine dritte Platte hinzuzufügen, um doppelte Ausfallsicherheit zu haben. Und vielleicht durch ZFS oder LVM mit Snapshots direkt auf dem jeweiligen Volume versehentlichem Löschen vorzubeugen. Allerdings ist dann die Ausnutzung des Speicherplatzes mit nur 1/3 sehr gering, was natürlich die Kosten bei zukünftigen Erweiterungen in die Höhe treibt. Und ein Angreifer könnte die Snapshots natürlich zusammen mit den Daten löschen, da wäre mir also auch nicht geholfen.

Oder ich setze alle Festplatten zu einem großen RAID-10 zusammen, egal ob mit mdadm oder mit ZFS. Dann hätte ich zwar sehr große Speichereffizienz, aber wieder nur einfache Ausfallsicherheit in jedem Pärchen.

Was würdet ihr empfehlen? Braucht man wirklich doppelte Ausfallsicherheit? Also wie wahrscheinlich ist es, dass beim Rebuild eines RAID-1 die andere Platte auch ausfällt? Und ist ZFS schon stabil genug, dass man es für reale Daten verwenden kann? Ich habe z.B. irgendwo gelesen, dass man das ZFS RAID-5-Äquivalent zumindest nicht für Metadaten verwendet werden sollte. Ich würde mich einfach freuen, eure Meinung zu hören!

Vielen Dank schonmal für's Duchlesen und viele Grüße!
LukeLR101
 
Zuletzt bearbeitet:
Ich denke die Frage kannst du dir ganz gut selbst beantworten. :)

Der Gedankengang mit der Rebuild-Belastung ist absolut korrekt. Auf der einen Seite wäre ein weiteres Backup sicherlich hilfreich um das 3-2-1-Prinzip zu erfüllen, auf der anderen ist das bei der Datenmenge nicht so ohne weiteres Umsetzbar.

Da es hier nicht um Performance geht, würde ich noch ein Raid-6 in den Ring werfen.
 
LukeLR101 schrieb:
Und ist ZFS schon stabil genug, dass man es für reale Daten verwenden kann?

Zfs ist sehr stabil. Mein Backup NAS läuft mit Freenas seit Jahren ohne Probleme. Würde ich persönlich jedenfalls mehr trauen als btrfs.

LukeLR101 schrieb:
Dann wäre ein zweiter Plattenausfall im Backup-RAID-5 sehr ungünstig. Und ich habe auch davon gehört, dass unbemerkte Bit-Flips bei RAID-5 durchaus möglich sind, und die Integrität der Daten gefährden.

Zfs ist dagegen abgesichert und mdraids sollten eigendlich regelmäßig per checkarray geprüft werden. Das ist jedenfalls unter Debian automatisch so eingerichtet.

Ansonsten ist es schon so das ein Rebuild eine Belastung der Platten ist. Aber das ein Raid 1 gleichzeitig ausfällt und das Backup auf einem Raid 5 auch noch zwei Platten verliert ist schon sehr unwahrscheinlich.
 
Ich würde mir Gedanken machen, welche Daten wirklich wichtig sind und nur diese tatsächlich sichern. Bei mir ist die Sicherung etwas anders aufgebaut.
NAS 1 24x7 online, Ablage, dorrt sind Sicherungsordner angelegt, wo Daten abgelegt werden, die gesichert werden müssen
NAS 2 sichert täglich die Ordner die wichtig sind, zusätzlich 1x die Woche komplett Backup

und jetzt kommt der wichtigste Teil:
NAS 1 hat eine VPN Verbindung zu einem Freund (Nachts) dort werden verschlüsselt die Daten aus den Ordern gesichert. Alle 14 Tage werden die Daten (Fullbackup, wenn möglich [Platzmangel]) auf ein externes Laufwerk gespeichert und bei Freunden gelagert.

Wichtig ist, bei einem Backup, dass die Daten nicht nur im eigenen Haushalt sind, sondern auch an einem anderen ort.

Greets

Nexarius
 
Ein checkarray mit mdadm findet nur Fehler, kann diese dann aber nicht korrigieren, ZFS hingegen schon.
@LukeLR101 Die "Instabilität" bei Raid5-ähnlichen Setups bezieht sich auf BTRFS, nicht auf ZFS.
Die Rebuildbelastung bei einem Raid1 ist btw deutlich geringer, da nur einmal linear gelesen werden muss, daher ist der Rebuild auch schneller ggü. einem Raid5 oder Raid6.

Snapshots per ZFS/LVM/BTRFS werden idR als root konfiguriert. Wenn ein Angreifer es bis dahin geschafft hat sind vorher eine Menge Dinge schief gelaufen bzw. es wurde geschlampt (überall identische oder einfach zu erratende Kennwörter, etc).
 
snaxilian schrieb:
Ein checkarray mit mdadm findet nur Fehler, kann diese dann aber nicht korrigieren

Aber man ist in der Lage darauf zu reagieren bzw. wenn checkarray ohne Fehler durchläuft ist man zuminderstens sicher das alles in Ordnung ist. zfs ist aber da durchaus besser aber hat halt anders Nachteile. Man kann es nicht so easy erweitern wie ein mdraid und hat höhere Anforderungen an die Hardware (ECC Speicher usw.).
 
  • Gefällt mir
Reaktionen: snaxilian
Klar, bei einem gesunden Array wird der defekte Block aus den Paritäten neu berechnet, der gefundene Block als defekt markiert und ein Reserveblock der jeweiligen HDD verwendet, so die Theorie, hatte den Fall bisher nicht als ich noch mdadm verwendete. Ist das aus irgendeinem Grund aber nicht möglich, z.B. weil das Raid parallel degraded ist, dann ist das was auf dem Raid liegt hinüber. Luks/Dateisystem/LVM erfährt dann nur, dass das zugrunde liegende Blockdevice ist hinüber und man muss eben alles aus dem Backup wieder herstellen. Bei ZFS verliert man nur die betroffene Datei weil Raid + Dateisysteminfos an einer Stelle zusammen liegen.
Jup, der große Nachteil von ZFS ist die schlechte Erweiterbarkeit z.B. um einzelne Platten. Also technisch möglich schon aber sollte man unter keinen Umständen jemals machen^^
ECC Speicher ist ebenso theoretisch nicht notwendig aber eindeutig empfehlenswert.
 
snaxilian schrieb:
Also technisch möglich schon aber sollte man unter keinen Umständen jemals machen^^

Stimmt, Pool auflösen, neu mit mehr Platten anlegen und Backup zurück spielen. Einfach und schnell ist anders.
Wobei ich ein mdraid ohne Backup auch nicht erweitern würde...
 
Du kannst auch einem bestehenden Pool eine einzelne HDD als single vDev hinzufügen. Aber davon ist halt definitiv abzuraten. Aber ich denke wir sind uns einig, dass ZFS nicht für jeden flexibel genug ist und man sich vorher ein wenig mehr Gedanken machen sollte.
 
Ist jetzt zwar schon eine Weile her, aber ich wollte mich dennoch für die vielen Rückmeldungen hier bedanken! Es tut mir Leid, dass ich nicht früher reagiert habe, irgendwie hat das Studium mich doch wieder sehr in Anspruch genommen, und ich hatte seither auch keine Zeit, mich nochmal mit dem Thema auseinanderzusetzen. Ich hoffe sehr, dass ich es über die Weihnachtsfeiertage schaffe, ist ja auch kein unwichtiges Thema ;) Danke für die zahlreichen Antworten, das hat mir schon sehr geholfen, und ich werde dann nochmal in Ruhe den Gedanken im Kopf wälzen!
 
Zurück
Oben