sale e pepe

Die Würze des Admin-Daseins

Inhalt

Home Fileserver

Wie im letzten Blogpost angedeutet, möchte ich diesmal über meinen Home Fileserver schreiben. Ursprünglich wollte ich keinen dedizierten Server aufsetzen und meine Daten auf dem Mac Mini speichern. Die beiden externen USB Platten mit dem OS X Software Mirror hatten sich als nicht sehr zuverlässig herausgestellt. Ob das nun am USB, an der Mirror Software oder am Plattencontroller lag kann ich nicht sagen. Deshalb die Entscheidung für meine Daten und Filme ein zuverlässiges System aufzusetzen. Und was liegt für einen Solaris Admin näher als das Ganze mit OpenSolaris und ZFS zu machen. Bei der Hardware habe ich mich an Constantin Gonzalez‘ Blogpost A Small and Energy-Efficient OpenSolaris Home Server orientiert. Die Idee anstatt eines Intel Atoms einen energiesparenden AMD Athlon II X2 240e zu verwenden der ECC Speicher unterstützt ist bestechend. Wenn die Daten auf Platte Checksummen-überprüft werden – wieso nicht auch im Speicher, wo es durchaus auch mal vorkommen kann, dass ein Bit im Speicher kippt? Letztendlich habe ich den Server mit fast den gleichen Komponenten wie Constantin zusammengestellt:

– Prozessor: AMD Athlon II X2 240e – Motherboard: ASUS M3A78-CM SocketAM2+ mATX (6 SATA Anschlüsse) – Speicher: 2 x KINGSTON 2GB DDR2 PC2-6400 800MHZ CL6

Als Gehäuse habe ich ein altes PC-Gehäuse mit neuem Netzteil verwendet. Mein Server steht im Dachboden, da habe ich keine Platz- oder Lärm Probleme. Die beiden am Mac Mini ausprobierten 1TB USB Platten sind zum Glück „normale“ SATA Platten und tun mittlerweile ihren Dienst als ZFS Datenmirror. Zwei weitere 1,5TB Platten werden den Mirror erweitern, sobald die bestellung eingetroffen ist. Als root Platte dient eine nicht mehr verwendete Notebook Platte mit 110GB. Demnächst wird eine weitere 2,5″ Platte frei womit dann der ZFS Spiegel angelegt wird. Zugegeben – hier ist der aktuelle Zustand mit einer ungespiegelte Root Partition nicht das, was man von einem vorsichtigen Sysadmin erwartet. Aber wie gesagt – Abhilfe ist in Sicht. Zum Glück hatte ich noch einen alten Röhrenmonitor mit dem ich die Grundinstallation von OpenSolaris 2009.06 machen konnte. Aktuell läuft der Server ohne Bildschirm und ich bin guter Dinge, dass ich in nächster Zeit keine Konsole brauchen werde. In einer Mac Umgebung ist AppleTalk als Fileserver Protokoll praktisch. Für Unix Systeme gibt es das freie Netatalk, welches AFP für die Macs zur Verfügung stellt. Die Aktuelle Version 2.0.5 compiliert unter OpenSolaris 2009.08 problemlos – man brauch sich nur den gcc und die BerkeleyDB über das Contrib-Repository (http://pkg.opensolaris.org/contrib/) zu installieren. Eine generelle Anleitung wie man Netatalk auf OpenSolaris zum Laufen bekommt habe ich hier gefunden. Auch ich habe nur eine Handvoll Benutzer und so reicht es, die Benutzergenehmigungen von Hand einzutragen und über die passwd zu verwalten. Der Hauptgrund wieso ich Netatalk installiert habe ist, dass seit Version 2.0.5 TimeMachine Backups unterstützt werden. Es ist einfach beruhigend zu wissen, dass man ein Backup seines Notebooks hat und dieses auf einem zuverlässigen Dateisystem wie ZFS liegt 😉 OpenSolaris verwendet als Bonjour Service „dns-sd“ (Multicast DNS (mDNS) & DNS Service Discovery (DNS-SD) Test Tool). Eine Anleitung wie man dieses konfiguriert findet man hier. Damit findet der Mac Mini sein AFP Share für TimeMachine und macht – wenn er nicht grad „schläft“ – brav seine regelmäßigen Backups auf den Server. Als Alternative zu dns-sd gibt es auch avahi für OpenSolaris – ich habe mich aber für die von Haus aus installierte Variante entschieden. Aktuell kämpfe ich noch etwas mit IPv6: Gateway zum IPv6 Provider (in meinem Fall SixXS) dient mein OpenWrt Router. Über AICCU (Automatic IPv6 Connectivity Client Utility) den SixXS verwendet wird der Tunnel aufgebaut, der radvd (Router Advertisement Daemon) sorgt dann dafür, dass das entsprechende Advertising ins lokale Netz für das IPv6 AutoConfig gemacht wird. Theoretisch sollte das auch funktionieren. Mit den Macs klappt das auch wunderbar, OpenSolaris ist da etwas heikler. Ich habe das Problem noch nicht bis zum Schluss analysiert – Fakt ist aber, dass OpenSolaris nur dann eine IPv6 Autokonfiguration macht wenn der radvd in seiner config auf „UnicastOnly“ gesetzt wird. Solaris/OpenSolaris verwendet zur IPv6 Konfiguration den ndp (Neighbor Discovery Protocol) Daemon. Dieser kann sowohl Client als auch advertiser (bei einen Router) sein. Offensichtlich verstehen sich der radvd und der ndp nicht so gut. Vielleicht liegt das Problem aber auch ganz wo anders: der ndp bekommt erst dann eine config wenn OpenSolaris vorher die (lokale) IPv6 Adresse des Routers angepingt hat. Wie gesagt – ich bin noch am analysieren. Für mich ist IPv6 deshalb spannend, weil ich ein eigenes Subnetz habe und mich so vom Arbeitsplatz direkt mit die einzelnen Hosts zuhause verbinden kann. Mal schnell eben etwas umkonfigurieren, nachschauen, hinkopieren, … ohne NAT-Problematik ist genial. An weiteren Diensten ist der OpenSolaris mein lokaler NTP, DNS und DHCP Server. Weiteres wird u.U. noch folgen, wobei ich die Dienste des OpenWRT Routers vollständig übernehmen werde (FTP Server für die WebCams, IPv6 Gateway (wenn ich AICCU unter OpenSolaris zum compilieren bringen würde), dyndns cronjob und NFS Server für die (jetzt im Schlafzimmer stehende) dbox. Alles in allem kann ich sagen, dass ich – bis auf die ipv6 Problematik – mit meinem Setup zufrieden bin. Was Andere mit ihrem Linux-Home Server machen tut bei mir OpenSolaris mit dem Vorteil von ZFS für meine Daten, Fotos, Filme und Dokumente. Ein Enterprise-Grade NAS Server für Zuhause. Zumindest was File Services betrifft.

An dieser Stelle herzlichen Dank an Constantin für die Vorarbeit in Sachen Analyse für passende Hardware.

Home Entertainment System

Wie es im Leben so ist, manchmal findet man schlicht keine Zeit für die Dinge, die man sich vorgenommen hat. Ich wollte schon länger mal über mein „Home Entertainment System“ (was für ein aufgeblasenes, tolles Wort :-/ ) bloggen. Jetzt nehm‘ ich mir einfach die Zeit. Dafür ist das System nun seit zwei Monaten in Betrieb und „gut eingefahren“.

Das Wohnzimmer sollte neue Möbel bekommen, ein neuer Fernseher musste her. Und wenn man schon dabei ist – wieso nicht auch noch darüber nachdenken, wie die bewegten Bilder oder der Ton in den Fernseher gelangt? Bisher sah es bei uns zuhause aus wie bei jedem: Videorekorder, DVD Player und Sat-Empfänger standen neben/unter dem Fernseher. Der Videorekorder war eigentlich schon seit langem obsolet. Man hatte zwar die paar Videokassetten von denen man sich eingebildet hat, man müsse sie unbedingt nochmal ansehen. Vom Fernsehen aufgezeichnet wurde aber schon über Netzwerk an eine USB Platte, die an einem OpenWRT Router hing. Die DBox 2 kann das, Neutrino auf der DBox ist mittlerweile sehr mächtig und es blieben wenig Wünsche offen. Außer vielleicht hochauflösendes Fernsehen, das kann die DBox nicht. Und wenn man sich schon einen HD Fernseher kauft soll HD zumindest möglich sein. Also musste eine neue Lösung her. Eine, die den bereits gehobenen Ansprüchen (man war ja schon verwöhnt) genügt und noch was besseres dazu bietet, schick aussieht und vielleicht auch noch dieses und jenes… Meine Frau war mittlerweile auch verwöhnt und nicht mehr so leicht zufrieden zu stellen. Die Basisvoraussetzungen waren erstmal das, wofür wir die DBox bereits nutzten: Satelliten Fernsehen empfangen (Kabel wird für mich nie eine Option sein!), aufzeichnen, abspielen, im LAN eingebunden und leicht zu bedienen. Und dann sollte das neue Kistchen HD können. Und natürlich sollte es keine Black-Box sein. Tja, und wenn man sich so umhört kommt man schnell auf eine DreamBox oder eine Reel. Erstere (die DM 8000 HD PVR) kostet um die 850 Euro, eine Reelbox über 1000. Eine ganze Menge Holz… Die nächste Überlegung war, dass man sich so ne Box eigentlich auch ganz gut selbst basteln könnte. Mit Linux und dem Zeug. Aber es soll auch ne ganze Menge können: HD-Sat Aufnahmen aufnehmen und gleichzeitig abspielen, 1080p Material abspielen, und das in verschiedenen Containern, die gängigen Codecs sollten abspielbar sein. Die Kiste muss also schon was leisten. Ein Atom ION hätte vielleicht das meiste grad noch schaffen können. Aber einen 1080p mkv mit dts oder AC3 abspielen war dann doch zuviel des Guten. Zumindest hab‘ ich das bei einem Freund gesehen und es hat weh getan. Schweren Herzens – der Atom wäre halt doch stromsparend gewesen – musste ich mich also nach einer anderen Lösung umschauen. Um es vorweg zu nehmen: Systeme die die notwendige Leistung bringen und auch noch einigermaßen so aussehen, dass man sie ins Wohnzimmer stellen kann kosten alle ab 500 Euro aufwärts, bis zu einem Preis von 1.700 Euro – echt der Wahnsinn! Also habe ich nicht mehr lange weitergesucht und mich zu dem entschlossen, was ich eh im Hinterkopf hatte: einen Mac Mini. Ab 549 Euro Liste minus Uni-Mitarbeiter-Rabatt kosten die kleinen hübschen Dinger. Ich habe mich dann für die mittelgroße Variante entschieden, mit 2.53 Ghz Core2Duo Prozessor, 4GB Hauptspeicher und 320GB Platte. 14 Watt im Leerlaufbetrieb: niedriger Stromverbrauch war mir wichtig, auch wenn’s kein Atom sein konnte. Hier ein Vergleich mit anderen Desktop PCs: http://www.sust-it.net/energy_saving.php?id=20&start=80&sd=1&tariff=16 Nun, das Teil sieht – wie man es von Apple gewohnt ist – schick aus und man stellt es gerne in ein modernes Wohnzimmer. Auf alle Fälle macht es mehr her, als eine schwarze, längliche Box wie es die DBox, Reel, oder DreamBox ist.

Der Fernseher hängt mit einem DisplayPort-nach-HDMI Stecker am MacMini und läuft in Full HD Auflösung. Das hat auf Anhieb geklappt. Lediglich der Ton ist (noch) mit einem Klinkenkabel angeschlossen. Der MacMini hätte auch einen optisch-digitalen Ausgang. Die Audio-Geschichte wird vmtl. eines meiner nächsten Projekt sein. Als Sat Karte habe ich mich für die Terratec S7 entschieden. Baugleich mit der Elgato EyeTV Sat kann sie DVB-S und DVB-S2 und wird per USB angeschlossen. Außerdem hat sie einen Schacht für ein CAM Modul. PayTV (sofern man das haben wollen würde) stünde also nichts im Weg. EyeTV von Elgato benutze ich schon länger auf meinem MacBook Pro mit einem EyeTV Diversity DVB-T Stick. Und ich bin sehr zufrieden damit. TimeShift (also live zurückspulen, einstellbar wielange), Aufnahmen über lokale Timer Liste oder online über tvtv.de programmierbar, EPG Informationen usw. Alles, was man zum Live-schauen und aufnehmen braucht. Auch HD 1080p klappt ohne ruckeln und Probleme. Schick ist auch die EyeTV Anwendung die es für’s iPhone/iPad gibt: die Aufnahmen werden defaultmäßig immer auch in einem iPhone kompatiblen (verkleinerten) Format abgespeichert. Und mein MacMini hat genug „bumms“ um auch LiveTV on-the-fly für’s iPhone zu re-encoden. Über die EyeTV App (WLAN) oder der https://live3g.eyetv.com (UMTS) kann man also auch von unterwegs fernsehen. Als Multimediacenter-Software habe ich mich für Plex entschieden. Plex (www.plexapp.com) ist ein XMBC Derivat welches zugegebenermaßen (ganz wie XMBC selbst) programmiertechnisch der blanke Horror ist. Es tut aber was es soll und wenn man es mal konfiguriert hat (auch davon kann man graue Haare bekommen!) kommt auch ein Laie sher schnell damit zurecht. Plex kann mit allen möglichen Medien umgehen: Videos, Audio, Bilder, Streams und vereint alles in einer ansprechenden Oberfläche, die auch mit der spartanischen Mac Fernbedienung bedient werden kann. Damit hat man eine Videothek aus all den bereits aufgezeichneten Filmen und Serien, samt Informationen zu Film/Serie/Staffel/Folge, Rezensionen und Artwork. Schick anzusehen, macht was her und ist gut bedienbar. Infos zu den Medien werden automatisch aus dem Netz geholt – thetvdb.com oder immdb.org. Zum Anzeigen des Familienalbums verwende ich aber doch lieber FrontRow. FrontRow ist das Mac-eigene Media Center über das man auch Videos, Musik, DVD und Bilder abspielen kann. Allerdings würde ich keine größere Mediathek damit verwalten wollen. Zum Bilder anzeigen ist es aber ideal, da Fotos in iPhoto und Aperture verwaltet werden. Eine Diashow zum letzten Südtirol Urlaub lässt sich dann mit ein paar Klicks starten. Ein weiterer Punkt wieso ich die Mac Lösung als HTPC bevorzugt hatte ist die iTunes Store Mediathek: man kann darüber Filme ausleihen oder kaufen. Einen FIlm zu leihen ist zwar eine Kleinigkeit teurer als in der Videothek um die Ecke. Es ist aber sehr praktisch und man muss vor allem nicht nach Draußen. Hat man einen Film ausgeliehen kann er innerhalb von 30 Tagen angesehen werden. Wurde der Film einmal gestartet, bleiben 48 Stunden um ihn zu Ende anzusehen. Als iPhone Benutzer finde ich auch Air Video ein nützliches Programm: auf dem MacMini läuft der (kostenlose) Air Video Server. Dieser wird so konfiguriert, dass er bestimmte Verzeichnisse mit Filmen durchsucht. Auf dem iPhone kann man mit der Air Video App (2,39 Euro) nun die Filme in den Verzeichnissen ansehen. Der Air Video Server kümmert sich um die Konvertierung in ein iPhone gerechtes Format. Ein HD Film zu konvertieren schafft mein MacMini noch, kleiner dürfte er allerdings nicht sein. Auch von unterwegs kann man auf seine Videothek zugreifen. Ähnlich dem EyeTV Live3G WebApp greift man über einen Server und einer vorher definierten Zahlenkombination auf den Air Video Server zu. Praktisch für Zug, Bus, Badewanne oder abends für’s Bett 😉 Schade, dass OS X keine BluRays unterstützt. Man könnte zwar im MacMini ein BluRay Laufwerk einbauen, BluRays mit Kopierschutz werden aber nicht abgespielt. Die DVD Sammlung läuft aber ohne Probleme. Und Musik wird über iTunes (oder Plex) abgespielt, egal ob Web Radio oder etwas aus der digitalisierte CD Sammlung. Somit entfällt auch der DVD/CD Player in Hardware neben dem Fernseher und ein Radio. Vielleicht macht es Sinn, sich eine AirportExpress Basisstation zu holen. Das ist eine mini-WLan Station mit Audio Ausgang. Damit könnte man z.B. in der Badewanne Musik hören, welche vom MacMini abgespielt wird. Doch die knapp 90 Euro sind mir bisher zu teuer – Musik kann man auch über einen iPod oder dem iPhone abspielen 😉

Bei aller Begeisterung über das Entertainment System gibt es nicht nur positives. So kann ich z.B. die bei der Terratec Sat Karte (oder der DVB-T Diversity) mitgelieferten Fernsteuerung nicht verwenden, da sie offensichtlich dieselben Infrarot Codes wie der Fernseher (LG) verwendet. Wenn ich etwa den Fernseher mit seiner Fernbedienung leiser schalten möchte, wechselt EyeTV den Kanal. Deshalb musste ich den Infrarot Empfänger der Sat Karte zukleben bzw. in den Schrank legen, damit sich der Fernseher von der Couch aus bedienen lässt. Umgekehrt scheint sich der Fernseher von der Sat-Fernsteuerung nicht aus dem Tritt bringen zu lassen. Vielleicht finde ich hierzu noch eine Lösung – schön ist das aber nicht. Eine Logitech Harmony würde dieses Problem vielleicht lösen – über 100 Euro für eine Fernbedienung sind mir aber definitiv viel zu teuer. Und die Alu-Fernbedienung vom Mac tut’s ja auch. Das nächste was unschön ist, ist der Schlafmodus vom. Wenn der MacMini aufwacht kommt es ab und zu vor, dass er sich nach ein paar Sekunden wieder schlafen legt. Danach, nach einem zweiten Aufwecken, läuft er wie er soll. Keine Ahnung woran das liegen könnte. Auch das Umschalten zwischen Mediathek und Live-Fernsehen ist etwas umständlich und dauert schon seine 5-10 Sekunden: Plex beendet sich und startet EyeTV. Der Kanalwechsel in EyeTV geht aber schnell – schneller als ich es von der DBox gewohnt bin. Um zurück zu Plex zu gelangen muss man ebenfalls ein paar Sekunden Geduld haben: beim Beenden von EyeTV startet sich Plex automatisch wieder. Damit kann aber meine Frau gut leben, meint sie. Und ich auch 😉 Ursprünglich hatte ich vor, den MacMini mit zwei USB Platten zu bestücken, darüber einen Software-Mirror zu legen und dort Filme abzulegen. Dieses Unterfangen habe ich aber schnell wieder aufgegeben: es gab immer mal wieder Aussetzer beim Abspielen von Filmen und ein Klackern der Platten. Das klang genau so wie eine Platte, die kurz davor ist, den Geist aufzugeben. Kurzzeitig hatte ich mit dem Gedanken gespielt, die noch existierenden ZFS Treiber und Tools für OSX zu installieren, habe mich dann aber doch entschlossen, den für einen späteren Zeitpunkt vorgesehenen Home-Fileserver vorzuziehen und diesen gleich zu implementieren. Davon aber an einer anderen Stelle mehr. Seither laufen die beiden SATA Platten – jetzt intern eingebaut – ohne Probleme und Fehler in einem ZFS Mirror im Fileserver. Keine Ahnung woran es lag, am USB Bus vom Mini, am Controller im USB Gehäuse, an der RAID Software vom OSX. Auf jeden Fall kann ich die Kombination von 2 gemirrorten USB Platten am Mini nicht empfehlen. Nun, einige meiner Kollegen hatten mich als verrückt bezeichnet, einen „ach so teuren“ Mac Mini als Medienmaschine zu verwenden. Aber alles in allem ist er – wenn überhaupt – unwesentlich teurer als eine vergleichbare Windows Media oder Linux Maschine mit derselben Leistung bzw. Funktionsumfang. Die Installation (Hardware und Software) liegt preislich unter 1000 Euro. Eine im Funktionsumfang eingeschränktere Dream oder Reel Box hätte mehr gekostet, ein Windows Media Center-PC wäre ebenfalls unwesentlich (wenn überhaupt!) billiger gewesen. Und keine Ahnung wie gut man so eine Lösung (Air Video, Filme ausleihen, DVBS/DVBS2 TV, Streaming auf’s iPhone) mit einem Linux System hätte zusammenstellen können. Auf jeden Fall wäre es ein viel größerer Aufwand gewesen. Der Preis eines MacMini ist also kein Argument. Meiner Meinung ist der Mini die ideale Maschine: sparsam, leistungsstark, klein, hübsch und softwaretechnisch von Haus aus gut ausgestattet. An Zusatzsoftware schlägt – in meinem Fall – nur die EyeTV Vollizenz zu buche (wenn man sie denn haben will, EyeTV Lite ist bei der Sat Karte bereits dabei). Der Rest ist kostenlose Software. Ein Windows Media Center kostet um die 100 Euro. Alles was man dort bekommt ist bereits Bestandteil von Mac OS X. Wer eine schickere Oberfläche haben möchte, kann zum kostenlosen Plex greifen. Ich glaube, ich habe die für mich perfekte Lösung gefunden und bin bisher vollauf zufrieden. Am Meisten freut es mich aber, mich nicht täglich über das aufregen zu müssen, was das Fernsehen zu bieten hat: kein Fremdschämen, kein Peep-Show-TV, keine Köche, keine sinnlosen pseudo-Reportagen über Zeug/Leute/Restaurants/Dinge/Polizisten/Wohnungen/Richter/Reiche/Arme/michpacktgleichwiederdiewut! – und keine Werbung. Man schaut das, wozu man Lust hat. Und wann man Lust hat. Und am Besten liest man sowieso ein gutes Buch.

In diesem Sinne…