Core i5 - eierlegende Wollmilchsau - NAS / Router / VDR / ...

crossblade

Lt. Junior Grade
Registriert
Mai 2010
Beiträge
379
Ich weiß nicht ob das hier im richtigen Forum ist – irgendwie passt es überall und nirgends.
Falls es irgendwo anders besser hinpasst - liebe Moderatoren einfach verschieben ;)

Da offensichtlich zumindest etwas Interesse besteht möchte ich hier mal mein Projekt vorstellen:

Ich gehöre zur Klasse der Computer-Geeks (um nicht Nerds zu sagen) und bastele zur Zeit an einem neuen Spielzeug. :D

Bei diesem Projekt handelt es sich um eine eierlegende Wollmilchsau für das digitale Zuhause.
Ein kleiner PC der (inzwischen) viele Aufgaben übernehmen und dabei 24/7 laufen soll. Da ich ja kein Geld zum Fenster rauswerfen will und auch auf meine Ruhe wert lege soll das Projekt möglichst energiesparend sein. ;)

Aber wie immer wenn es an ein Projekt mit so hohen Zielen geht, steht man auf den Schultern von Riesen.:cool_alt:
Hier sind einige davon

Hardwareauswahl und Energiesparen:
https://www.computerbase.de/forum/threads/16-w-core-i3-530-komplettsystem-standard-v.685231/
danke Krautmaster – ohne diese Inspiration wär’ ich vermutlich nie auf ein solch energiesparendes System aufmerksam geworden und hätte vermutlich nie mit diesem Projekt angefangen.

http://breden.org.uk/2008/03/02/a-home-fileserver-using-zfs/
Diese Seite hat mich zu ersten Experimenten mit ZFS angeregt und auch letztendlich zu ZFS als Storage-Dateisystem bekehrt.



Nun aber ohne weitere umschweife zum Projekt:

Zuerst mal zur Hardware – ich weis der ist ziemlich vollgestopft :( , wird aber so benötigt.
Im Wesentlichen hab ich mich dabei an den Erfahrungen aus diesem Thread gerichtet, wobei ich (aufgrund von EFI) Intel-Mobos deutlich bevorzuge.:rolleyes:

MoBo Intel DH57DD
CPU Core i5 650
Ram 2x 4GB GeiL Green (also 8GB)
Prim HDD: Intel Postville SSD 160GB
4x WD 2TB EARS (4kb Sektoren)
Lan Intel Gigabit CT Desktop
TV Karte TechniSat SkyStar HD2
Netzteil BeQuiet Pure Power 300W
Case Antec P180
CPU Lüfter Intel Boxed

Die CPU hat auch vielleicht ein bisschen mehr power als nötig aber soll ja bei Transcoding/Dateisystemkompression nicht zum Engpass werden. :)

CPU Lüfter wollte ich nachbestellen, wenn ich mir sichre war was ich benötige. Das ist jedoch IMHO unnötig da der Lüfter im Idle unhörbar ist und die CPU unter Last auf ca. 60 Grad Celsius hält. :o

RAM, Netzwerk und TV Karte hab’ ich extra noch mal nachbestellt, als klar war, dass der Rechner mehr aufgaben als ursprünglich geplant übernehmen soll.

Die Hardware ist schon fertig zusammen gebaut und läuft soweit sauber und vor allem leise. :)
Erste Versuche mit Nexenta waren vielversprechend – Hardware wurde nach einigen Anfangsschwierigkeiten gut erkannt. Zunächst wollte die Netzwerkkarte nicht so richtig – aber nach einem Update des Kernels lief alles einwandfrei. :)
Aber dann kam der Schock :o trotz Eigentlich sinnvoller Hardware verbrauchte der Rechner fast 74W idle – eindeutig viel zu viel. Nach einigen Bios optimierungen waren es immer noch gigantische 62W. Nachdem Ich die Festplatten endlich im Spin down hatte waren es immer noch etwas über 40W. :o Eine testweise Reingeschobene Linux liveCD zeigte ohne jegliche Optimierung über 10W weniger. Also war die Ursache schon mal eingegrenzt. Nachforschungen ergaben, das der Solaris Kernel nicht alle Energiesparmassnahmen ausnutzt wie der Linux Kernel.:evillol:
Aber nicht verzagt – wozu können die Intel CPUs so gut virtualisieren. Dadurch kann man zum Beispiel dem Linux Kernel die ganze Hardware Arbeit aufbürden und trotzdem den Solaris Kernel mit ZFS nutzen. :) Erste Tests sowohl mit einer Ubuntu liveCD und VirtualBox als auch KVM waren sehr vielversprechend. Zumindest gelang es mir das bereits auf der Platte (SSD) befindliche Nexenta virtuel zu starten und ins (Host) Netzwerk zu bekommen. Aber wenn man schon mal daran geht, kann man gleich noch mehr mit dem Kistchen machen.:D

Dieser einzelne Rechner soll jetzt also einen ganzen Haufen Aufgaben übernehmen und ersetzt damit mehrere vorhandene Geräte.:)
NAS – zentrale Datenspeicherung aller wichtigen Daten (und zentrale Backups).
Router – Router mit DHCP Server, Trafic shaping, echter Firewall.
Proxy Server – Web Caching für das gesamte Netzwerk.
TV Server – Aufzeichnen gewünschter Sendungen und LiveTV Streaming.

Jede dieser Appliances soll dabei Virtuell auf einem Host-Linux laufen, dass sich nur um die Hardwareverwaltung kümmert.:freaky:

Als Host Betriebssystem kommt Arch Linux (Kernel 2.6.33) zum Einsatz. Mittels Powertop wird das OS auf möglichst geringen Energieverbrauch optimiert (SATA und PCIe Links abschalten, Harddisks Herunterfahren, Timer optimieren für längere Schlafzeiten usw. ) .

Momentan ergaben meine ersten peripheren power Messungen mit 1 aktiven Netzwerk link Festplatten im Spin down und TV Karte im power down Modus ;) OHNE virtuelle Maschienen, und ohne Tastatur / Maus / Monitor, im Idle 32W – was wegen der etwas gehobenen Hardware Ausstattung IMO schon ganz gut ist. :)

Ich werde - bei Interesse – die Verbrauchswerte mit feingetuntem System und mit den Virtuellen Maschienen an / aus posten. Ich hoffe, dass ich an dem bevorstehenden verlängerten Wochenende genug Zeit habe das System weiter fertig zu stellen. :freak:

Hier nun eine längliche Beschreibung der Software so wie ich sie mir zu diesem Zeitpunkt vorstelle:

Die Betriebssysteme werden auf die SSD installiert, welche im nachhinein mit ihren 160GB ganzschön knapp ist. :o
Für das Kern OS sind 8GB vorgesehen. Für die Firewall 4GB für den Proxy 32GB für den TV Server 64GB und für den ZFS ARK2-Cache 32GB. Wobei TV-Server und Proxy jeweils noch zweit Speicherplatz auf dem NAS haben sollen.

Als NAS Betriebssystem soll - wegen ZFS – Nexenta (nicht Nexenta stor.) eingesetzt werden. :D
Auf der nackten Hardware läuft und lief Nexenta schon ganz ordentlich – ich hoffe das durch die Virtualisierung da nicht al zu viel Performance flöten geht. :p
Es wird ein RaidZ über die vier (durchgereichten) Festplatten aufgebaut. Ich hoffe das ich sie nicht noch einmal Formatieren muss, da ich sie fürs testen schon mit nem ganzen Haufen Daten befüllt habe… Der ARK2 wird (leicht riskant) auf eine Cache Zeit von 12h hoch gesetzt. :king:
Der ARK2 Liegt auf der SSD und wirkt sowohl als präemptiver Lesecache als auch als Schreibcache – weshalb die Storage Platten sehr lange im spin down bleiben sollten (soweit die Theorie) Außerdem wird der Write Cache bei den Storage Festplatten aktiviert, da dies bei ZFS erfahrungsgemäß, dank der Prüfsummen kein Problem ist und die Schreibraten doch schon deutlich verbessert. :evillol:

Als Firewall nehme ich OpenBSD – da es einfach das sicherste Betriebssystem ist und somit kaum Angriffsfläche nach außen bietet. Das externe Interface wird vom Host durchgeschleift intern wird eine Bridge (vom Host bereitgestellt) :) eingesetzt, an der neben dem 2. Netzwerkanschluss auch die virtuellen Maschinen hängen. :rolleyes:

Für den Proxy Server soll Squid zum Einsatz kommen. Dadurch habe ich hoffentlich gute Netzwerk-Raten bei wiederkehrenden Downloads und Webseitenabrufen. :) natürlich gut abgeschirmt nach außend durch die virtuelle Maschiene - und Vieleicht ner internen DMZ.

Für den TV-Server soll VDR eingesetzt werden – bisher dachte ich da an ein Arch /Debian System. Weis zufällig jemand dazu wie genau ich möglichst einfach ein PCI-Device per KVM weiterreiche? :confused_alt:

So das war’s erstmal

Ich hoffe das hat euch so weit bisher Gefallen
Ich halte euch weiter auf dem Laufenden wenn ich erfolgreich mit den Schritten voran komme.

Crossblade
 
Klingt ja schon richtig interessant. Ich wünsche dir noch viel Spaß mit deinem... ja äh... mit deiner eierlegenden Wollmilchsau. ^^

Hoffentlich gibt es auch ein paar Leute, denen das hilft. :D
 
sehr schönes projekt finde ich. den idle verbrauch von unter 40w finde ich schon sher gut wenn man bedenkt was du da an hardware verbaut hast. viel weiter runter wirst du wohl auch nicht mehr kommen da du in dem bereich wohl schon mit stark sinkender effizienz vom netzteil zu kämpfen hast, mit hilfe von einem pico psu netzteil wäre da sicher noch etwas weniger möglich gewesen.
mich würde mal sehr interessieren was du da genau alles optimiert hat um den verbrauch so weit runter zu bekommen und in welchem lastbereich sich die cpu so bewegt.
 
Hallo mal wieder


Das Host System steht soweit und ist auch schon einigermaßen auf Energieverbrauch optimiert.:evillol:

Ich hab mir aber heute mal den Spaß gegönnt das System teilweise auseinander zu bauen um so am Watt Limbo (wie tief kommst du runter :D ) teilzunehmen.:D

Zuerst mal alles Raus was Energie in nur irgendeiner Form verschwendet. Also TV-Karte 2.Netzwerkkarte 4 der 8GB RAM und die Festplatten abgeklemmt.
Der Zugang zu dem Rechner wird per SSH hergestellt um Tastatur / Monitor einsparen zu können. :p

Das BIOS wurde nach den Hilfestellungen aus dem 16W Thread optimiert. Also HR-Timer aktiviert , Wake on Lan deaktiviert usw. Details was ich verändert habe kenn ich leider nicht mehr - ich hab da einfach zu lange mit rumgespielt.:freak:

Nun wurde in Linux direkt optimiert. Viele der Optimierungen waren schon vorab vorhanden und wurden jetzt nur systematisch von mir erfasst. Als Leitfaden diente dabei
http://www.lesswatts.org/projects/powertop/

Ausgangsbasis:
CPU Auslastung 1-4 %
Idle Verbrauch 31,7W

P-state auf on demand 7.8W – 23,9
( echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)
Power aware interrupt balancing 0.5W - 23.4W
SATA Link Power down <0,1W - 23.3/23.4W
PCIe Link powerdown 0.2W - 23.6
höhere writeback time (10s) 0.1W - 23.5W
(echo 1000 > /proc/sys/vm/dirty_writeback_centisecs)
Aktivieren des Laptop modus für speicher und HDD 0.2W - 23.3W
(echo 5 > /proc/sys/vm/laptop_mode)
Netzwerkkarte von 1000Mbit auf 100Mbit runter -0,7W also 22,6W

Ich weiss das ist noch nicht extem niedrig - aber schon ne ganz ordentliche Basis.

Wie man sieht kann man durch die korrekte Konfiguration des Betriebssystems einiges an Energieeinsparung herausholen. Dabei hat mich besonders überrascht, dass die Link Geschwindigkeit der Netzwerkkarte einen solch hohen Einfluss auf den Gesamtverbrauch hat. :o Die SATA Link Power down Funktion hat natürlich bei nur einer aktiven SSD keine so großen Auswirkungen – bei mehreren aktiven Festplatten könnte sich das durchaus ändern.;)

Nun da alles einigermaßen niedrig ist wurde Die Hardware wieder Schritt für Schritt eingebaut.
Die Power-Optionen wurden per Script immer wieder hergestellt. Um der hardware Zeit zu geben wurde jeweils ca 5 min gewartet bis sich das Power meter eingependelt hatte.

Festplatten wieder eingebaut (4x WD EARS 2TB Green) 46.3W
Festplatten im Spin down 24.3W :cool_alt:
Die Festplatten waren vermutlich im Ausgansmodus mit geparkten köpfen (typisch für WD green) aber noch rotierenden Scheiben.

Zweite Netzwerkkarte eingebaut 26.4W
zusätzlichen Gigabit Link über diese Hergestellt 27.5W (+1.1W)
(die Onboard Karte bleibt im 100Mbit Modus, da sie ja nur das Modem kontaktieren soll :) )


Arbeitsspeicher von 4 auf 8GB 29.6W Also nur 2.1W für 2 Riegel (erstaunlich wenig dank Eco Green :o )

TV-Karte eingebaut 37.2W :o
Über Treiber und PCI-Dev in den Power-Down Versetzt 32.4W
Scheint einiges zu bringen, aber das aufwecken funktioniert noch nicht – zumindest bleibt der Stromverbrauch gleich.:o :mad:

Wie man sieht benötigen Festplatten und TV Karte den Löwenanteil des Stromverbrauches.
Das Problem mit der Dornröschen TV Karte verschiebe ich auf später, da der VDR eh erst ganz zum Schluss an die Reihe kommt. :rolleyes:

Fazit für heute
Basissystem installiert jetzt geht es als nächstes an die erste Virtuelle Maschine – das NAS.

Crossblade
 
Schicker Smileywald :p
Hast du bei den Festplatten mit den hdparm -B -W -S -M Parametern experimentiert?
Außerdem solltest du mal laptop-mode-tools ausprobieren. Damit sollte sich der Verbrauch nochmal etwas senken lassen.

Grüße,
rakim
 
Danke für die hinweise

Die smilies sind doch da um benutzt zu werden ;)

Hdparm nutze ich für den Spin down der Festplatten
Spin Down (-S Option) ist natürlich aktiv und auf 10 min gestellt.
Vom -B modus habe ich schön die Finger weg gelassen (-B 255) – was man als Besitzer einer 3.5 Zoll Green von WD unbedingt machen sollte. Ansonsten kann man innerhalb von ein paar Wochen durch massiv vielen Load/ unload cycles die Festplatte schrotten :(. Da dies ein systematisches Problem ist fallen dann noch vermutlich mehrere Laufwerke aus dem RAID zeitnah aus – also Totalschaden :mad: - Das ist zumindest was ich in den einschlägigen Foren gelesen habe.
Write caches sind aktiviert (-W), sollten aber aus Energie Sicht nicht soo extrem viel bringen – die SSD als gigantischer Write Chache (dank ZFS ARK2) sollte da deutlich mehr Einfluss haben :freaky:
Akustik Management ist auf schnell Gestellt (-M 254) da der Rechner eh relativ selten auf die Platten zugreift und etwas abseits stehen soll. Ich denke das bringt eh nur während der Zugriffe Energieeinsparungen – und die sind ja relativ selten...

@ rakim
Da du ein Experte für Hdparm zu schein seinst habe ich eine Frage: Bringt es etwas mittels der -C Option die Festplatte in den Sleeping Modus zu versetzen (soll laut man Pages ein kleines bischen besser als spin down sein) ? Und machen das SATA Festplatten überhaupt mit? Mir ist irgendwie noch nicht ganz klar was der unterschied zum normalen Spin Down ist... :freak:

Den Laptop mode des Kernels hab ich – wie schon geschrieben installiert und aktiviert.
(mit echo 5 > /proc/sys/vm/laptop_mode )
Die Tools hab ich (noch) nicht instaliert – danke für den Hinweis.
Dazu noch 2 Fragen:
Bringt es etwas die Festplatte darüber zu managen, wenn man obige einstellungen mit hdparm gemacht hat? Das Frequenskaling wird doch vom Kernel gemacht – Bringt das von den Laptop Mode Tools im IDLE etwas?
Versteh mich bitte nicht falsch – die maximalfrequenz samt Turbo soll schön so bleiben, da ich manchmal wirklich absolut jedes Hz der CPU brauchen werde :evillol:

Danke nochmal für die Hinweise

Schöne Grüße
Crossblade
 
Hallo crossblade,

Toll, dass Du deinen eigenen Thread zu dem Interessanten Thema eröffnet hast. Ich finds klasse und freue mich schon mich Ende nächster Woche in das Thema zu stürzen. :)

Ich hoffe Du kommst gut vorwärts mit deinem "Multifunktions-System".


Bis demnächst
Gruß
mlampe
 
Zuletzt bearbeitet:
crossblade schrieb:
Vom -B modus habe ich schön die Finger weg gelassen (-B 255) – was man als Besitzer einer 3.5 Zoll Green von WD unbedingt machen sollte. Ansonsten kann man innerhalb von ein paar Wochen durch massiv vielen Load/ unload cycles die Festplatte schrotten :(. Da dies ein systematisches Problem ist fallen dann noch vermutlich mehrere Laufwerke aus dem RAID zeitnah aus – also Totalschaden :mad: - Das ist zumindest was ich in den einschlägigen Foren gelesen habe.
Stimmt, das Problem existiert. Wenn ich das meiste aus meinem System rausholen wollte, würde ich das aber selbst überprüfen, also für 10 Minuten mal einen sehr aggressiven Wert einstellen und jeweils vorher und nachher mit 'smartctl -a /dev/sda | grep Load_' den Anstieg überprüfen.
Allzu zaghaft muss man mit einer Festplatte auch nicht umgehen, immerhin sind die meist auf 300.000 - 600.000 LCCs spezifiziert (zumindest bei Notebookfestplatten).
Ich benutze bei meinem Server -B 127 -S 36 -M 128 -W 0, da ich auf den Platten kaum schreibe und generell keinen hohen Durchsatz brauche.

crossblade schrieb:
Da du ein Experte für Hdparm zu schein seinst habe ich eine Frage: Bringt es etwas mittels der -C Option die Festplatte in den Sleeping Modus zu versetzen (soll laut man Pages ein kleines bischen besser als spin down sein) ? Und machen das SATA Festplatten überhaupt mit? Mir ist irgendwie noch nicht ganz klar was der unterschied zum normalen Spin Down ist... :freak:
Experte bin ich nicht, ich weiß aber, dass -C nur den Status abfragt :p: -y ist für standby und -Y löst sleep aus.
IDE-/SATA-Geräte haben oft vier Powermodi:
D0: active, D1: idle, D2: standby, D3: sleep.
Wie groß der Unterschied im Stromverbrauch zwischen Standby und Sleep ist, steht oft im manual. Am besten probiert man es natürlich selbst aus.
Was genau in den Modi passiert ist wohl von Hersteller zu Hersteller unterschiedlich. Ältere Platten haben teilweise nur an, idle und aus :p.

crossblade schrieb:
Den Laptop mode des Kernels hab ich – wie schon geschrieben installiert und aktiviert.
(mit echo 5 > /proc/sys/vm/laptop_mode )
Die Tools hab ich (noch) nicht instaliert – danke für den Hinweis.
Was hast du denn installiert, wenn du die laptop-mode-tools nicht drauf hast? Das Paket hieß früher mal laptop-mode, man sollte aber möglichst die neuste Version verwenden, die schon länger laptop-mode-tools heißt.
Ich bin mir auch nicht sicher, ob echo 5 > /proc/sys/vm/laptop_mode irgendeinen Effekt hat, wenn laptop-mode-tools nicht installiert ist. Zwar sind dank LMT einige Stromsparoptionen in den Kernel gewandert, aber vollen Nutzen von LMT hat man nur, wenn das Paket auch installiert und konfiguriert ist.

crossblade schrieb:
Dazu noch 2 Fragen:
Bringt es etwas die Festplatte darüber zu managen, wenn man obige einstellungen mit hdparm gemacht hat?
Jo, LMT macht mehr als hdparm.

crossblade schrieb:
Das Frequenskaling wird doch vom Kernel gemacht – Bringt das von den Laptop Mode Tools im IDLE etwas? Versteh mich bitte nicht falsch – die maximalfrequenz samt Turbo soll schön so bleiben, da ich manchmal wirklich absolut jedes Hz der CPU brauchen werde :evillol:
Ich würde einfach über das Programm cpufrequtils und die Kernelmodule acpi-cpufreq und cpufreq-ondemand den Ondemand-Governor nutzen.
Ist der energieeffizienteste CPU-Governor. Ich bin noch nicht wirklich dazu gekommen, aber vielleicht kann man mit linux-phc, also Absenken der CPU-Spannung per Software, noch ein wenig am Verbrauch schrauben.

Grüße,
rakim
 
Danke für das Lob und die Hinweise.

Ich hatte noch keine Zeit die Ergebnisse genau zu quantifizieren, aber erste Test konnte ich schon machen ;)

Die Festplatten brauchen mit aktiviertem Head Parken tatsächlich weniger Strom. - in etwa insgesamt 0.6W , das ist natürlich im Spin down aufgefressen. ;) Ich habe auch das Gefühl, dass im Zugriff mit vielen sSeeks etwas weniger maximal verbraucht wird. Quantifizieren kann ich es jedoch noch nicht :freak:. Ich hoffe ich bekomme bald das NAS zum Funktionieren wie ich will – dann kann ich das ganze auch mit Duschsatzmessungen untermauern.

Laptop Mode hatte auch schon ohne installierte Laptop Mode Tools (LMT) einen kleinen aber messbaren Effekt. Mit LMT konnte ich nochmal 0,4 bis 0.5W herausholen – ohne mich besonders tief gehend mit der Konfiguration beschäftigt zu haben. :o Somit bin ich bei ziemlich genau 32W (Festplatten im Spin Down) Systemverbrauch – wenn ich nicht die VM für Nexenta aktiv habe. :(

Das man die Core Spannung per Software herunterregeln kann war mir neu. Das ist ja gerade für intel Board Besitzer genial. :D Ich werde es mal bei gelegenheit ausprobieren – traue mich aber im Moment nicht so richtig dran, da das System gerade so gut und stabil läuft und ich noch nicht viel Ahnung davon habe. Ich werde mich auf alle Fälle weiter damit beschäftigen und euch auf dem Laufenden halten.


Hier auch noch ein kurzer Statusbericht zum Projekt
Nachdem eine erste Dummheit von mirerst begangen und dann ausgemerzt wurde dauerte das ganze etwas länger. Hier ein Tip Solaris /Nexenta /freeBSD wenn man ZFS benutzen will immer in der 64bit Version installieren – diese beschleunigt den Speichermanager enorm – ARK2 Lässt sich auf 32Bit Systemen überhaupt nicht gescheit betreiben. :kotz:

Die VM mit Nexenta läuft. Zugriff auf das Netzwerk ist per Linux Bridge problemlos. Die Festplatten kann man durchreichen und nahezu perfekt darauf zugreifen.
ZFS und der große Zpool sind auch schon aktiv und provisorisch konfiguriert.Der ARK2 macht auch was er soll und beschleunigt gefühlt den Zugriff doch deutlich. :mussweg:

Ich habe momentan noch zwei-drei kleinere Problemchen
Auf die Festplatten wird, selbst bei ruhendem System immer wieder zugegriffen – was den Spin Down effektiv verhindert.:mad:
Bei manchen Dateioperationen sinkt der durchsatz extrem auf geradezu unerwartete Werte.:confused_alt:
Insgesamt ist der Durchsatz noch nicht auf dem von mir erwarteten Niveau.:rolleyes:

Ich werde wenn ich soweit Fertig bin Stromverbrauchswerte mit und ohne VM posten.
Auch plane ich hier ein paar Durchsatzbenchmarks mit und ohne ARK2 sowie Effizienzbenchmarks rein zu stellen.
Da das verlängerte Wochenende schon fast vorbei ist und ich mal wieder längst nicht so weit gekommen bin wie ich es mir vorgestellt habe :( könnte es allerdings erst mal noch ein kleines bisschen dauern...

Beste Grüße
Crossblade
 
OK Nexenta mit ZFS funktioniert endlich soweit. :D
Und wie Versprochen hier mal ein paar erste Benchmarks. :cool_alt:

Das Wichtigste vorweg ZFS ist schnell und mit ARK2 ist es sogar noch schneller. :) Aber falsche Konfiguration kann es in eine richtige Schnecke verwandeln. :(

Zur Hardware (WD EARS Warnung) :grr:
Wie bekannt ist habe ich 2 TB WD EARS Festplatten eingesetzt. Diese haben intern 4kb Blöcke melden aber nach außen 0.5kb Blöcke. :freak: Bei falschem Partitions alignment (zb. Start ab sektor 63 statt 64…) sind somit bei Standard Blockgrößen von 4kB immer zwei Blockzugriffe und im schlimmsten Fall Read-modify-wirte zugriffe nötig. :(
Die gute Nachricht ist ZFS fängt das meiste davon ab. Dank des Copy on Write und der variablen Blockgröße konnte ich selbst bei kleineren Dateiein nur einen minimalen Einbruch feststellen. Mit eingeschalteten ARK2 war sogar gar nichts mehr zu erkennen – zumindest nachdem die Festplatten richtig konfiguriert waren. ;)

Das bringt mich direkt zur Konfiguration.
Zunächst ZFS ist kein normales Dateisystem. Es verbraucht deutlich mehr Ressourcen als andere Dateisysteme. Wenn man es mit der Kompression übertreibt und auch noch Deduplikation immer einschaltet wird massiv CPU Leistung verbraucht. :(

Um die für mich ideale Konfiguration zu finden habe ich ein paar Benchmarks gemacht.
Diese sind nicht unbedingt auf andere Konfigurationen vergleich und übertragbar.
Die Benchmarks wurden unter Linux durchgeführt, das über die lokale Bridge auf auf die Nexenta VM zugegriffen hat. ;)

Zunächst einmal die rohen Geschwindigkeits Daten ermittelt an einem iSCSI Target. Dabei wurden ca. 10GB Daten auf ein ZVOL-Device kopiert (per dd auf das Raw-Device) und anschließend abgerufen.
Die Random Acces time hab ich versucht zu ermitteln indem ich viele kleine Dateien (linux Kernel Quellen 2.6.30 -2.6.33) auf ein auf dem ZVOL angelegtes EXT2 kopiert habe und anschließend mittels
time find / -name '*h*' -exec rm {} \;
Alle Dateien die h im Dateinamen haben (also auch die Header Files) gelöscht habe.

Zugriff ohne ARK2
Schreiben 248,6MB/s Lesen 317,2MB/s Random 33,7s also ca. 45,8 MB/s :)

Mit ARK2
Schreiben 117,3MB/s Lesen 264,8MB/s Random 11,7s also ca. 131,9MB/s :D

Man sieht zwar den deutlichen Einbruch der maximalen Lese und Schreib Geschwindigkeit, aber hat trotzdem einen deutlich höheren Durchsatz beim arbeiten. Also die SSD scheint zu arbeiten und machen was sie soll. :D
Bestimmt könnte man die sequenzielle Geschwindigkeit mit SSD durch ein paar Optimierungen weiter erhöhen aber da dies ja nicht mein Ziel ist, hab ich da keine weitere Arbeit rein gesteckt. ;)

Für die nächsten Tests hab ich ZFS Dateisysteme unter Linux mittels NFS ins Dateisystem gemountet.

Hier mein erster Random Benchmarkwert nocheinmal hierfür reproduziert.
Das Kopieren der Linux Kernel Quellen (2.6.33) mittels cp dauert 188,9s das ergibt eine gigantische Datenrate von *trommelwirbel* 2,1MB/s :o
Nochmal zum vergleich das gleiche für ein mit EXT2 Formatiertes iSCSI target 0,3s also ca.1,3GB/s :o:o
OK zugegeben letzteres läuft komplett im Cache ab –aber das sollte es bei ZFS auch… Zumindest würde ich eine Geschwindigkeit im Bereich der Festplattengeschwindigkeit oder der eines billigen NASes erwarten. :(

Die Experten erahnen es schon schuld war die von mir auf Maximal eingestellte Kompression (gzip9) und Deduplikation. Das kann man auch leicht erkenne wenn man mal den Verbrauchten Speicher auf dem Dateisystem anschaut. :)

Ich hab mal eine kleine Benchmark-Reihe dazu gemacht.
Der hierzu eingesetzte Linux Kernel hat 352MB an Daten – hauptsächlich als Source und test Dateien.


Used Kopierzeit Geschwindigkeit
Unkomprimiert 364MB 1,4s 251,4MB/s
Dedup=on 362MB 1,8s 195,5MB/s
Compression=on 141MB 1,9s 185,3MB/s
Dedup=on 140MB 1,9s 185,3MB/s
Alle mit Dedup
Gzip-1 104,5MB 8,7s 40,4MB/s
Gzip-5 99,8MB 9,2s 38,26MB/s
Gzip-9 97,5MB 174.2s 2,0MB/s
Zum Vergleich
EXT2 423MB 0,3s 1,3GB/S

Wie man sieht kosten Deduplikation und einfache Kompression relativ wenig Durchsatz und bringen schon gute ergebnisse. Das Problem mit Gzip-9 ist bekannt (als Bug) Aber die „normalen" Modi bringen ja auch schon genug. :D

Insbesondere möchte ich hervorheben das normale Kompression und Dedup kaum zu Leistungseinbußen was Geschwindigkeit betrifft geführt haben. Dabei hat sich die CPU Auslastung aber erwartungsgemäß erhöht.
Dedup führt offensichtlich bei gleichzeitig aktivierter Kompression zu kaum messbaren Leistungseinbußen – aber in diesem Fall auch zu kaum messbaren Speichervorteil.
Das wichtigste ist aber die Geschwindigkeit liegt mit Kompression und Deduplikation deutlich über dem Durchsatz von Gigabit Ethernet und einer „normalen“ internen Festplatte, so dass sich diese eigentlich immer lohnen. :D
zfs set dedup=on data
zfs set compression=on data


Also hab ich mal spaßeshalber die Gzip-5Version genommen und die verschiedenen alten Kernel parallel auf die Festplatte gelegt.
zpool list pool
Kernel 2.6.33 99,8MB DedupRatio 1,0
+Kernel 2.6.32 108,4MB Dedup Ratio 1,84
+Kernel 2.6.31 114,9MB Dedup Ratio 2,61

Also effizient und schnell - was will man mehr von einem Dateisystem :D

Grüße
Crossblade
 
Zuletzt bearbeitet:
Soo fast geschafft ZFS ist (beinahe) im Produktivbetrieb :)

Ich möchte hier noch ein paar Daten zur Effizienz von ZFS aus der Praxis nachreichen
Ich habe mal die aktuellen home Verzeichnisse Auf mit
zfs set dedup=on data/home
zfs set compression=on data/home

Eingestellte Dateisysteme per Netzwerk kopiert:
Dabei waren zwei Dateisysteme angelegt – die ich hier mal Lady und Gentleman nennen will…

Hier die Ergebnisse
Data Used
Lady 7,9GB 7,6GB
Gentleman 18,5GB 9,3GB
Dedup Ratio: 1,46
Das Lady Verzeichnis enthält viele vorkomprimierte Dateien z.B. jpg, doc, pdf …
Das Gentleman Verzeichnis ebenfalls einige vorkomprimierte sowie Massen an unkomprimierten (und manchmal doppelt vorhandenen) Quelltext-Dateien, sowie einige unkomprimierbare (jpg, pdf, usw.)
Dabei Überschneiden sich das Lady und Gentleman auch noch etwas (jpgs usw)
Der Durchsatz beim Kopieren über externes Netzwerk pendelt sich bei 80 bzw. 95 MB/s ein was ausreichend schnell ist – Bei dem Laptop sogar deutlich schneller als die interne Festplatte :D

Und nun zum Energieverbrauch des Ganzen:
Zunächst mal as wichtigste Festplatten fahren herunter und werden passend geweckt. :)
Dadurch hält sich der Mehrverbrauch in Grenzen – meistens jedenfalls mit aktivieren der in KVM gestarteten Nexenta VM steigt der Energieverbrauch um kaum messbare 0.2W – also von 31,9 auf 32,1W (schwankend). Natürlich erst nachdem das System gestartet ist und wieder im idle Modus ist (Ich hab ca. 10 min gewartet). Ich schiebe den Mehrverbrauch mal auf die deutlich höhere RAM Auslastung durch die VM und mehr Interrupts. ;)
Der Verbrauch unter Last lässt sich nicht so eindeutig ermitteln. Dieser hängt sehr stark von der Konfiguration der ZFS Dateisysteme ab. Insbesondere Deduplikation und Kompression erzeugen massiv CPU-Last was natürlich den Verbrauch beeinflusst. :rolleyes:
Eine weitere gute Nachricht ist, dass der ARK2 so funktioniert, wie er soll – d.h. Die Festplatten bleiben selbst bei vielen Schreibzugriffen extrem lange im Spin down. Wenn man den ARK2 abschaltet, werden zumindest die Festplatten deutlich öfter aus dem Spin Down aufgeweckt. :evillol:
Ich habe trotzdem versucht ein paar erste Verbrauchswerte zu ermitteln – diese sind aber mit Vorsicht zu genießen, da ich nie genau weiß was gerade intern passiert ist.

Hier mal ein Paar verbrauchswerte
VM Aus 31,9W
VM Idle 32,1W
Schreiben auf ZVOL 35,7W
Schreiben auf home 89,8W
Kopieren auf grab 65,2W
Kopieren auf backup 118,3W

Jetzt ist noch eine kurze Erklärung der verschiedenen Modi fällig.
Das ZVOL ist eine pseudo-Partition die direkt im ZPOOL liegt. Diese ist nicht Komprimiert und Dedupliziert und wird einfach per iSCSI Target an das host Linux durchgereicht.
Home sind wie der Name schon vermuten lässt die home Partitionen – Diese sind nach meinen Erfahrunge Dedupliziert aber nur mit compression=gzip-5 komprimiert
Kopieren auf Grab – hier hab ich etwas getrickst und von einer Externen Festplatte ~200GB auf eine Interne (unkomprimierte usw.) kopiert. Den Energieverbrauch hab ich angeschaut, nachdem der ARK und ARK2 übergelaufen sind und die Festplatten massiv zugriffe gemacht haben. :freak:
Kopieren auf backup – Da die Backups so effizient wie möglich sein sollen ist diese Volume mit gzip-5 Kompression und Deduplizierung erstellt. Dadurch hängt die CPU natürlich die ganze zeit bei 100% und die Festplatten haben auch einiges zu tun… :king:

Wie man sieht hält sich der Energieverbrauch eigentlich immer in grenzen – Die hohe CPU Last führt natürlich ggf. zu einem höheren Betriebsgeräusch meines Boxed Kühlers, ist aber IMHO zu verschmerzen.

Grüße
Crossblade
 
Hi crossblade,

Ich schaue immer mal wieder kurz rein, um auf dem Laufenden zu bleiben.

Du machst Dir echt viel Mühe und tüfftels, ich habe so das Gefühl, alles mögliche / machbare aus.
Ich freue mich auf die Bastelei. Ich habe gestern Nacht kurz vorm Schlafengehen das Gehäuse Lian Li Q08 und ein Netzteil bestellt. :)
Damit ich am Freitag abend und am WE was tun kann (ausmessen, planen,...):D

Bis demnächst

Gruß
mlampe

Achso: Das Gehäuse ist bei Caseking ab 20.05.2010 wohl lieferbar - habs da auch bestellt.
 
Zuletzt bearbeitet:
Hat jemand mal Lust zu testen wie performant das auf nem 2008r2 Hyper-V läuft? :-)

Hast du die möglichkeit mal die CIFS performance von einem Win7 PC aus zu testen?

MfG
 
Danke Danke für die Blumen :D
Ich versuche das System so systematisch wie möglich zu testen. Die Zahlen nehm ich ja sowieso für mich auf – und da muss ich nur noch mal etwas mehr Zeit zu investieren um es auf zu schreiben.
Außerdem hab ich im Moment die Zeit (Urlaub) um das Projekt voran zu treiben. Ebenfalls möchte ich das ja bald fertig bekommen und in den Produktiveinsatz überführen. ;)

@mlampe
Ich drücke dir bei deiner Prüfung und deinem Projekt die Daumen. :daumen: Wenn man fragen darf: Was für ein Netzteil hast du ausgewählt?

Nexenta sollte unter 2008r2 Hyper-V ähnlich schnell / langsam wie unter KVM laufen. Wichtig ist, dass die Hardware Virtualisierung unterstützt, dass nur einmal virtualiesiert wird (keine VM in der VM :freak: ) und ganz wichtig, das sich die Festplatten als RAW-Devices an die VM durchreichen lassen.

SMB ( auch CIFS) genannt kann ich nur sehr eingeschränkt mit Win7 Testen – das Netbook kann ordentlich darauf zugreifen und die Geschwindigkeit ist auch im erwarteten Rahmen, was allerdings wegen 100MBit (11MB/s) nicht so viel bedeutet. :( Ausführliche Tests mach ich dann, wenn gewünscht, wenn der Rechner in den vollen Produktivbetrieb übergeht.
Würde es etwas bringen Vista zu testen? Ich könnte einen bekannten Fragen, ob er seine Kiste vorbeibringt.

Grüße
Crossblade
 
Zuletzt bearbeitet:
Hey! Hab deinen Thread erst heut entdeckt, sehr zu meinem Bedauern, weil ich ihn gern früher gelesen hätte ...

Um es kurz zu machen:
Ich hatte so ungefähr das gleiche geplant, hab nen Server im Keller stehen, der mit nem Athlon II X2 245e und 8GB RAM auch so aufgebaut werden sollte.
Es kam Linux als Host und einige Linux/Windows VM´s zum Einsatz, um so ungefähr die gleichen Dinge zu erledigen wie dein Wolpertinger. Das System stand dann nach endlosen Nächten endlich, als mich ein massiver Fehler im Host zu einer Neuinstallation desselben gezwungen hat.

Da dacht ich mir, nochmal die ganze Scheiße konfigurieren? Neee, kein Bock :(

Jetzt ist da nur noch der Host mit Linux, der alle Funktionen übernimmt, die vorher die VM´s gemacht haben, hier und da ein bisschen weniger Funktionen, aber es passt. Jetzt sitzt der halt nur auf seinen 8GB RAM rum und weiß nichts damit zu tun :D

Deine Aktion mit dem Stromsparen schau ich mir noch genauer an, hatte da noch nicht soviel Feintuning reingesteckt...

Gruß
 
Das Problem ist ja, das ich bei Hyper-V den Legacy Network Adapter benutzen muss, weil es keine Integration Services für OSOL gibt. Und da ja bekanntlich der Legacy Adabter langsamer ist als der richtige, wäre es mal interessant ob es trotzdem möglich ist GBit auszulasten... Aber wenn das hier niemand im Einsatz hat muss ich es halt selber testen und zur not doch den grotten lahmen vmware server 2 nehmen. :-(.

P.S. Danke für dieses Projekt hier, ohne das wär ich nie auf den Trichter mit ZFS gekommen :-D
 
Hallo Crossblade

Sehr schönes Projekt! Es ist zwar ziemlich vollgestopft aber wenn alles Funktioniert bestimmt interessant.

Das mit dem ZFS klingt schon reichlich interessant. Ich hab es mir auch schon angeschaut aber mich nie an eine dauerhaftes System rangetraut.
Kannst du mal testen ob es geht das iSCSI Target mit Dedup zu betreiben.
Wie viel Platz verbrauchen dabei leere Partitionen?

Falls du das Problem immer noch hast – Durchreichen der PCI Devices an KVM ist eigentlich nicht so schwer:

1. Modul der PCI - Karte entladen.
2. Dann kvm **** -pcidevice host=pci bus:dev.fn

Ich werde es gespannt verfolgen
 
@Crossblade,

Danke für dein "Daumen drücken" ;)
Ich hoffe, dass das morgen gut funktioniert, bzw. hofffentlich auch statt findet. :rolleyes:

Ich habe mir das Be Quiet Straight Power 480W CM geholt.
Ja, ich weiß... und nein, bitte nicht schlagen... :rolleyes::rolleyes:

Ich habe mich wegen dem CM (Kabelmanagement) dafür entschieden.
Der Wirkungsgrad ist zwar bei der geringer Belastung etwas niedriger als bei einem PicoPSU,
aber ich werde nach jetzigem Stand kein 24x7 Betrieb damit fahren.
Dann ist der geringe Mehrverbrauch vernachlässigbar.

Ich überlege noch (nebenbei ;)), welches MB ich als Micro-ATX da hinein "pflanzen" soll. Das MSI H57... hat 7 interne SATA-Anschlüsse, leider aber eine RTL... LAN Karte. Bei Linux als Host ist das nicht schlimm, aber ohne Host ist das mit SOL, OSOL, Nexenta so ne Sache. Auch der JMicron-Controller für den 7ten Anschluß...

Naja, damit werde ich mich noch auseinandersetzen.

Als Sockel 1156 MB, Mini-ITX oder Micro-ATX, sollte schon etwas für mich dabei sein :D:D



Gruß
mlampe

Edit 13:11 Uhr:

Mich würde die CIFS (SMB) Performance auch interessieren. Zwischen Vista --> Win7 gibt es, soweit ich das weiß, keinen so großen Unterschied (Bezogen auf die Netzwerk-Performance) im Gegensatz zu WinXP --> Vista (Win7).
Daher ist Vista schon ein Anhaltspunkt für eine Aussage / einen Test.
 
Zuletzt bearbeitet:
Wow jetzt geht hier ganz schön die Post ab. Kaum schaut man mal ein Paar stunden hier nicht rein, sind schon einige neue Beiträge drin. Man kommt ja kaum noch zum basteln ;)

@Erdmännchen
Schade das es mit deinem Projekt nicht geklappt hat. Linux ist ja per se für alle aufgaben auch nicht schlecht. Man hat halt nicht diese strickte Trennung. Aber zuviel RAM kann man ja nie haben ;)
Normalerweise kann man die Clients noch gut retten selbst wenn der Host stirbt. Die meiste Arbeit steckt ja in den (virtuellen) Festplattenimages. Man kann auch die VMs nach und nach zu integrieren und immer mehr Funktionen migrieren, wenn man sich traut an einem Produktivsystem rum zu frickeln. :rolleyes:

@Sumatrabarbe
Es ist natürlich ärgerlich, wenn die Treiberintegration nicht gut funktioniert. Die emulation von netzwerkhardware ist natürlich unschön, da TCP offload nicht funktioniert. :( Anderseits kann man die MTU problemlos hoch setzen (im Gegensatz zu LANs) und so wieder einiges an overhead sparen… :evillol:

@AvS
Danke für den Tip für die PCI devices mit KVM. :D
ZVOLs kann man deduplizieren und sogar komprimieren. Das Dateisystem selbst wird dadurch zwar nicht größer aber es verbraucht weniger Platz im Pool – was ja auch schon mal etwas ist. :) Ich werde Irgendwann die Tage mal einen Test mit den verschiedenen Dateisystemen und (mehrfach vorhandenen) Daten machen.

@mlampe
Die BeQuiet sind doch vom Wirkungsgrad her auch OK. Ich weis ich nicht ob die PicoPSUs den Spin Up von so vielen HDDs mitmacht. Genau aus diesem Grund hab ich auch ein BeQuiet Pure Power 300W genommen. ;) Ich denke, das es letzendlich relativ knapp würde selbst mit nem 120W PicoPSU wenn mal alles vol aktiv ist und die Kiste unter Volllast steht.

Grüße
Crossblade
 
@crossblade,

Die Belastung des "Anlaufstroms", wenn das System eingeschaltet wird, ist (denke ich)
selbst mit 6 x WD Green HDD's schon einiges.
Das habe ich bis jetzt gar nicht bedacht. :rolleyes:
Aber mit dem NT bin ich nun in jedem Belang auf der sicheren Seite.
Und es ist günstiger als ein PicoPSU mit passendem externen NT. ;)

Davon abgesehen ist ja sonst ein "ATX Netzteil-Loch" im Gehäuse. :D:D

Gruß
mlampe
 
Zurück
Oben