skies Posted November 27, 2022 Share Posted November 27, 2022 Hallo zusammen, Ich würde mein NAS gerne in Rente schicken und die Daten auf dem Unraid-System lagern. Dazu habe ich ein paar Fragen zum sinnvollen Setup. Aktuell besteht mein Array aus einer einzigen NVMe Platte. Da liegen primär Docker Container und VMs drauf. In die Optionen mit Unraid lese ich mich gerade ein. Die Datenmenge von NAS ist sehr überschaubar, außerdem möchte ich am liebsten alle Daten gleich redundant vorhalten. Daher würde ich am liebsten gleich alles zusammen (also Docker, VMs und Daten) auf 2 NVMe-Platten vorhalten (redundant). Macht das sinn und wenn ja, würde ich die dann als Array nutzen oder als Cache aufsetzen und ein Dummy-Device als Array einbinden? Ich hab die Vor- und Nachteile der Optionen und damit dann auch Dateisysteme noch nicht ganz durchdrungen. Was meint Ihr? Viele Grüße, skies Quote Link to comment
DataCollector Posted November 27, 2022 Share Posted November 27, 2022 19 minutes ago, skies said: Ich würde mein NAS gerne in Rente schicken und die Daten auf dem Unraid-System lagern. Vielleicht zusätzlich und das NAS als Backupziel nur ab und zu einschalten? 19 minutes ago, skies said: Die Datenmenge von NAS ist sehr überschaubar, außerdem möchte ich am liebsten alle Daten gleich redundant vorhalten. Daher würde ich am liebsten gleich alles zusammen (also Docker, VMs und Daten) auf 2 NVMe-Platten vorhalten (redundant). Bevor Du vielleicht dem Begriff Redundanz mehr zuschreibst, als er hier in der Konstellation bedeutet (ich sehe zumindest nicht,w as Du Dir von der Redundanz versprichst): Redundanz ist im Array dafür da, gegen den Ausfall eines Mediums (bei 2x Parity 2 Medien) gewappnet zu sein. Solltest Du Redundanz mit Datensicherheit gleich setzen wollen, beachte, daß bei DIfferenzen im Array unraid nicht weiß welches Medium nun die korrekten Daten hat und welches nicht. Solltest Du also Datensicherheit und nicht nur Ausfallsicherheit wünschen, müssetest Du Dir für die wichtigen Daten auch über zusätzliche Backups Gedanken machen. 19 minutes ago, skies said: Macht das sinn und wenn ja, würde ich die dann als Array nutzen oder als Cache aufsetzen und ein Dummy-Device als Array einbinden? Wenn Du im Array 2 Disks hast und eine davon die Parität des anderen ist, hast Du Sicherheit gegen den Ausfall einer der Disk (bei SSD genauso). Das macht Sinn, wenn man gegen den Ausfall absichern will. Wenn Du hingegen eine Disk/SSD im Array hast und eine SSD als Pool (cache) davor schaltest, dann sind die Daten in der Regel imme rnur an euiner Stelle Entweder im Cache oder im Array. Du hast also weder Redundanz, noch Ausfallsicherheit aller Daten im Array. Wenn Du hingegen 2 Disks/SSDs in einem Pool als Raid1 einrichtest und im Array ein Dummy hinlegst (weil unraid ohne Array nicht vollständig läuft), hast Du wieder Deine Ausfallsicherheit. Zu beachten ist aber: wenn ich es richtig gelesen habe; kan urnaid im Array kein Trim auf SSD durchführen. Somit kann es vielleicht sinnvoller sein, wirklich die SSDs alle im Pool zu haben. 19 minutes ago, skies said: Ich hab die Vor- und Nachteile der Optionen und damit dann auch Dateisysteme noch nicht ganz durchdrungen. Was meint Ihr? Im Array ist (meiner unmaßgeblichen Meinung nach) xfs bisher brauchbar. im Pool ist bei dem Wunsch nach Raid1 BTRFS nativ möglich. Doch BTRFS steht im Ruf in ungünstigen Konstellationen auch mal nicht so stabil zu sein. In so fern siehe oben: zusätzliche Backups halte ich für sehr wichtig, wenn einem die Daten wichtig sind. Quote Link to comment
mgutt Posted November 27, 2022 Share Posted November 27, 2022 1 hour ago, DataCollector said: wenn ich es richtig gelesen habe; kan urnaid im Array kein Trim auf SSD durchführen. Jo, daher sollte man eher mit einem Dummy im Array arbeiten und einen RAID1 Pool erstellen. Dann alle Shares beim Cache auf "Only" stellen, damit das Array niemals benutzt wird. Quote Link to comment
skies Posted November 27, 2022 Author Share Posted November 27, 2022 Danke DataCollector für Deine ausführliche Antwort. Für Datensicherheit ist ausreichend gesorgt, mir geht es in dem Szenario ausschließlich um Ausfallsicherheit. Grundsätzlich möchte ich die VM und Docker-Daten auf möglichst schnellen Speichern vorhalten. Meine NAS-"Daten" könnten ruhig auf langsamen Speichern liegen, da greife ich eh nur übers Netz drauf zu (aktuell im Raid5 auf HDDs). Da wir hier in Summe aber lediglich über max. 2TB an Daten reden, würde ich mir gerne viele Datentöpfe sparen und alles zusammenlegen. Wenn ich das so richtig gelesen habe, kämen für mich drei Szenarien in Frage: 1. Array mit 2 Datenträgern (2x 2TB NVMe), wobei einer die Parität wäre und ich somit 2TB Kapazität hätte. Dann kein Pool/Cache. Hier habe ich nur gelesen, dass der Zugriff durch das Schreiben der Parität langsamer wird, und man sich daher seine VMs/Docker nicht aufs Array legt. Ob das jetzt nur für den Fall HDD Array gilt oder auch für ein NVMe Array und wieviel da verloren geht, weiss ich nicht. Dateisystem wäre hier zwingend XFS, oder? 2. Pool mit 2x 2TB NVMe, Kein (bzw. dummy) Array. Dateisystem wäre dann hier Raid 1 BTRFS, 2TB Kapazität. Somit lägen dann alle meine Daten im Pool/Cache. 3. Array mit ein paar SATA SSDs (oder ggf. auch HDDs). Eine NVMe als Cache. Dabei kämen dann die Docker/VMs aufs Cache, die Daten aufs Array und ich würde den Cache regelmäßig aufs Array sichern, da ich in dem Falle ja keine Ausfallsicherheit des Caches habe. Das wäre wohl der "klassische" Weg, aber ich versuche aktuell möglichst overhead/Hardware einzusparen. Außerdem würde ich gerne Ganz auf HDDs verzichten, bzw. nur noch für Offline-Backups einsetzen. Bisher habe ich immer Qnap-NAS ganz klassisch mit HDDs im Raid1 oder 5 eingesetzt und einfach keine Erfahrung mit Unraid und welche Konstellation am besten funktioniert/sinn macht. 58 minutes ago, mgutt said: Jo, daher sollte man eher mit einem Dummy im Array arbeiten und einen RAID1 Pool erstellen. Dann alle Shares beim Cache auf "Only" stellen, damit das Array niemals benutzt wird. Danke Dir, damit wäre die 1. ja komplett raus? Habe das hier gefunden, das bestätigt das Ganze ja auch nochmal. Somit Taugen also nur HDDs fürs Array? Oder man nimmt mit der Zeit massive Geschwindigkeitseinbußen hin... Ich bin immer noch recht ratlos. Tipps sind sehr willkommen. Viele Grüße, skies Quote Link to comment
Ford Prefect Posted November 27, 2022 Share Posted November 27, 2022 ...als Dummy reicht auch ein USB-Stick....soll ja eigentlich nicht mehr benutzt werden, im Cache-only Szenario. Quote Link to comment
mgutt Posted November 27, 2022 Share Posted November 27, 2022 46 minutes ago, skies said: Oder man nimmt mit der Zeit massive Geschwindigkeitseinbußen hin... Kommt tatsächlich auf die SSD an. Nimmt man nicht gerade die billigsten, bekommen die das mit der Garbage Collection ganz gut hin. Siehe auch: Quote Link to comment
DataCollector Posted November 27, 2022 Share Posted November 27, 2022 1 hour ago, skies said: Wenn ich das so richtig gelesen habe, kämen für mich drei Szenarien in Frage: 1. Array mit 2 Datenträgern (2x 2TB NVMe), wobei einer die Parität wäre und ich somit 2TB Kapazität hätte. Dann kein Pool/Cache. Hier habe ich nur gelesen, dass der Zugriff durch das Schreiben der Parität langsamer wird, und man sich daher seine VMs/Docker nicht aufs Array legt. Ob das jetzt nur für den Fall HDD Array gilt oder auch für ein NVMe Array und wieviel da verloren geht, weiss ich nicht. Dateisystem wäre hier zwingend XFS, oder? Wegen dem fehlende Trimm würde ich von SSDs im Array Abstand nehmen, aber machbar ist es. Ich glaube hier erwaehnte jemand (anderes als mgutt), daß er ein Array aus NVMe SSD betreibt. Das sollte auch ohne TRIM flott genug sein. 1 hour ago, skies said: 2. Pool mit 2x 2TB NVMe, Kein (bzw. dummy) Array. Dateisystem wäre dann hier Raid 1 BTRFS, 2TB Kapazität. Somit lägen dann alle meine Daten im Pool/Cache. Ja, das würde ich an Deiner Stelle anstreben. Falls Du die Performace von Docker/VM nicht beeinflussen willst, vielleicht zusätzlich eine 3te kleine (aber dennoch ausreichend große) SSD dafür extra einplanen. Da Docker nicht wirklich ansprcuuhsvoll ist, könnte dafür eine SATA SSD ausreichen (es wird ja sowieso viel im RAM gemacht). Erst, wenn Du VMs nutzen willst kommt es darauf an, wie groß Du die Images dazu gestalten willst. 1 hour ago, skies said: 3. Array mit ein paar SATA SSDs (oder ggf. auch HDDs). Eine NVMe als Cache. Dabei kämen dann die Docker/VMs aufs Cache, die Daten aufs Array und ich würde den Cache regelmäßig aufs Array sichern, da ich in dem Falle ja keine Ausfallsicherheit des Caches habe. Das wäre wohl der "klassische" Weg, aber ich versuche aktuell möglichst overhead/Hardware einzusparen. Das ist auch machbar, würde ich aber nicht anstreben. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.