Mehr Platz für ZFS - wie am sinnvollsten?

Errorsmith

Kompiliertier
Hi

Ich hab hier ein (halbwegs) aktuelles FreeBSD der 10er Serie auf einem Server mit i3-3220 CPU @ 3.30GHz und16 GB RAM. Auf der Kiste läuft ein LDAP, NFS und ein paar Testjails sowie Samba.

Plattenmäßig habe ich ein zmirror fürs OS sowie 3 Platten zu je 1TB im zraid.
Leider hat sich herausgestellt das das nicht ausreicht. Ich möchte daher dem System einen weiteren zpool hinzufügen.
Dieser soll als reines Datengrab dienen. Geschwindigkeit ist also eher zweitranging, ich werde auf dem Pool auch durchgängig die Kompression einschalten. Dafür möchte ich natrülich möglichst viel Platz haben.

Das da steht im Moment zur Verfügung:
- 4HE Gehäuse des Servers mit 3 5.25" freien Steckplätzen (für Plattenkäfig / Backplane)
- LSI SAS2008 SAS Controller & zwei SAS -> 4xSATA Kabel

Gekauft werden soll:
- ein Plattenkäfig/Backplane mit 3, 4 oder 5 Steckplätzen für Platten (je nach Notwendigkeit)
- Platten natürlich (nach aktuellem Stand 3.5" Platten)

Nach dem Ausbau möchte ich irgendwo zwischen 6 und 12 Terabyte Nettokapazität mehr haben.

Folgende Fragen habe ich dazu:

1. reichen die vorhandenen 16GB RAM aus oder benötige ich mehr?
2. Was ist die sinnvollste Plattenkonfiguration: 3 x 4TB scheint der naheliegenste Ansatz zu sein, ist dies auch der sinnvollste? Oder gibt es eine sinnvollere Konfiguration mit 4 bzw. 5 Platten?

Grüße,
errorsmith
 
1. RAM: Fuer deine Angaben der Nutzung des Servers werden die vorhandenen 16 GB weit ausreichen.

2. Bei Platten jenseits von 1 TB hab ich (zumindest im produktiven Einsatz) ein schlechtes Gefuehl mit RaidZ1. Eine Resynchronisierung dauert einfach weit zu lange bei diesen Datenmengen und das Risiko, das in der Zeit eine weitere Platte den Geist aufgibt, waechst mit der Plattengroesse. Wenn das Geld es erlaubt, und je groessere Platten du verwendest, desto eher wuerde ich dir RaidZ2 nahelegen.
Bei kleineren Platten oder weniger Speicherbedarf tendiere ich eher zu einer Mirror-Konfiguration (Raid 1).
RaidZ1/Raid5 verwende ich eigentlich gar nicht, wenn ich es vermeiden kann. Und wenn...dann nur fuer "unwichtige" Daten (ersetzbare/verzichtbare Daten).

An deiner Stelle wuerde ich wohl nen 5er Plattenkaefig besorgen. Musst ja nicht von Anfang an alles nutzen...aber zumindest fuer die Zukunft kannst du dann leicht upgraden.
 
Hi

Danke für Deine Hinweise.

Was die Wichtigkeit der Daten betrifft:
Es handelt sich im wesentlichen um TV Mitschnitte (vom Mediacenter), Fotos, archiverte Downloads (Treiber, Manuals etc) und so weiter. Ein normales Datengrab eben. Für die Fotos gibt es ein Backup, der Rest wäre bei einem GAU einigermaßen ärgerlich aber verschmerzbar.

Vielleicht kurz meine Überlegungen zu dem Aufbau:Als Plattenkäfig ziehe ich im Moment den Icy Dock MB996SP-6SB in Erwägung.Der bietet Platz für 6 x 2.5" Festplatten. Am LSI Controller kann ich maximal 8 anschließen, das paßt also.

Aus der Anzahl der Platten (max 6) und der gewünschten Kapazität ergibt sich dann die Kapatität jeder einzelnen Platte.
Insofern habe ich eigentlich keine Wahl als Festplatten mit mehr als 1TB Kapazität zu verbauen:

Aus meiner Sicht müsste ich dann für eine RaidZ2 6 x 2TB verbauen und hätte 8 TB Netto. 6 x 1 reicht nicht, da ich dann unter der Zielsetzung "6 - 12 TB Netto Kapazität" bleiben würde. Bei einem Raidz1 würde ich 5 x 2 TB einbauen und hätte ebenfalls 8 TB, auch hier wäre 5 x 1 TB wieder zu wenig. Einen Mirror mit vergleichbarer Kapazität gibt das Budget leider nicht her, erst reicht nicht wenn ich den aus 12 x 1 TB aufbauen will (was einen neuen Controller erfordern würde).
Oder würdest du da etwas völlig anderes vorschlagen?

Grüße,
errorsmith
 
Wenn du 3x 5.25" Plaetze frei hast, warum dann nicht diesen hier:

FatCage MB155SP-B
http://www.icydock.com/goods.php?id=155

3.5 Zoll Platten haben immer noch das bessere Preis-Leistungsverhaeltnis und du kannst 4TB Platten reinhauen...was dir selbst bei RaidZ2 noch ~12TB Restkapazitaet gibt (oder 16TB bei RaidZ1)
 
Ich kann dir ein paar Erfahrungswerte von mir liefern. Ich habe hier zwei FreeBSD 10.1 Server als Datengrab stehen. Einer dient als Backup Zwischenstufe, der andere als temp. Home-Laufwerk für die User.

Beide Server haben:
  • 32GB RAM
  • 12x 2TB HDD SAS Raidz2
  • Samba 3.6.X
ZFS (ARC, sieht man in top) schnappt sich bei einem 18GB RAM (8 TB belegt) und beim anderen 24GB (6 TB belegt). Ein Resync bei einer def. Platte, kann zwischen 5 oder auch 20 Stunden dauern.

Gruss
 
Guten Morgen :-)

@cla: Den hatte ich zuerst angesehen. Den kleinen Bruder (3 x 3.5" Platte) davon habe ich auf der anderen Seite des Gehäuses schon mit 1 TB Platten verbaut und bin hoch zufrieden damit.
Preislich nimmt es sich nicht viel: Der Käfig für die 2.5er Platten kostet etwas mehr, dafür sind die Platten etwa 30€ günstiger (kurz bei alternate recherchiert: 3.5" 2TB HGST: ~157€, 2.5" 2TB Samsung: 107€).

Für die 2.5er Platten spricht aus meiner Sicht folgendes:
- weniger Stromverbrauch
- weniger Wärmeentwicklung
- ich kann (langfristig gesehen) mehr Platten in dem gleichen Raum unterbringen
- mehr Flexibilität für Upgrades (die in einigen Jahren mit Sicherheit kommen werden)
- Ich mag - ählich wie du - die sehr großen Platten nicht und verbaue im Rahmen des vorhandenen. Budgets, lieber mehrere Kleine statt einer Großen

@foxit: Danke für die Infos, eine Rückfrage dazu: Wieviele User greifen darauf zu? Meines ist ein Heimserver mit relativ geringer Auslastung.

Grüße,
errorsmith
 
[OFFTOPIC]
Wow, ich bin immerwieder fasziniert welche Datenmengen im Heimbereich so alles anfallen und was für Brecher an Maschinen dafür hingestellt werden.

[/OFFTOPIC]
 
[OFFTOPIC]
Wow, ich bin immerwieder fasziniert welche Datenmengen im Heimbereich so alles anfallen und was für Brecher an Maschinen dafür hingestellt werden.
[/OFFTOPIC]

Solche Datenmengen sind doch heutzutage nichts besonderes. Gerade wenn Videodaten oder RAW-Fotos im Einsatz sind.

Über Legalität diverser Daten lässt sich dann streiten, aber ich z.B. hab meine ganze DVD-Sammlung auf den Server gerippt, ganz einfach weil DVDs auch nur eine begrenzte Lebenszeit haben. Gerade wenn man sie benutzt. Das sind auch mal eben 5 TB nur für die Filme bei mir. Natürlich zusätzlich mit dem Luxus dann sowas wie Kodi einsetzen zu können.
 
Mein Problem mit solchen Datengräbern ist eher, dass ein Backup entweder ewig dauert (selbst mit GBit/s Anschluss) oder tierisch ins Geld geht.

Günstige Backups findet man Online... aber mit 125KB/s Upload (in meinem Fall) will man keine 8TB hochladen.

8TB auf ein oder zwei Festplatten "backuppen"? Möglich, aber wenn ein Rückspielen des kompletten Backup nötig sein sollte, muss man hoffen, dass die Platten nicht aussteigen dabei. Darum fahren wir ja alle ein RAIDZ1 oder 2.

Entsprechend muss man den Server den man hat quasi noch mal hinstellen, wenn man ein sicheres Backup haben will (vllt. mit Downgrade RAIDZ2 -> RAIDZ1, RAIDZ1 -> Mirror).

Wenn Bandlaufwerke nicht so verdammt teuer wären xD
 
Hi

@OT: Für meinen Heimbedarf nehme ich in der Regel was gerade da ist. Falls ich etwas neu kaufe, lege ich die Anschhaffung möglichst zukunftssicher aus. Daher hat die Maschine mehr Leistung (und Platz) als zum jetztigen Zeitpunkt nötig. Der andere Aspekt ist: Ein vollständiges Backup kann ich als Privatmensch garnicht fahren bei diesen Datenmengen. Also sichere ich das wichtigste und schmeiße ansonsten Platten drauf und hoffe das es gut geht (daher zraid).

edit:
Zum Inhalt der Dateien, auch wenns nicht notwendig wäre:
Ich habe ein Mediacenter mit dem ich Sendungen aus dem TV aufnehmen. Das sind dann mpeg2 Dateien und es ist mir zu aufwändig die nach mp4 umzukodieren (Rechenzeit, dauert ewig). Ansonsten pflege ich eine Art "Archiv" in dem ich alles mögliche an alten Treibern, alte OS Version und so weiter halte. Die Photos der letzten 8 Jahre sind auch ein wichtiger Anteil und verbauchen mehrere 100 GB.
Zuletzt habe ich außer dem Server fast keine Rechner mit Festplatte mehr, d.h. die verschiedenen Rechner laden ihr OS vom Server. Auch das nimmt einiges an Platz in Anspruch. (Tatsächlich den Hauptanteil der bisher verbrauchten 2TB). Warum man "verschiedene Rechner" haben muß ist aber ein anderer Punkt ;-)

@Recherche: Ich hab halt bei meinem Stammhändler geguckt. Dort kaufe ich seit Jahren und bin insbesondere was Service betrifft sehr zufrieden. Bei größeren Bestellungen (wo ich 6 Festplatten durchaus einordne) ist mir auch wichtig das ich im Problemfall nicht im Regen stehe.

Ich habe dort eine 3.5" HGST 2TB mit einer 2.5" Samsung 2TB verglichen. Die günstigste 3.5" 2TB Platte dort ist eine Seagate für 74€. Bei den 2.5ern wäre eine Toshiba mit 89€,90 die günstigste, die wollte ich aber nicht... ;-) Bei dem 2.5er Käfig muss ich ja auch auf die maximale Bauhöhe achten...

Ok, also was den Preis betrifft lag ich möglicherweise falsch. Die anderen Punkte - insbesondere die Möglichkeit mehr Platten einzubauen bleibt aber als Vorteil für die 2.5er Platten. Mit dem 5er Käfig kann ich ja nicht mal die 6 x 2 TB für das 8 TB ZRaid2 einbauen...

Grüße,
errorsmith
 
Bei all deinen Überlegungen zu "kleinere Platte, weniger Wärme, weniger Stromverbrauch" solltest du vllt. bedenken, dass du dann unterm Strich aber auch deutlich mehr davon brauchst, was gerade beim Stromverbrauch dann wieder nach hinten los geht. Eine 4TB Platte braucht nicht den doppelten Strom einer 2TB Platte. Und du "verheizt" halt doch eher wertvolle SATA-Anschlüsse mit wenig Speicher.

Wenn du ein RAIDZ2 aufbaust, dann spricht an sich doch nichts gegen größere Platten. Von den Kosten her skalieren die Platten eines Herstellers meist ziemlich linear (bis zu einer gewissen Grenze). D.h. du sparst zwar kein Geld, kriegst aber deutlich mehr Speicher pro Anschluss unter.

Denn bedenke den großen Nachteil von ZFS: Du kannst die RAID-Systeme nicht mit weiteren Platten erweitern!
 
Also so stimmt diese Aussage nicht! Man kann einen POOL jederzeit mit Disk's erweitern. Nicht in ein vorhandenes RAIDZ/MIRROR aber in den POOL sehr wohl

Genau das habe ich geschrieben. Du kannst ein RAID-System (Mirror, Z2, Z3, ...) nicht mit weiteren Platten erweitern ;)

Das man den Speicher mit weiteren RAID-Systemen erweitern kann ist ja was anderes. Aber wenn du jetzt z.B. ein 6 Platten RAIDZ2 hast und merkst: "Ich brauche mehr Speicher", dann bleibt dir nur wieder mehrere Platten einzubauen, um wieder RAID-Eigenschaften zu haben, statt einfach nur eine weitere Platte einzubauen und diesen Speicher zu bekommen.

Oder ein sehr langwieriges Erstellen eines Backups und dieses wieder zurückspielen. Das steht mir jetzt aufgrund dessen bevor.
 
@foxit: Danke für die Infos, eine Rückfrage dazu: Wieviele User greifen darauf zu? Meines ist ein Heimserver mit relativ geringer Auslastung.
Das sind ca. 250 User. Meist Windows aber auch viele MAC's.

Habe mal noch auf meinem NAS Zuhause geschaut. Da habe ich folgende Werte:
  • 8GB RAM
  • 3 User
  • 3x 2TB RAIDZ
Hier ist der ARC Cache ca. 1,5GB gross. Genutzt wird das NAS mit Samba und minidlna.

@Raktor
Ich habe in meinen letzten Ferien 29GB mit Fotos gefüllt. In nur zweich Wochen ;)

@-Nuke-
Mein ich doch auch so. Hab dein Posting jetzt nochmals gelesen und ja es ist eigentlich klar, dass wir das gleiche meinen ;)

Gruss
 
Danke für eure Einblicke. Das hilft mir weiter. Das mit den Fotos kann ich 1:1 bestätigen. Ein RAW von meiner Pentax verbraucht knapp 20MB. Da ist einige GB schnell weg.

On Topic: Mal angenommen ich würde die großen 3.5er Platten nehmen: Dann hätte ich (z.b.) 5x3TB Seagate ST3000VN000 3 TB (etwa 100€) im ZRaid2 und 10TB netto. Hm. Oder doch nicht? Ich habe an mehreren Stellen gelesen das man beim ZRaid2 keine ungerade Anzahl Platten verbauen soll. (ZRadi1: ungerade Anzahl, ZRaid2: gerade Anzahl, ZRaid3: ungerade Anzahl). Ist das noch so? Wie tragisch wäre es wenn man sich nicht daran hält??

Grüße,
errorsmith
 
Im Internet steht viel Mist. :) Algorithmisch gesehen ist der Unterschied zwischen den verschiedenen RAIDZ-Level minimal. Gerade oder ungerade Anzahl Platten mag theoretisch einen leichten Einfluss haben, aber meinen bescheidenen Erfahrung nach ist das in der Praxis absolut zu vernachlässigen. Im Code [1] ist der Algorithmus gut beschrieben, wer nun hochmotiviert ist, kann die theoretischen Auswirkungen der Anzahl Platten dort nachvollziehen. Viel wichtiger ist es, einige andere Dinge zu beachten:
  • Ein passendes Alignement, heute meist auf 4096 Byte. ZFS nimmt unpassendes Alignement sehr übel.
  • Nicht zu viele Platten in einem vdev, da jede Platte mehr Synchronisation, aber vor allem mehr RAID-Berechnungen bedeutet. Gerade beim Wiederherstellen tut jede Platte mehr sehr weh und verlangsamt den Vorgang merklich. Meine Faustregel ist, dass bei 8 Platten die Schmerzgrenze liegt.
  • Eine ausreichend schnelle CPU. Das sind inzwischen praktisch alle aktuellen CPUs, aber z.B. bei den alten Atoms der ersten Generation oder auch den in Heimservern noch immer verbreiteten AMD Turion kann man in der Kombination aus großen vdev, Kompression und vielen synchron zu schreibenden Transaktionen schon mal ans CPU-Limit kommen.
  • Je nach Situation (Datenbanken, NFS, etc.) ein dediziertes Log-Device. Das muss gerade im Heimbereich nicht mal was besonders Gutes sein und man muss es auch nicht redundant auslegen. Dann gehen im Falle des Falles halt die letzten Transaktionen über den Jordan, in vielen Situationen ist es völlig okay. Schließlich haben wir mit praktisch jedem Dateisystem seit 40 Jahren mit der Möglichkeit gelebt, dass die letzten Sekunden verloren gehen können, außer man hat viel Geld in entsprechende Hardware gesteckt.
  • Neu in der Liste ist der dringliche Hinweis zu passenden Platten. Shingled Recording und RAID macht eher wenig Spaß. ;)

1: https://svnweb.freebsd.org/base/hea.../zfs/vdev_raidz.c?revision=274337&view=markup
 
  • Ein passendes Alignement, heute meist auf 4096 Byte. ZFS nimmt unpassendes Alignement sehr übel.

Ist denn abzusehen das "Problem" mal loszuwerden? Sprich automatisch ein 4096er Alignment zu verwenden? Ich denke heute baut kaum noch jemand ein neues ZFS auf ohne 4k-Platten oder?
 
Ich habe an mehreren Stellen gelesen das man beim ZRaid2 keine ungerade Anzahl Platten verbauen soll. (ZRadi1: ungerade Anzahl, ZRaid2: gerade Anzahl, ZRaid3: ungerade Anzahl). Ist das noch so? Wie tragisch wäre es wenn man sich nicht daran hält??

Ich hatte mich da letztens auch informiert. Also dieses "3,5,9 Platten für RAIDZ1" und "4,6,10 Platten für RAIDZ2" gilt zuallererst nur wenn man _keine_ Kompression benutzt. Und dann ist der Effekt wohl nur, dass die Leserate etwas niedriger ist, als wenn man keine "passende" Anzahl an Platten hat, jedoch mit dem Vermerk: "Das merkst du nur, wenn du quasi von den Platten am dauerstreamen bist".

Der Flaschenhals bei "unseren" Systemen dürften eh die SATA-Controller bzw. die Festplatten an sich sein. Oder verbaut hier wer 10k U/min Platten in seinem Heimserver?

Mit anderen Worten -> Ignorieren!
 
Danke für diesen Einblick. Ich ziehe dann die 5x3 TB Platten in Erwägung. Mit der CPU sollte es kein Problem geben, die ist schnell genug.

@Nuke: Nein, das werden keine 10K Platten. Und in meinem Fall dürfte es der LSI mit dem Portsplitting (SAS -> SATA) sein der die Sache ausbremst.

Bezüglich diesem:
  • Neu in der Liste ist der dringliche Hinweis zu passenden Platten. Shingled Recording und RAID macht eher wenig Spaß. ;)
Warum ist das so? (Der Wikipedia Artikel erklärt zwar was es ist, nicht aber welche Probleme (bez RAID) damit auftauchen. Und: Ist das für handelsübliche Consumer Platten relevant?

Betr. Alignment: Da achte ich ohnehin drauf. Zumal ich ja eh auch am Ende des Device einigen Platz übrig lasse um den Austausch von Geräten einfacher zu gestalten.

Grüße,
errorsmith
 
Ist denn abzusehen das "Problem" mal loszuwerden? Sprich automatisch ein 4096er Alignment zu verwenden? Ich denke heute baut kaum noch jemand ein neues ZFS auf ohne 4k-Platten oder?

Ich glaube man kann seit einiger Zeit dem zpool create direkt den ashift-Parameter mitgeben.
 
Danke für diesen Einblick. Ich ziehe dann die 5x3 TB Platten in Erwägung. Mit der CPU sollte es kein Problem geben, die ist schnell genug.
Ich habe 5×3TB im RaidZ2 und komme damit per GBit LAN auf 70-100MB/s Schreib- und Leserate (kein ZIL, kein L2ARC). Das reicht für den Heimbereich vollkommen.
 
Ich habe 6x3 TB im RaidZ2 und dabei noch 2 SSDs mit 3 Partitionen (OS, ZIL, L2ARC), wobei OS und ZIL gespiegelt sind.

Durch den SSD-Cache läufts sehr fluffig (~500 MB/s Lesen und Schreiben nicht viel langsamer)

Bzgl. Erweiterung ist dann irgendwann geplant "einfach" noch ein vdev mit 6x3 TB daneben zu hängen, um dann auf 24 TB zu kommen.

Gruß
Markus
 
Errorsmith schrieb:
Warum ist das so? (Der Wikipedia Artikel erklärt zwar was es ist, nicht aber welche Probleme (bez RAID) damit auftauchen. Und: Ist das für handelsübliche Consumer Platten relevant?
Bei Shingled Recording überlappen sich die Magnetisierungen einzelner Bits. Es können daher nicht einzelne Bits geschrieben werden, es muss immer die komplette Spur neugeschrieben werden. Es gibt nun zwei Ansätze. Einmal können die Festplatten über ein erweitertes SAS-Protokoll Informationen entgegennehmen, wie sie die Spuren platzieren sollen. Dieses "Host Aware Shingled Recording" gibt es aber im Moment nur in Theorie. In der Praxis findet man nur die Alternative, bei welcher die Firmware die Spuren verwaltet. So eine Shingled Recording Platte ist in Spuren unterschiedlicher Länge unterteilt, dazwischen sind Bereiche mit klassischer Speichertechnik. Die Firmware legt Daten erst in den klassischen Bereichen ab und schreibt später die Spuren neu. Solche Festplatte sind also eher "Write once, read many"-Geräte als normale Platten. Das erste Schreiben geht noch schnell, da die Spuren leer sind. Spätere Änderungen tun richtig weh, da die Daten erst in die speziellen Bereiche geschrieben werden müssen, dann später oft Gigabytes an Spuren neu. Wenn nun ein RAID kommt, was seine Daten aus Sicht der Firmware über die Platte verteilt, wird es eklig. Wenn das RAID einen Rebuild macht und daher etliche Daten verändert, ist es unvorstellbar langsam...

Es gibt einige sehr günstige Festplatten mit Shingled Recording. Zum Beispiel Seagates ~250€ 8TB Platte ist so eine. Als reine Datengräber für die Filmsammlung sind die nicht mal uninteressant, die Daten werden ja so gut wie nie verändert: http://geizhals.de/seagate-archive-hdd-v2-8tb-st8000as0002-a1204027.html?hloc=at&hloc=de
 
und wieder was gelernt... danke!
Gehe ich als recht in der Annahme das meine oben vorgeschlagenen 3TB Seagate ST3000VN000 nicht von diesem Problem betroffen sind?

Grüße,
errorsmith
 
Zurück
Oben