Sheeva: Debian installieren

Debian auf einem Gerät ohne Tastatur und Monitor zu installieren mag vielleicht für den einen oder anderen erstmal abschreckend klingen, ist aber ziemlich einfach. Eigentlich hat Martin schon alles dazu gesagt: Debian on Plug Computers.Man zwar etwas Lesen, dafür funktioniert die Installation dann aber reibungslos.

Das Prinzip ist bei allen solchen Geräten immer gleich:

  1. man verbindet sich über eine serielle Konsole (heutzutage meist per USB) mit dem Gerät
  2. dort steht man am Prompt einer Art BIOS
  3. von diesem Prompt aus startet man ein Installationsprogramm (welches entweder per USB-Stick oder SD-Card direkt an dem Gerät hängt oder per Netz (meist tftp) geholt wird)

Natürlich kann man sich den Sheevaplug auch gleich mit einem vorinstallierten OS kaufen.

Hardware Teil 2 – der kleine Server

Linksys

Am Anfang war der Linksys, ein WRT54GL. Ausgestattet mit OpenWRT hat er sich zu Anfang auch wacker geschlagen (nicht schlecht für 200MHz und 16MB RAM!). Nur leider (sic) spendierte mir Alice dann doch eine schnellere DSL-Leistung und damit war er endgültig überfordert. Immerhin konnte ich aus den Erfahrungen mit OpenWRT eine ganze Menge mitnehmen…

FritzBox

Die FritzBox 7390 war damals recht neu und ein Hammerteil. Mit dem – für meinen Zweck – kleinen Nachteil, dass die Möglichkeiten in die Software bzw. Firmware einzugreifen eher beschänkt waren. Freetz war damals noch sehr instabil und unhandlich und ich wollte mir das schöne neue Teil auch nicht wegschiessen. Also blieb die FritzBox so wie sie war – und so läuft sie bis heute. Wunderbares Stück Hardware.

Sheeva

Da also die FritzBox als Bastelstück ausfiel, brauchte ich einen Ersatz und nahezu optimal geeignet für solche Zwecke ist ein SheevaPlug. In Deutschland gab es den damals leider nicht zu kaufen, ich habe meinen bei New IT bestellt. GB ist oft eine gute Wahl beim Einkauf, man muss eigentlich nur die Sache mit den Steckern im Auge behalten.

Der Plug kam vorinstalliert mit einen uralten Ubuntu, dieses habe ich gleich mal gegen ein Debian 6 ausgetauscht. Ich hatte damals keinerlei Erfahrung mit Ubuntu, Debian lag mir einfach näher. Andere Gründe gab es nicht. Übrigens läuft das Ding wie ein echter Server: nachdem erstmal alle Probleme beseitigt waren, habe ich den Plug nie wieder angefasst. Er läuft, und läuft…

Die Hardware ist leider nicht ganz unproblematisch. Das Teil ist passiv gekühlt, leider waren die Kühlrippen im Gehäuse (sprich die Ausparungen im Plastik) nicht sauber ausgearbeitet, sprich verstopft. Mit einer Nagelfeile habe ich dem Innenleben erstmal zu etwas Frischluft verholfen.

Als zweites habe ich das Netz auf 100MBit gedrosselt. Wirklich schnell ist die ARM-CPU eh nicht und auch die als Festplattenersatz arbeitende SD-Karte kann 1GBit nicht wirklich ausreizen. Diese Massnahme hat wirklich was gebracht. Das Drosseln kann einmal lokal auf dem Plug gemacht werden (kommt irgendwann später). Bei mir hängt der sheeva (so heisst das Teil bei mir im Netz) direkt an der FritzBox. Man kann daher auch dort einfach im Web-Interface unter System->Energiemonitor die Einstellungen für den jeweiligen Lan-Port auf GreenMode setzen, dann begrenzt schon die FritzBox den Durchlass an dieser Stelle auf 100MBit.

Hitzetod ist wohl häufigste Ursache für vorzeitiges Ableben bei den SheevaPlugs, mit den beiden o.g. Massnahmen ist dem abgeholfen.

Statt Festplatte kommt bei mir eine SD-Karte zum Einsatz. Hier empfehle ich aus leidvoller Erfahrung gute Marken-Qualität und mind. Class 10. Ich hatte im ersten Anlauf mit häufigen Abstürzen zu kämpfen, die Karte von damals wurde in einen Fotoapparat verbannt (wo sie noch immer gute Arbeit leistet). Mit einer guten Karte und dem richtigen Kernel (Achtung: der Debian Standard-Kernel läuft erstmal, wird aber immer wieder Probleme mit dem Filesystem auf der SD-Karte machen!) rennt die Kiste dann aber stabil. Und das muss sie auch – auf einem System ohne Tastatur und Monitor macht debuggen nur bedingt Spass. Immerhin bringt der Sheeva eine Debug-Schnittstelle per USB mit, über die kann man sich ein Terminal holen und ihm beim Booten zuschauen. Sollte man auf jeden Fall einmal machen, fühlt sich irgendwie cool an;)

Aus den Anfangstagen mit einigen Startproblemen hat sich ein Workaround bis heute erhalten: ich habe den sheeva auf eine Zeitschaltuhr gepackt. Er fährt sich so gegen 4:00 Uhr Morgens runter, gegen 4:30 schaltet die Uhr den Strom ab. Gegen 6:00 Uhr schaltet die Uhr wieder an, der sheeva hat sich einmal schön abgekühlt, fährt wieder hoch, macht dabei gleich mal ein fsck auf dem Root-Filesystem. Und ich habe Morgens als erstes eine Mail auf dem Handy mit der ersten Erfolgsmeldung des Tages. Ein guter Start in den Tag.

Ach ja, laut Hersteller zieht der Plug max. 20W, gemessen habe ich so etwa 3-5Watt (in derart niedrigen Regionen traue ich meinem Messgerät nicht so richtig), Dauerbetrieb tut hier also nicht weh. Die CPU zieht doch eine Menge weg, begrenzender Faktor in den meisten Experimenten war eigentlich immer der Speicher (512MB RAM).

Und noch ein ach ja: ein Tegra 3 mit 2GB RAM – so in etwa stelle ich mir den Nachfolger vor.

Hardware Teil 1 – der grosse Server

Das ist also der leistungsfähige Teil, der Server soll bei Bedarf ordentlich Leistung bereitstellen und ansonsten im Tiefschlaf versinken. Daraus ergeben sich direkt zwei Anforderungen:

  • wake on line (WOL) – damit wollen wir das Teil bei Bedarf wecken
  • suspend to ram (S3) – dorthin soll sich der Server von selbst schicken, sobald seine Dienste nicht mehr benötigt werden

Die beiden Anforderungen waren die Killer-Kriterien: beschafft habe ich alles schon 2010, eigentlich sollten Hardwareprobleme unter Linux da lange der Vergangenheit angehören. Denkste – mein erster Versuch mit einem ASrock K10N78FullHD-hSli scheiterte kläglich, S3 war einfach nicht zum Laufen zu bekommen. Letztlich ist es ein Asus M4N78 Pro geworden. Neben WOL und S3 waren die Forderungen:

  • 6 mal Sata (5 Disks für das Raid5 Datengrab und eine Bootplatte)
  • Onboard Grafik mit HDMI-Ausgang
  • ECC-Speicher
  • 1GB Ethernet

Die Grafik wegen dem Stromverbrauch (ich habe den Rechner per HDMI am TV hängen, genauso wie per Toslink am Receiver. Beides habe ich zwar nie wirklich benutzt – aber das wusste ich damals noch nicht). 1 GB Ethernet war damals schon Standard und ist Pflicht, wird spätestens klar, wenn man mal eben die 50GB einer BluRay wegschieben will. ECC-Speicher und Raid sind schon nett im Server, dann sagt die Maschine halt Bescheid, wenn was nicht stimmt. Apropos Raid: dass bauen wir später per Software auf, ob das Board Raid kann oder auch nicht, ist hier egal. Von Hardware-Raid im Homebereich rate ich immer ab: geht die Hardware kaputt, ist man darauf angewiesen, exakt die gleich Hardware wieder zu besorgen. Das ist meist gar nicht möglich, und wer will das schon: kaputte Hardware ist doch der schönste Grund aufzurüsten.

Ok, das Board war also klar, dazu einen X2 235e – das war damals ein gutes Verhältnis von Performance und Stromhunger. Dazu 4GB (gerne auch mehr, da ich keinen Swap will). Als Bootplatte habe ich eine 2.5” Platte im einem 3,5” Rahmen mit Schalldämpfung genommen (heute würde ich wohl einfach eine SSD nehmen). Ein grosses Problem ist immer das Netzteil. Der Rechner zieht etwa 50W idle, 70W unter Volllast. Ein 100W-Netzteil sollte es also tun – 80+ Platin bekommt man aber erst so ab 400W. Ich habe mich damals für ein be quit SFX300 entschieden. Für die Daten dann noch 5mal 1TB Platten, am besten schön leise und stromparende. Ich habe mich damals für die Spinpoint F2 EcoGreen entschieden.

Beim Gehäuse darauf achten, dass man möglichst grosse Gehäuselüfter verbauen kann – je grösser desto leiser. Damit ist das Teil auch schon fertig (ja genau, DVD oder sowas hat er nicht, braucht er nicht). Ich habe ihn im Arbeitszimmer platziert. Wohn- und Arbeitszimmer haben eine gemeinsame Wand an welcher auch noch TV und Co. stehen – es reichte also, ein Loch in die Wand zu bohren und HDMI und Toslink direkt durchzuwerfen. Als kleinen Luxus habe dem Rechner noch eine USV spendiert, schliesslich wird er nie ganz ausgeschaltet.

Da der Server bestimmungsgemäß still und leise im Hintergrunde werkeln soll, hat er den imho treffenden Namen ghost bekommen.

Soweit so kurz zur Hardware. Die Software ist eh spannender. Ich bin halt Entwickler, habe noch einen kleinen Hang zur Administration, aber der Hardware gehe ich soweit als möglich aus dem Weg. Der echte Schrauber wird das sicher belächeln, aber ich war schon froh und stolz als der selbst zusammengeschraubte Rechner dann tatsächlich lief (und vor allem läuft er jetzt nach gut 2 Jahren immer noch!).

Ach einen habe ich noch: Hardware altert eh schnell. Was aber geblieben ist: der Knackpunkt für Linux ist immer noch S3, also suspend to ram. WOL funktioniert wohl zumeist. Und schon mal als Vorgriff auf das Backup: bei aktuellen Projekten würde ich immer auf USB3 achten.