[Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Probleme mit Samba, NFS, FTP und Co.
Benutzeravatar
Lord_Carlos
Beiträge: 4253
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

[Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von Lord_Carlos » 07.12.2017 19:36:41

Moin moin

ThorstenS hat mich gefragt ob ich nicht mein SnapRaid server vorstelle, da es nicht so bekannt ist.

Bild
Das ist das Endresultat. Unten links der kleine weise Kasten.

Alle find damit an das mein alter Server immer Platz Probleme hatte, laut war und auch optisch nicht gerade ein Prachtstueck.
Was neues sollte her mit folgeden Anforderungen:
  • Nach und nach erweiterbar mit neuen Festplatten (Da faellt ZFS schonmal weg)
  • Relative leise
  • Mindestens eine Festplatte sollte ausfallen koennen ohne das ich Daten verliere.
  • Optisch in die Wohnung passen
  • Multimedia wiedergabe (h264 und h265 4k Video Beschleunigung) Mein raspberry pi 3 ist mir zu langsam
Btrfs raid5/6, MDADM raid5/6 und SnapRaid waren die Kandidaten. Btrfs raid5/6 hatte zur der Zeit gerade grosse Probleme.
Am ende habe ich mich fuer SnapRaid entschieden.
  • Eins bis Sechs Parity Platten moeglich.
  • Es muss immer nur die Platte drehen auf die gerade zugegriffen wird
  • Sollte es doch mal mehrere Festplatten ausfallen als man redundans hat, sind nicht alle Daten weg (Zwei defekte Platten bei MDADM Raid5 = alle Daten weg)
  • Mischen von verschiedenen Festplatten groessen. Die Parity Platten sollte dabei allerdings mindestens so gross sein wie die groesste Daten Platte.
  • Mischen von verschiedenen Filesystems.
  • Funktioniert auch wenn auf den Festplatten schon Daten vorhanden sind.
Man kann also im laufe der Zeit relativ einfach neue Festplatten hinzufuegen. Wichtig: Die Parity wird nicht live erstellt. Man muss also immer ein snapraid sync laufen lassen. Bei mir jede nacht. Da passiert nicht viel wenn sie die Daten nicht aendern.

Ich habe mir also ein Intel Pentium und 3x 6TB WD Red Platten gekauft. Dazu hatte ich noch eine alte 6TB Platte.
Details und Bilder gibt es hier: viewtopic.php?f=15&t=160034&start=60#p1132887 Noch mehr Bider: https://imgur.com/a/XhMyl

Damit ich spaeter mehr Freiheit habe ich mich fuer LVM entschieden. Und XFS als Datensystem.

Code: Alles auswählen

sudo parted /dev/sdX
mklabel gpt
mkpart primary 2048s 100%
align-check optimal 1

sudo vgcreate redXXX /dev/sdX1
sudo lvcreate --name redXXXMain -l 100%FREE redXXX
sudo mkfs.xfs /dev/redXXX/redXXXMain

sudo mkdir /media/redXXXMain
sudo chown -R carlos:carlos /media/redXXXMain
In der /etc/snapraid.conf gibt man an wo die Daten und Parity-Festplatten gemountet werden. Dann kann man eigentlich schon mit snapraid sync loslegen.

MergerFS

Wenn man nur SnapRaid benutzt hat man immer noch nur die einzelnen mountpoints der Festplatten. Ich will aber eins haben mit allen Daten von allen Festplatten. Dazu benutzte ich MergerFS.
Dazu habe ich folgendes in der /etc/fstab stehen
/media/redOneMain:/media/redTwoMain:/media/redThreeMain /media/raid fuse.mergerfs category.create=eplfs,minfreespace=200G,direct_io,defaults,allow_other,fsname=raid,use_ino 0 0
Das mounted alle meine drei Festplatten nach /media/raid. Siehst erstmal komplex aus, sagt aber nur das mindestens 200G pro Festplatte Freigehalten werden soll und die eplfs Policy angewendet werden soll. Wenn neue Daten geschrieben werden, versucht mergerFs die Festplatte zu nehmen mit am wenigsten freien Speicher, aber mindestens 200G frei wo es den Pfad schon gibt. Speichere ich also etwas nach /media/raid/Filme/bla.mkv guckt mergerFs ob es schon ein Ordner Filme auf einen meiner Festplatten gibt.

Ergebnis:

Code: Alles auswählen

raid                                16T   10T  5.9T  64% /media/raid
/dev/mapper/redThree-redThreeMain  4.9T  763G  4.2T  16% /media/redThreeMain
/dev/mapper/greenParity-Main       5.5T  5.3T  174G  97% /media/parity
/dev/mapper/redOne-redOneMain      5.5T  5.3T  174G  97% /media/redOneMain
/dev/mapper/redTwo-redTwoMain      5.5T  4.0T  1.6T  73% /media/redTwoMain
Lecker 16T :)

SnapRaid Sync und SystemD

Ich habe ein Torrent Klient am laufen. Der soll keine Daten speicher wenn nachts um 3 Uhr Snapraid Sync laeuft.
Das war etwas schwierig, konnte mit Hilfe des Forums aber geloest werden. Alle systemd scripte gibt es hier: https://gist.github.com/lord-carlos/789 ... 40571a36f4

Das snapraid script habe ich auf zackreed.me gefunden. Nichts um 0300 werden dann 5% meiner Daten "gescrubbed", also mit der Parity verglichen. Dies sollte man auch gerne bei MDADM raid 5/6 machen.
Am ende bekommt man dann eine nette Zusammenfassung via mail geschickt. Neue Daten, geloeschte Daten, Fehler etc.


SSD cache
Ich hatte noch ne SSD rumliegen. Leider unterstuetzt MergerFS kein SSD Cache. Man muss also via LVM jede einzelne Festplatte ein Cache geben wenn man das will. Uncool. Aber ich wollte es einfach mal Testen.

Code: Alles auswählen

sudo vgextend redTwo /dev/sde2
sudo lvcreate --type cache -L 45G -n redTwoCachePool --cachemode writeback redTwo/redTwoMain /dev/sde2
Bin ich schon drin? Das ist ja einfach.

Die Idee ist das z.B. Ubuntu torrent die fast immer jemand runterlaedt vom Cache gelesen werden, und nicht von der Festplatte. Ist aber mehr Spielerei. In ~6 Monaten habe ich ca. 1TB an Linux torrents hochgeladen.
Dazu habe ich meinen Torrent Klienten gesagt er soll mal bitte mehr Ram benutzten. Hat so auf ~500mb rumgegammelt, jetzt benutzt er fein fein ~4G.
____________
Habe das jetzt ~6 Monate im Einsatz. Momentan finde ich noch das ich die richtige Entscheidung getroffen habe.
Wenn man von Anfang an gleich alle Festplatten kaufen kann, dann ist ZFS vielleicht die bessere Wahl.

Auf Raten von breakthewall und anderen habe ich den Server weg von Subwoofer in einem anderen Raum verlegt. Da Festplatten Irgendwie nicht leise zu bekommen sind ist es auch besser so fuer mich :)
Zuletzt geändert von Lord_Carlos am 07.12.2017 20:36:43, insgesamt 1-mal geändert.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

TMTYD
Beiträge: 82
Registriert: 06.11.2017 06:38:26

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von TMTYD » 07.12.2017 20:19:07

nettes Projekt

Benutzeravatar
ThorstenS
Beiträge: 2801
Registriert: 24.04.2004 15:33:31

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von ThorstenS » 08.12.2017 07:11:26

Danke dir fürs Aufschreiben! Ich finde auch die Erweiterung mit dem SSD-Cache sexy :THX:
Bei einem ZFS Testsetup hat das dem System auch Flügel verliehen. Ich werde das zu Hause definitiv mal nachbauen. 8)

TMTYD
Beiträge: 82
Registriert: 06.11.2017 06:38:26

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von TMTYD » 09.12.2017 05:35:56

Wie hast du das hin bekommen, das 6 Platten eine große ergeben ? Ist das Snapraid ? Würde das auch mit 2 Platten gehen ?

Benutzeravatar
Lord_Carlos
Beiträge: 4253
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von Lord_Carlos » 09.12.2017 13:36:55

TMTYD hat geschrieben: ↑ zum Beitrag ↑
09.12.2017 05:35:56
Wie hast du das hin bekommen, das 6 Platten eine große ergeben ? Ist das Snapraid ? Würde das auch mit 2 Platten gehen ?
Das ist MergerFS.
Siehe mein abschnitt dazu.
Oder fuer mehr detais: https://github.com/trapexit/mergerfs

Ist recht einfach und geht auch mit 2 Festplatten.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

TMTYD
Beiträge: 82
Registriert: 06.11.2017 06:38:26

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von TMTYD » 09.12.2017 13:49:12

Lord_Carlos hat geschrieben:
TMTYD hat geschrieben: ↑ zum Beitrag ↑
09.12.2017 05:35:56
Wie hast du das hin bekommen, das 6 Platten eine große ergeben ? Ist das Snapraid ? Würde das auch mit 2 Platten gehen ?
Das ist MergerFS.
Siehe mein abschnitt dazu.
Oder fuer mehr detais: https://github.com/trapexit/mergerfs

Ist recht einfach und geht auch mit 2 Festplatten.
Ok cool werde ich mir mal heute Abend anschauen

Debian Stretch, Kernel 4.13


TMTYD
Beiträge: 82
Registriert: 06.11.2017 06:38:26

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von TMTYD » 10.12.2017 00:21:38

Das hört sich ziemlich interessant an, vorallem das man dem Pool noch ne Platte hinzufügen kann wenn ich eine neue einbaue.

Da ich zwei Platten habe eine mit 4tb und eine mit 2tb, stelle ich mir die Frage ob die vorhandenen Dateien, dann gelöscht werden, wenn ich so ein Pool erstelle.

Benutzeravatar
Lord_Carlos
Beiträge: 4253
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von Lord_Carlos » 10.12.2017 09:29:40

Sprichst du jetzt nur von MergerFS? Oder willst du auch SnapRaid benutzten fuer denn fall das eine Festplatte ausfaellt?
MergerFS erstellt nur einen neuen mountpoint mit den inhalt deiner beiden platten. Und anhand der Regeln (Policy) kannst du auch darauf schreiben. Die neuen Daten werden dann je nachdem welche Policy du gewaehlt hast auf den beiden Festplatten verteilt.
Wenn du SnapRaid verwenden willst brauchst du eine neue Festplatte, die mindestens 4TB gross ist.

Bei beiden programmen musst du nichts loeschen! Alle deine Daten bleiben erhalten!

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

TomL
Beiträge: 3706
Registriert: 24.07.2014 10:56:59

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von TomL » 10.12.2017 10:52:03

[OT on]
Als ich mir dieses Bild angesehen habe und kurz danach diese "Kennzahlen" von 4x6 = 24 TB Plattenkapazität gelesen habe, habe ich mich gefragt, wie man das wohl sichern kann. Wie geht das bei einer solchen großen Menge? Eigentlich gibts doch nur 2 Möglichkeiten, entweder man sichert gar nicht, weil für einen selber eh nix wichtiges dabei ist und hofft gleichzeitig, dass nie was passiert- Oder man hat außerhalb auch 24 TB Kapazität verfügbar, wohin der Kram ständig aktuell gesichert ist. Das letztere kann ich mir allerdings kaum vorstellen. Ich frag mich das, weil ich gerade selber vor dem Problem stehe, ein zuverlässiges Backup zu erzeugen. Und dabei habe ich ein Ereignis vor Augen, welches jetzt ein paar Jahre zurückliegt. Ich schaue hier auf ein Nachbarhaus für 6 Familien, etwa 75 m entfernt. Da ist vor Jahren bei Gewitter ein Blitz eingeschlagen. Die linke hintere Hausecke war danach schwarz verbrannt, im Haus waren alle elektrischen Geräte gegrillt. Ich habe meinen Server zwar (wenn ich mich recht erinnere) gegen 30.000 Volt gesichert, aber ich glaube, bei einem Blitzschlag reicht das nicht, da wird trotzdem alles kaputt sein.

Wenn man solche Mengen vorhält, tut man das nach der Devise "Der Krug geht solange zum Brunnen, bis er bricht".... und akzeptiert den Verlust, wenns verloren gegangen ist?
[OT off]
vg, Thomas

Benutzeravatar
Lord_Carlos
Beiträge: 4253
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von Lord_Carlos » 10.12.2017 13:02:31

Das Bild ist mein alter Server mit einer hand von 1.5TB Festplatten.
Jetzt habe ich 3 + 1 6TB Festplatten, also 16TB und eine kann ausfallen.

Das meiste ist nicht so wichtig das ich ein offsite backup brauche.

Ich habe so ~500GB - 1TB an Daten die mir recht wichtig sind. Das Projekt ist noch nicht fertig. Aber ich denke ich werde bei Familie ein raspberry pi aufstellen der alle paar Wochen manuell angemacht wird. Mal sehen wie ich das genau loese.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

TMTYD
Beiträge: 82
Registriert: 06.11.2017 06:38:26

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von TMTYD » 10.12.2017 15:30:07


Lord_Carlos hat geschrieben:Sprichst du jetzt nur von MergerFS? Oder willst du auch SnapRaid benutzten fuer denn fall das eine Festplatte ausfaellt?
MergerFS erstellt nur einen neuen mountpoint mit den inhalt deiner beiden platten. Und anhand der Regeln (Policy) kannst du auch darauf schreiben. Die neuen Daten werden dann je nachdem welche Policy du gewaehlt hast auf den beiden Festplatten verteilt.
Wenn du SnapRaid verwenden willst brauchst du eine neue Festplatte, die mindestens 4TB gross ist.

Bei beiden programmen musst du nichts loeschen! Alle deine Daten bleiben erhalten!
Also im Moment spreche ich nur von MergerFS, in naher Zukunft auch Snapraid evtl.

Also kann man eine Regel erstellen, die sagt dass dorthin und dass dorthin oder wie darf man das verstehen?

Debian Stretch, Kernel 4.13


Benutzeravatar
Lord_Carlos
Beiträge: 4253
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von Lord_Carlos » 10.12.2017 15:39:04

TMTYD hat geschrieben: ↑ zum Beitrag ↑
10.12.2017 15:30:07

Also kann man eine Regel erstellen, die sagt dass dorthin und dass dorthin oder wie darf man das verstehen?

Debian Stretch, Kernel 4.13
Ja, lies dir nochmal durch was ich im eingangspost zu MergerFS geschrieben habe. Oder besser noch die verlinkte Webseite.

Wenn ich eine neue Datei erstelle und die nach /media/raid/Filme/foo.mkv abspeichere, wird erst nachgeguckt welche Festplatte schon einen Ordner hat der Filme heist.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

TMTYD
Beiträge: 82
Registriert: 06.11.2017 06:38:26

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von TMTYD » 10.12.2017 16:44:05

Lord_Carlos hat geschrieben:
TMTYD hat geschrieben: ↑ zum Beitrag ↑
10.12.2017 15:30:07

Also kann man eine Regel erstellen, die sagt dass dorthin und dass dorthin oder wie darf man das verstehen?

Debian Stretch, Kernel 4.13
Ja, lies dir nochmal durch was ich im eingangspost zu MergerFS geschrieben habe. Oder besser noch die verlinkte Webseite.

Wenn ich eine neue Datei erstelle und die nach /media/raid/Filme/foo.mkv abspeichere, wird erst nachgeguckt welche Festplatte schon einen Ordner hat der Filme heist.
Ah Ok

Debian Stretch, Kernel 4.13


Benutzeravatar
Lord_Carlos
Beiträge: 4253
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von Lord_Carlos » 22.12.2017 16:10:39

Aus einem anderem Thread:
Jana66 hat geschrieben: ↑ zum Beitrag ↑
22.12.2017 15:40:44
Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
22.12.2017 08:52:16
Mhh, sicher das du nicht ein Rechner mit etwas groesseren Gehaeuse haben willst, so das du ein paar Festplatten einbauen kannst?
Jetzt frage ich doch mal neugierig. Du hast ja im Hobbythread und noch mal extra von deinem NAS-Umbau geschrieben. Über die Groesse und Anzahl Festplatten auf dem Foto des Vorgängers musste ich schmunzeln. Was speicherst du denn für Daten (hoffentlich nicht auch meine :mrgreen: ) und wie/wohin Backup?
Uhh, backups von .. DVDs? :D *hust* Mit kodi guckt sich das viel besser.

Code: Alles auswählen

    5.5 TiB [##########] /filme
    3.7 TiB [######    ] /serien
  330.1 GiB [          ] /backup
  313.1 GiB [          ] /photos
  125.8 GiB [          ] /music
   44.3 GiB [          ] /download
   32.3 GiB [          ] /musik videos
   22.4 GiB [          ] /gameImages
   13.5 GiB [          ] /image
    6.0 GiB [          ] /games
  672.2 MiB [          ]  .snapraid.content
Und Linux ISOS. Ubuntu 16.04 have ich jetzt schon 380 fach an andere hochgeladen.

Backups: Joa, also das ganze meiste ist nicht so wichtig das ich dafuer nochmal 16TB platten kaufen will. Einbruch, Hausbrand, Blitz etc ist bloed. Fuer /photos haette ich gerne ein Backup. So kleiner rPi bei Mutti :D Mal sehen.
Mein NAS ist sehr sehr klein im vergleich zu den Leuten auf /r/DataHoarder. In den USA kann man 8TB Festplatten fuer ~130USD im Angebot kaufen.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Jana66
Beiträge: 3946
Registriert: 03.02.2016 12:41:11

Re: [Projekt] Heimserver mit SnapRaid, MergerFS und SSD Cache

Beitrag von Jana66 » 22.12.2017 16:30:38

Danke für die ausführliche Antwort. (Bin ich ja beruhigt, dass es ein Verzeichnis /Jana zumindest nicht offensichtlich gibt. :mrgreen: )
Wenn keiner was sagt, wird sich nichts ändern. Wenn alle nur reden ebenfalls nicht.

Antworten