Schlagwort-Archive: Homeserver

BitBastelei #79c – Der neuer Homeserver – Part 3 – Keep it Simple / Stromverbrauch: Fusion vs. i3

Part 1: PCIe Fehlersuche
Part 2: Suche nach neuen Komponenten
Part 3: Das Einfachste natürlich vergessen / Stromverbrauch: AMD Fusion vs. Intel Core i3 (Haswell)

BitBastelei #79a – Der neuer Homeserver – Part 1 – PCIe Fehlersuche

Guten Morgen Murphy. Nach einem Lüftertausch funktionierte der PCIe 16x-Slot auf meinem AMD Fusion-Board nicht mehr. Ungünstig, denn das Board gehört zu meinem Homeserver und der Slot beherbergt den zugehörigen RAID-Controller. In diesem Part geht es auf Fehlersuche um PCIe-Slot.

Ergänzung: Man sollte die Lüfter nicht wie im Video gezeigt per Hand drehen – kann Komponenten beschädigen.

Part 1: PCIe Fehlersuche
Part 2: Suche nach neuen Komponenten
Part 3: Das Einfachste natürlich vergessen / Stromverbrauch: AMD Fusion vs. Intel Core i3 (Haswell)

Eigenbau vs. Volkszähler

Derzeit baue ich wieder an meinen Erfassungssystemen – neben dem Temperaturmonitoring ist nun auch der in BB5 vorgestellte Stromzähler in etwas größerer Ausführung im Dauerbetrieb. Die Systeme selbst laufen zufriedenstellend, aber mir fehlte im Eigenbaufrontend etwas Eyecandy.

Erst mal zu meinem Eigenbau: Die Sensoren liefern ihre Daten über verschiedene Wege an meinen Homeserver – dort schreiben entsprechende Daemons die Daten in eine RRD-Datenbank weg. Bei Aufruf der GUI werden aus den Datenbanken entsprechende Diagramme erstellt bzw. Statistiken errechnet. Vorteil ist die effiziente und ausgereifte Speicherung der Daten: das verwendete RRDTool ist „gut abgehangen“ und speichert lediglich Differenzwerte, was eine Menge Platz spart. Die Erstellung der Grafiken nimmt ggf. etwas Zeit in Anspruch, mit entsprechendem Caching lässt sich das aber verschmerzen. Fertige Systeme für Interaktion mit den Programmen sind derzeit nicht eingebaut.

Auf einem der letzten Chaos Communication Congress’e war mir ein Projekt ins Auge gefallen, welches sich Volkszähler nennt – deren Ziele entsprechen ungefähr auch meinem System und da als Scriptsprache PHP zum Einsatz kommt würde das Ganze eine gute Basis für mich darstellen. Gesagt getan – dank der einfachen HTTP-API kann mein Sensor-Daemon die Daten – neben der weiterhin laufenden RRD – auch bei der Volkszähler-Middleware abliefern. Nach etwas Codestudium sogar mit Timestamp, welches einen Import meiner Daten möglich machen würde. Ein valider Aufruf sieht z.B. so aus: middleware.php/data/aaa-bbb-ccc-sen-sor-id.json?operation=add&value=123&ts=1334416684000.

Die GUI zeigt sich – abgesehen einiger Differenzen wegen meiner PHP-Konfiguration ganz kooperativ und stellt die Diagramme in perfekt angepasster Größe dar. Per Maus kann man einzelne Zeitbereiche nach Bedarf vergrößern, die Daten in anderen Formaten exportieren oder die angezeigten Sensoren dynamisch ändern.

Sorgen mache ich mir jedoch bei einem Blick unter die Haube: Alle Messwerte werden in eine – in diesem Fall MySQL – Datenbank geschrieben, bei den hier werdendeten Sensoren kommen so pro Monat hochgerechnet über 700MB an Datenvolumen zusammen. Meine RRD-Datenbank hat für eine Speicherdauer von mehreren Jahren gerade mal 4 MB. Etwas optimieren könnte man noch, so kann man wie auch bei RRD die Auflösung älterer Daten verringern, also z.B. nur einen Messpunkt alle 5 Minuten beibehalten, jedoch sind diese Funktionen nur von Haus aus dabei und müssten separat erstellt werden.

Da mein Server einiges an Speicher zu bieten hat werde ich mich an letzteres eventuell mal ransetzen, vorerst bleibt jedoch die gute, alte RRD in Betrieb.

Server-Redesign – watt is?

Soderle, meine heimischen Renovierungsarbeiten schreiten voran und heute musste der alte Stromverteiler dran glauben. Auch wenn die Verdopplung des Platzes eine große Erleichterung darstellt ist es ein Horror für jeden ITler: Der Strom muss aus. Drum drücken kann ich mich nicht, also mache ich das beste draus und gehe das Schon lange fällige Redesign meines Serversystems an. Vor Allem Ausfälle haben dafür gesorgt, dass der Hauptrechner auf mehreren Altsystemen liegt und zu allem Überfluss mangels Platz für Festplatten auf mehrere Gehäuse verteilt ist.

Damit soll nun Schuss sein – und wenn ich grade schon dabei bin wird auch gleich modernisiert:Statt des 200W fressende 19″ Server soll ein neues Board auf Basis des AMD Fusion den Stromzähler etwas schonen. Zwar bieten die Fusion-CPUs nicht gerade üppige Leistung, haben jedoch Hardwarevirtualisierung dessen Fehlen beim vorherigen x345 wohl die meisten Leistungseinbußen gefordert hatte.

Neues Board, neues Netzteil, also mal schnell in die Grabbelkiste gegriffen. Aber welches? Also Messgerät ausgepackt und mit jedem NT den Idle-Verbrauch des Boards gemessen. Am schlechtesten schnitt dabei wie erwartet die 400W-Noname-Büchse ab, welche sich knappe 41W mit einer HDD gönnte. Auf Platz 2 pendelte sich ein 350W-Netzteil des Typs „Rhombutech RT-350“ ein, was mit 37W hinter meinen Erwartungen zurückblieb. Nun verbaut ist ein „LC-Power LC8400P“ das mit etwas über 30W wohl unstrittig das effektivste des Tests ist.

Ein weiterer Punkt war die Systemplatte. Bisher hatte ich eine SCSI-Platte fürs System, was mit dem mit dem neuen Miniboard flach fällt. Stattdessen habe ich meine Eigenbau-SSD auagegraben: 16GB SD-Karten mit SATA-Konverter sind sicher keine Rennmaschine, aber da außer Logs keine dynamischen Daten drauf liegen ausreichend. Übergangsweise sorgen SATA-Controller und eine weitere NIC für den Betrieb, zukünftig sollen diese Karten auf PCIe-Pendants umgerüstet werden und so die PCI-Sots für ISDN (Asterisk) und Remote Management frei machen. Apropos Platten: Wenn man eine Festplatte umbaut und danach einen SMD-Kondensator am Finger hat ist das suboptimal. Zm Glück konnte ich das Ding wieder anlöten – sollte trotzdem eigentlich nicht passieren oO.

Beim OS muss das bisher eingesetzte Gentoo dran glauben: Proxmox soll nun als Virtualisierungsbasis dienen, die NAS und Steuerungsfunktionen wandern dank PCI-Passthrough in VMs. Großer Vorteil: Das ganze System wird modularer und lässt sich so einfacher verwalten – wenn die Leistung nicht reicht wird einfach ein neuer Clusterknoten hinzugefügt.

Ergebnis des Umbaus: Das System hängt jetzt an der Wand, funktioniert und benötigen zum Betrieb nun weniger als die Hälfte der vorherigen Leistung. Geschwindigkeitstechnisch ist erst mal kein all zu großer Unterschied feststellbar, allerdings muss sich das noch zeigen, wenn alle Systeme wieder voll Einsatzbereit sind. Ein kurioses Ergebnis am Rande: Durch die passive Kühlung des Boards ist nun mein Switch das lauteste Gerät im Raum – sehr ungewohnt, wenn man es gewohnt ist üblicherweise quasi Wand an Wand mit einer 19″ Brüllkiste einzuschlafen.

Nativer Client für VMWare ESXi unter Linux

VMWare ESXi bzw. VMWare ESX ist nahezu der „de facto Standard“ für die professionelle Virtualisierung. Die Verwaltung erfolgt dabei über den VMware Infrastructure Client – eine .NET-Software, welche aber momenten nicht für Linux vorhanden ist und auch unter wine nur bedingt funktioniert. Zwar gibt es mit Kodiak einen 3rd-Party-Client, welcher die komplette Verwaltung ermöglichen soll und dank Adobe AIR auch unter Linux laufen sollte, allerdings ist dieser derzeit in geschlossener Beta und steht noch nicht zum Download.Was viele nicht wissen: Es gibt einen einfachen Client direkt von VMWare. OK, nicht offiziell:

VMWares einfachere Variante „VMware Server“ nutzt in der aktuellen Version zur Verwaltung den Webbrowser. Der Konsolenzugriff wird dabei über ein Plugin ermöglicht, welches auch für Firefox unter Linux zur Verfügung steht. Mit einem kleinen trick kann man dieses Plugin dafür nutzen eine Verbindung zu ESX(i) aufzubauen und so immerhin die Konsolen anzuzeigen:

  1. Zuerst muss natürlich das Plugin installiert sein. Hierzu muss man seinen Browser auf einen installierten VMWare-Server verbinden und dort die Konsole öffnen. Da der VMWare-Server kostenlos ist sollte auch eine temporäre Installation machbar sein. Da das Plugin eine XPI ist lässt sie sich auch einmalig auslesen und (technisch gesehen) auf eine unbegrenzte Anzahl von Rechnern verteilen. Ob das Plugin installiert ist kann man bei Firefox 3.5 unter Extras -> Add-Ons -> Plugins prüfen:
    FF-Pluginliste: VMWare
  2. Nun gilt es das Plugin zu lokalisieren. Üblicherweise sollte es sich ein einem Ordner dieses Formates befinden:
    /home/username/.mozilla/firefox/****.default/extensions/VMwareVMRC@vmware.com/plugins
  3. Hier findet sich die Binärdatei des Plugins, welche auch ohne Browser gestartet werden kann. Mit
    ./vmware-vmrc -h
    startet eine GUI und fragt nach Server, Nutzer und Kennwort. Darauf folgt eine Liste mit VMs.
    VMWare Plugin - Login
    VMWare Plugin: VM-Liste

Achtung: Wählt man eine ausgeschaltete VM wird diese automatisch gestartet.

Das einbinden von CD-ISOs sowie Restart und Shutdown funktionieren Problemlos, USB-Geräte und Netzeinstellungen lassen sich nicht anpassen. Im VMWare-Forum findet sich eine Liste mit weiteren Optionen des Plugins.

Update: Offenbar funktioniert der Trick auch mit dem VMWare-Player:
vmplayer -h 1.2.3.4

Aus 2 mach 6 – Restrukturierung des Relaissystems

Bisher war mein Relaissystem recht einfach gehalten: Ein Relais schaltete die Beleuchtung an, ein zweites Sound und TV. Was damals ganz passabel aussah hat sich mit der Zeit als Stromfresser herausgestellt. Möchte ich MP3s hören ist der Fernseher auf Stand-By, wenn ich gar die Kopfhörer bemühe laufen einige Verstärker sinnlos weiter. Beim Licht sieht es nicht anders aus: Insgesamt 3 Lampen hingen bisher auf einem Relais und brachten es (obwohl ich das dem Messgerät nicht ganz abnehme) auf 350Watt Verbrauch.

Dabei lässt sich hier einiges machen: Eine Lampe hängt an meiner Werkbank und wird nicht gebraucht, wenn ich in meinem Wohnbereich bin. Ebenso kann die Wohnbereichsleuchte abgeschaltet bleiben wenn ich längere Zeit an der Werkbank sitze. Die dritte Lampe sitzt in der Zimmermitte und kann mit 2 Fassungen (theoretisch) beide Bereiche beleuchten. In letzter Zeit waren hier keine Birnen drin, jetzt kann mit einer 78-LED-Lampe der Wohnbereich ganz passabel ausgeleuchtet werden – für knappe 3W kann man da nicht meckern. Neben den 3 Lampen sind nun Soundmixer, Lautsprecher und TV einzel angesteuert. Am besten mach ich mir jetzt einen Green-IT-Aufkleber auf die Tür, scheint ja modern zu sein…

Nächste Baustelle ist mein „Serverraum“ – hier werden momentan die Fliesenbestände meines Vaters verbannt und so Platz geschaffen die Rechner samt Peripherie nicht mehr auf einem Haufen sondern einigermaßen sinnvoll unterzubringen. Ideal wäre natürlich ein 19″-Schrank (vorallem da fast alle Geräte in 19″-Ausführung vorhanden sind), aber sorgt die Dachschräge für Probleme – in die Ecke passen definitiv keine 42HE – kleinere Schränke mit serverkompatibler Einbautiefe sind mir mit ca. 400EUR NP etwas zu teuer und gebraucht unauffindbar.

Audio over Ethernet in Aktion

So ein kaputter Kopfhöreranschluss kann auch was Positives haben: Da ich momentan nicht auf mein Soundsystem verzichten wollte kam mir Pulseaudio wieder in den Sinn. OK, mein Server kann mangels 3.3V-fähiger Soundkarte noch immer nur Stereo über USB ausgeben, aber trotzdem ein gutes Stück besser als ein Headset. Inzwischen kann ich auch wieder die Nachbarn nerven: Mein Laptop streamed per RTP die Daten direkt zum Server, der sich um die Ausgabe kümmert. Das ganze funktioniert besser als gedacht – keine Lags o.ä. und auch von den Qualitätsproblemen, die mich beim letzten PA-Versuch am Mediacenter quälten, ist nichts mehr zu sehn. Schön, schön.

Bastelarbeiten zum Jahresende

Eine Woche Urlaub hinterlässt spuren. Der Schreibtisch hat sich in ein riesiges Steckbrett verwandelt und der Boden dürfte sich irgendwo unter der zentimeterdicken Schicht der Testverkabelung befinden. Obwohl die Post offenbar schon Weihnachtsurlaub hat und mir noch einiges an Hardware fehlt konnte ich doch einige Punke auf meiner Liste abarbeiten:

Zum einen habe ich den schwachen Dollar etwas ausgenutzt und meinem Server noch ein paar Festplatten spendiert. Neben dem bisherigem Terrabyte für die Daten (4x250GB, SATA-1, RAID 5 = effektiv 750GB) gesellen sich jetzt 2 weitere Terrabytechen ins Gehäuse (4x500GB, SATA-2, Controller PCI-X 64Bit, RAID 5 = effektiv 1,5TB) und erhöhen damit die Kapazität aller 13 Festplatten auf physikalische 3,1TB. OK, irgendwie muss ich noch einen Lüfter dabeizaubern – bei Volllast kratze ich an der 40°C-Marke. Zwar sind die Platten laut Datenblatt bis 60°C ausgelegt, aber man muss ja nichts riskieren.

1186811863

Nächster Punkt ist mein zusätzliches „Brandmeldesystem“. Zwar fehlt immernoch die endgültige Platine der Zentraleinheit, aber inzwischen hängen meine Rauchmeldeeinheiten in den Räumen, können lokal im Bandfall einen akustischen Alarm geben und liefern bereits Temperaturmesswerte an meinen Server, der fleißig Diagramme zeichnet. Die Stromversorgung läuft über ein überwachtes Schaltnetzteil, ist mit mehreren dezentralen Bleiakkus gepuffert, jeder Sensor hat eine separat abgesicherte Leitung und alle Sensoren werden (wenn die Zentraleinheit läuft) ständig auf korrekte Funktion überwacht.

Zwischendurch hat sich dann noch meine Workstation zu Wort gemeldet – ein RAID1 schützt vielleicht vor Festplattenausfällen, aber gegen Probleme des Dateisystems (ext3) ist auch das machtlos. 4 Stunden später lief ein neues Gentoo auf dem System und dank den letzten Updates klappt trotz 64Bit jetzt sogar Flash. UT ist natürlich auch drauf ;)

Meine Wetterstation närt sich langsam wieder einem funktionsfähigem Zustand – inzwischen konnte ich die Fehlfunktionen auf einen kaputten Sensor zurückführen. Zusammen mit dem Funksender können so jetzt wieder Temperatur und Luftfeuchte ermittelt werden. Auch der Luftdrucksensor müsste funktionieren, ist aber noch nicht kalibriert. Der Regensensor ist hardwareseitig auch fertig, hier fehlt noch eine passende Ergänzung Software. Gänzlich fehlen meine letzten Wunschsensoren für Wind und Sonnenenergie, die danach irgendwann mal in Angriff genommen werden.

Bei iSys bin ich noch nicht weiter. Zwar schau ich mir zwischendurch immer mal wieder einzelne Softwareteile an, aber auch hier warte ich noch auf meine Platinenbestellung, denn Softwaretest auf dem Steckbrett sind recht aufwändig.

Ansonsten herrscht das übliche Weihnachtsgeraffel – Geschenke organisieren etc. Nebenbei noch Zertifikate erneuern (ja, ich weiß, der IMAP-Server fehlt noch) und packen müsste ich natürlich auch noch…

Ungeplante Migration

Uff, Was für ein Marathon. Eigentlich hatte ich am Freitag ja noch gute Laune, als der Postbote – passend zum freien Tag – meinen neuen Server durch die Tür schleppte. 2 Sockel mit je einem soliden Xeon 3.06GHz, 4GB RAM und netten Spielereien wie z.B. IPMI (aka mein BIOS kann TCP/IP) sollten wieder für einige Zeit Beschäftigung bieten. Außerdem ist er deutlich leiser und dank Speedstep & Co dürften auch die Stromkosten etwas sinken. Da allerdings mit der neuen Hardware einige Anschlüsse wegfallen wollte ich eigentlich langsam umsteigen. Erst mal in Ruhe ein aktuelles Gentoo drauf, dann meine Steuerung passend umstellen und schlussendlich dann den alten Server abschalten.
Nunja, das war der Plan, die Praxis kam etwas überraschender. Gerade hatte ich das frische Gentoo auf der neuen Kiste gebootet und eine ellenlange Liste an Portage übergeben gab es als Quittung nur eine Fehlermeldung: Der Portage-Tree wäre ungültig. Huh? Der Tree liegt auf meinem Server und ist per NSF an alle Rechner verteilt – was soll da jetzt auf einmal ungültig sein. Die Antwort war nicht sehr erfreulich: Mein alter Server hatte den Dienst quittiert. Offenbar waren die frostigen Temperaturen zu viel für eine LAN-Karte, die nun den ganzen PCI-Bus lahmlegte. Naja, also die große Auswahl: Weiter arbeiten ohne Internet und mit „lediglich“ 100MBit/s im LAN oder direkt den neuen Server fertig aufsetzen. Naja, dir Grundfunktionen sollte der Neuling packen – Routing steckt in einer VM und zur Steuerung reicht PHP. PHP ist schon drauf, also Platten und Karten umgebaut und gestartet. Schnell noch VMware installieren – ach halt. Kein Internet. Auf den alten Platten lagen natürlich auch die Distfiles und somit eine passende Version des VMware Servers. Installiert, Konfiguriert, Gestartet, Connected, … nichts. Keine Reaktion. Hier macht sich der große Nachteil von Closed Source bemerkbar: Debuggen Fehlanzeige. „Es ist ein Fehler aufgetreten – der Fehler lautet:“ – nunja, kein Fehler ist auch ein Fehler.

OK, also den VMware-Server auf meinem Laptop installiert und notdürftig den Router zum Booten verholfen. Im Netz auch nichts Neues. Viele kennen den Fehler, nur eine Antwort sucht man vergebens. Mein erster Gedanke war nun direkt auf KVM zu setzen, da dies inzwischen sogar PCI-Karten an VMs weitergeben kann lässt sich damit viel Zeit vertreiben. Dummerweise unterstützen die CPUs keine Hardwarevirtualisierung, womit nur QEmu übrig bliebe. QEmu ist die Lösung, die mir schon öfter Offline-Tage beschert hatte, weil der Netzwerkstack nicht immer so will wie ich. Dann kam mir wieder VMware in den Sinn – die Version 2 des Servers ist seit kurzem stable, im entsprechenden VMware-Overlay fand sich auch schon ein passendes Ebuild und siehe da: Nach etwas gebastel startet sogar das neue Webinterface. OK, ich musste zwar den halben Laptop neu kompilieren, weil das Plugin nur mit USE=“accessibility“ funktioniert, aber immerhin konnte ich danach meine zwischenzeitlich neu geladene Version von Endian in eine serverseitige VM bannen.

Nächste Baustelle war meine Steuerung. Die Relaiskarte mit serieller Schnittstelle lässt sich ja noch recht einfach zur Zusammenarbeit überreden, bei meinen Schaltergebastel am Parallelport ist das schon schwerer: Zwar ist das Ganze prinzipiell auch mit dem neuen Server möglich, aber der Parallelport ist hier nur intern auf einem Pfostenstecker ausgeführt. Dumm, wenn man seinerzeit neben den Drähten auch die nötigen Widerstände direkt auf den Sub-D-Stecker gepflastert hat. Als Lösung muss wie immer der Holzhammer her: Jetzt pollt ein kleiner Atmega8 die Schalter und gibt die Daten seriell an den Server weiter. Als kleiner Bonus fragt der in der Leerlaufzeit noch meine 1wire-Thermometer ab, sodass ich trotz der Blockade beider COM-Ports nicht auf die Temperaturen verzichten muss. Auf Dauer auch keine Lösung, dafür habe ich wie schon erwähnt andere Pläne: Nachdem ich während dem Kompilieren etwas mit meinem AVR-Zeugs gebastelt habe konnte ich die ersten beiden MCP2515, trotz der von mir gehasstem SMD-Bauweise, zum reden bringen. Das ganze war so stabil, dass jetzt direkt ein kleines Paket mit MCP2515s zu mir unterwegs ist (diesmal in DIP). Dabei sind auch ein paar weitere Atmega’s – u.A. passend für einen iSysBus Devnode.

Inzwischen geht also sogar das Licht an, wenn ich den Schalter betätige und „mein“ Internet ist wie auch die Datenfreigaben zurück auf dem Schirm. Einzige dringende Problemstelle ist das Soundsystem: Meine alte Soundkarte lässt sich nicht in den neuen Slot prügeln – die Karte besteht auf ihre 5V Versorgungsspannung, mein Server hält nur Slots für 3,3V bereit. Schlecht, wenn der Server normal als Wecker dient: Zwar sollte mein Handy hier temporär ausreichen, aber irgendwie ist das nicht immer laut genug :/. Naja, ich mach mich dann auf die Suche nach einer passenden Soundkarte, aber erst mal begebe ich mich jetzt wieder an meinen Terminkalender: Die ersten Konzerttermine für 2009 zeichnen sich ab um zwischen Weihnachten und Neujahr war ja auch noch Etwas.