Das SS4200-EHW hat eine 1,6GHz Celeron 420 CPU, 512 MB DDR2 RAM, Platz für 4 Stück 3,5" SATA2-Platten (Nicht Hot-Swap!), 1 Gb LAN, 4 x USB2 und 2 x eSATA. Das Teil wird zB. auch von Fujitsu Siemens für deren Scaleo Home Server verwendet. Optional gibt's den Server auch mit einem vorinstallierten Linux und Software von EMC (SS4200-E).
Da ich mir aber selber das Betriebssystem installieren und konfigurieren will, habe ich die Variante ohne Software gekauft. Beim Auspacken kam dann auch schon mal die erste Überraschung, denn das Stromkabel (ganz normales Kaltgeräte-Kabel) hat sich Intel gespart - egal, habe eh genug davon herumliegen. Dafür war ein Netzwerkkabel dabei.
Da das Teil keine Grafikkarte eingebaut hat, habe ich mich dazu entschlossen, über die serielle Console zu installieren. Man könnte zwar über ein PCIe x1 -> PCIe x16 Riser-Kabel den PCIe x1 Anschluss am Mainboard für eine Grafikkarte nützen, aber das war mir zu aufwendig und ein Server braucht eh keine Grafikkarte. Die erzeugt nur zusätzliche Hitze im System.
Um die serielle Console zu nutzen, muss man einfach den RS232-Anschluss vom Mainboard nach aussen führen. Dazu gibt's im Gehäuse hinten schon die entsprechende Öffnung vorgestanzt, man muss also nur das Kabel am Mainboard anschliessen, das Loch im Gehäuse durchbrechen und den seriellen Stecker am Gehäuse montieren.
Achtung!
Die Belegung der IDC10-Buchse am Mainboard ist nach dem Intel/DTK Layout und nicht wie das gängigere AT/Everex Layout. Ich habe mir das Kabel einfach schnell selber gebaut (Bauteile gibt's zB. beim Conrad um die Ecke). Dazu nimmt man am besten gleich Stecker und Buchsen, die man auf ein Flachbandkabel pressen kann. Vom 10-poligen Flachbandkabel entfernt man dann eine Litze und presst das Kabel auf die IDC10-Buchse und den DB9-Stecker. Die Belegung beim Intel/DTK Layout ist so, dass man das Flachbandkabel einfach raufpressen kann, da ja PIN6 vom DB9 mit PIN2 vom IDC10 verbunden wird, usw.
Anschliessend kann man sich mit einem Nullmodem-Kabel und einer Baudrate von 115200 (8,N,1) zum Server verbinden und nach dem Starten mittels F4 ins BIOS wechseln. Ein paar Screenshots vom BIOS findet man auf http://ss4200.pbworks.com/BIOS-screenshots.
Als Betriebssystem für den Server habe ich mich nach langem Hin-und Her dann für OpenSolaris (x86) entschieden, da ich unbedingt ZFS einsetzen will und mich da nicht auf FUSE-ZFS unter Linux einlassen will.
ZFS hat für mich unter anderem folgende Vorteile:
- Einfach Handhabung
- Datensicherheit durch Erkennung von Silent Data Corruption
- Demnächst Unterstützung von Data Deduplication
- Snapshots und Clones
- Data Compression
Die Installation von OpenSolaris geht dann wie folgt:
1) OpenSolaris 2009.06 Live-CD in ein externes USB CD-Laufwerk einlegen und im BIOS die Bootreihenfolge entsprechend ändern.
2) Leider unterstützt die Live-CD nicht die serielle Console, sondern gibt alles auf der Grafikkarte aus. Dazu kann man im BIOS nun einfach die On-Board Grafikkarte aktivieren (wahlweise mit 1MB oder 8MB Speicher - 1MB reicht vollkommen) - jedoch hat man ja keinen VGA-Anschluss am Server. Die Lösung dazu ist, dass man in den Text-Modus der Live-CD bootet und dann den SSH-Daemon startet und sich anschliessend remote einloggt. Da man das im Blindflug über eine USB-Tastatur machen muss, schaut man sich das am besten einmal vorher auf einem anderen Rechner (mit Grafikkarte) an und notiert sich die Tasten, die man drücken muss (und wie man den Zeitpunkt erkennt, dass man etwas eingeben muss - sieht man aber ganz einfach an der nicht mehr blinkenden LED des CD-Laufwerkes).
Die Tasten sind (danach muss klarerweise immer Enter gedrückt werden):
2x Cursor down beim Grub-Screen (um die Boot-Option Text Console zu aktivieren). Ein paar Sekunden später dann 15 und 8 um die Sprache und das Gebietsschema auszuwählen. Wenn das System fertig gebootet hat, kann man sich mit dem User jack und dem Passwort jack einloggen. Anschliessend "su root" und das Passwort opensolaris. Nach der Eingabe von "svcadm enable ssh" startet der SSH-Daemon. Damit das ganze funktioniert, muss der Server per DHCP eine IP-Adresse im Netzwerk bezogen haben.
3) Nun kann man sich von einem anderen Rechner aus per "ssh -Y jack@1.2.3.4" zum Server verbinden (1.2.3.4 ist durch die IP des Servers zu ersetzen). In der Shell muss man dann wieder root werden und mit "/bin/gui-install" kann man dann den grafischen Installer starten.
"ssh -Y" deshalb, da zumindest bei mir mit "ssh -X" folgender Fehler auftrat:
The program 'gui-install' received an X Window System error.Die weitere Installation verläuft dann ganz einfach:
This probably reflects a bug in the program.
The error was 'BadAtom (invalid Atom parameter)'.
(Details: serial 630 error_code 5 request_code 20 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)







4) Nach dem Reboot wird man feststellen, dass man noch immer nichts auf der seriellen Konsole sehen bzw. man sich auch nicht einloggen kann. Das hat unter anderem damit zu tun, dass wir nur einen seriellen Port haben und OpenSolaris standardmässig den zweiten seriellen Port für Console-Logins konfiguriert. Es sind daher nun folgende Änderungen notwendig (wieder per ssh über das Netzwerk einloggen und als root durchführen):
In der Datei "/etc/remote" folgendes einfügen:
console:\In der Datei "/rpool/boot/grub/menu.lst" folgende Zeilen löschen oder auskommentieren (mit einem # am Anfang):
:dv=/dev/term/a:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:
splashimage /boot/grub/splash.xpm.gzWeiter unten ist dann auch noch die Kernel-Zeile:
background 215ECA
splashimage /boot/solaris.xpm
foreground d25f00
background 115d93
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS,console=graphicsdurch
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS,console=ttyazu ersetzen. Bei der Gelegenheit kann man das Grub-Timeout (timeout 30) auch gleich von 30 Sekunden auf eine kürzere Zeit runtersetzen.
Danach ein "reboot" durchführen und schon sieht man die Boot-Meldungen auf der Console und man kann sich auch von der Console aus einloggen.
Das einzige Problem ist noch, dass man fürs BIOS eine Baudrate von 115200 hat und für Solaris eine Baudrate von 9600. Ich habe dazu einfach im BIOS die Baudrate auf 9600 heruntergesetzt, da ich diese standardmässig auch auf anderen Systemen verwende. Man kann aber natürlich auch im Solaris die höhere Baudrate mitangeben.
Abschliessend habe ich dann im BIOS auch die OnBoard-Grafikkarte deaktiviert, da ich jeden MB RAM im Server selber brauche ;-)
Das war's dann fürs erste auch schon, innerhalb kürzester Zeit hat man so ein OpenSolaris auf einem SS4200-EHW ganz ohne Grafikkarte installiert.
Übrigens installiert sich das OpenSolaris automatisch in einen ZFS Root-Pool (belegt dort ca. 3GB) und legt dann nach der Installation auch gleich einen Snapshot an. Sehr praktisch.
root@homeserver:~# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
rpool/ROOT/opensolaris@install 146M - 2.82G -
Abschliessend ist noch zu sagen, dass der Server Super-Leise ist (abgesehen von ein paar Sekunden beim Start, wo die Lüfter mal kurz mit Volldampf durchs Gehäuse blasen). Ich habe ihn zur Zeit in einer Ecke im Wohnzimmer stehen und man hört gar nix.


10 Kommentare: