- Hardware
- Ubuntu Konfiguration
- Installation
- IP Adresse anpassen
- Installierte Pakete
- Boot-Meldungen beim Start anzeigen
- Motd anpassen
- WOL konfiguriern
- Sensoren auslesen
- Undervolting mit Linux-PHC konfigurieren
- Festplatten automatisch in Standby fahren
- Mail konfigurieren
- Verschlüsselte Temp- und Swap-Partition
- Festplatten-Verschlüsselung für einzelne Partitionen/LVs
- Verschlüsselte Partionen/LVs beim Booten mit USB-Stick automatisch mounten
- Netatalk für AFP-Freigaben einrichten
- Avahi für TimeMachine Backups einrichten
- Einrichten von TimeMachine auf den Mac OS X Rechnern
- Streaming-Server mit FireFly installieren
- Samba-Server einrichten
- Nachträgliche Anpassungen
- Performance Tests
Dokument-Updates
|
Hardware
PC-Komponenten
- Gehäuse: Chenbro ES34069 Mini-ITX Gehäuse mit 4 SATA Hotswap-Einschüben
- Mainboard: Intel DG45FC Mini-ITX Mainboard
- Reviews: SilentPC, MiniTechNet, Xbit: Vergleich mit Zotac GeForce 9300-ITX WiFi
- Vom Board unterstütze VCore-Spannung: 1.15V - 1.21V (siehe Undervolting); E5200 VCore-Range: 0.85V - 1.3625V
- Stromverbrauch: E5200, DG45FC, 2x1GB RAM, 2.5" HDD, 80W Netzteil: Idle 32W, Load 44W (1.2Ghz@1.15V), Load 60W (2.5Ghz@1.15V)
- CPU: Intel E5200 Dual-Core 2.5Ghz (boxed)
- Test über Effizienz von Core2- und Atom-CPUs bei Tomshardware
- Stromverbrauch mit E5200, Supermicro C2SBA+II, Seasonic S12 430W Netzteil, 20GB 2.5" HDD, 1x 1GB RAM, GBe, USB Tastatur + Maus: Idle 36W, Load 64W
- RAM: 2x Kingston HyperX DIMM 2 GB DDR2-800
- Festplatten: 1x Hitachi HTS54258 2.5" 80GB System-HDD + 4x Western Digital WD10EADS 3.5" 1TB Daten-HDDs
- Stromverbrauch WD WD10EADS 1TB 3.5" HDD: Idle: 1.8W, Streaming Read: 5.3W
- Vergleich Seagate Barracuda 7200.11 1.5TB 3.5" HDD: Idle: 7.4W, Streaming Read: 9.3W
- Vergleich Western Digital Scorpio Black 320GB 2.5" HDD: Idle: 0.75-0.95W, Streaming Read: 3.2W (DVD Play: 1.3W, Workstation IO Test: 2.7W)
- Zusätzliche Belüftung: 2x Papst 612/NGL 60cm Lüfter

Geräuscharme Kühlung
Im Chenbro ES34069 Mini-ITX Gehäuse sind von Werk hinten links 2x 70cm Lüfter zur Kühlung der 4 vorderen SATA-Festplattenslots verbaut. Die Lüfter sind nicht temperaturgeregelt und werden stetig mit 12V betrieben. In einer einigermaßen ruhigen Umgebung sind sie bei Betrieb leider deutlich zu hören. Regelt man die Lüfter auf 7-10V fällt der Geräuschpegel beachtlich.
Daher wurde zusätzlich eine Lüftersteuerung (den T-Balancer MiniNG) im Gehäuse verbaut:

Es handelt sich um eine 2-Kanal-Lüftersteuerung mit zwei unabhängigen Temperatursensoren für etwa 29 EUR, die vier Betriebsarten (Zieltemperatur, Kurve, Stufe und Manuell) zur Verfügung stellt und mehr als ausreichend Leistung besitzt (20W/50W im Analog-/PWM-Modus pro Kanal).
Als Einbauort eignet sich der Platz über dem ITX-Mainboard direkt hinter dem CD/DVD-Laufwerkslot (ggf. neben einem weiteren 60cm Lüfter). Für die Befestigung werden Klettverschlussstreifen mit doppelseitigem Klebeband mitgeliefert, die man auf die Unterseite der Lüftersteuerung (Kühlblech) und dem PC-Gehäuse kleben kann. Die beiden hinteren Lüfter wurden mittels einem 3-poligen Y-Lüfterkabels an einen Kanal der Lüftersteuerung angeschlossen:
Einen der beiden Temperatursensoren habe ich direkt in einen SATA-Festplattenslot geklebt, um dort unmittelbar die Temperatur der Festplatte zu ermitteln. Die Kabel an den Temperatursensoren sind ausreichend lang, um sie ordentlich im Gehäuse verlegen und an einer beliebigen Stelle platzieren zu können:
Als Betriebsart hat sich "Zieltemperatur" und als Ansteuerungsmodus der "PWM-Modus" als die optimale Konfiguration herausgestellt. Hierbei stellt man über einen der beiden Potis die gewünschte Temperatur am jeweiligen Sensor ein, die gehalten werden soll. Wird die Zieltemperatur überschritten, regelt die Steuerung die Lüfter langsam hoch, bis sich die Temperatur wieder bei der Zieltemperatur einpendelt. Beim Finden der richtigen Potistellung ist etwas Geduld gefragt. Nur geringe Änderung am Poti bewirken teilweise recht hohe Sprünge bei der Zieltemperatur. Da die Steuerung der Lüfter etwas verzögert stattfindet, ist es wichtig nach Änderung der Potieinstellung erst etwas zu warten, bis man eine weitere Anpassung durchführt. Meine Zieltemperatur liegt etwa bei 40°C Festplattentemperatur, die ich über hddtemp auslese (siehe Abschnitt "Sensoren auslesen").
Der Geräuschpegel der Lüfter ist dank der Lüftersteuerung bei normaler Umgebungstemperatur nun sehr angenehm (man hört fast nur noch die Laufgeräusche der Festplatte). Gehen die Festplatten in Standby schalten sich die Lüfter nach einer Zeit sogar komplett aus! Der Vorteil gegenüber einer manuellen Absenkung der Lüfterspannung (z.B. auf 7V) ist, dass bei höherer Umgebungstemperatur (Sommer) die Lüfter bei Bedarf schneller drehen und damit besser kühlen können und das bei Standby der Festplatten die Lüfter komplett abgeschaltet werden.
Möchte man auch auf der Mainboard-Seite des Gehäuses noch für etwas Umluft sorgen (vorallem für den Chipsatz des Intel DG45FC Boards ratsam), so lassen sich bis zu 2 weitere 60cm Lüfter im Gehäuse noch verbauen: einen vorne an der Innenseite des Gehäuses und einen nach oben über dem ITX-Mainboard (siehe Bild mit Lüftersteuerung). Zur Ansteuerung der beiden Lüfter kann dann der 2. Kanal der Lüftersteuerung verwendet werden. Den 2. Temperatursensor befestigt man dazu einfach an einer geeigneten Stelle in der Nähe des Boards (am besten nicht unmittelbar im Luftzug eines der Lüfter).
Stromverbrauch
Stromverbrauch wurde mit einem Voltcraft Energy Check 3000 gemessen (also quasi Highend-Equipment :P).
- Konfiguration: 180W ext. Netzteil, DG45FC, E5200 mit Box-Lüfter, 2x2GB DDR2-800, 1x2.5" HDD, 4x3.5" HDD, GBe angeschlossen, 2x60cm@5V + 2x70cm@12V Lüfter
- Ausgeschaltet: 1.6W - 1.7W
- Ausgeschaltet, jedoch kein Gigabit-Netzwerk angeschlossen: 1.2W - 1.3W
- Unmittelbar beim Einschalten, wenn alle 5 Festplatten gerade hochfahren: Max 92.4W (1 Sekunde lang)
- Während BIOS: 72W - 77.1W
- Beim Linux booten: 52W - 73.9W
- Idle (Ubuntu vollständig mit allen Diensten hochgefahren): 46.2W - 47.1W
- Idle, alle vier 1TB Festplatten im Standby: 37.3W - 38.1W
- Idle, zusätzlich die beiden 70cm Festplattenlüfter ausgeschaltet: 36.4W - 37.4W
- Kurzzeitig die 2.5" Systemplatte deaktiviert (wacht recht schnell wieder von selbst auf): Minimal 36W
- Idle, zusätzlich Gigabit-Netzwerkkabel gezogen: 34.3W - 35.2W
- Volllast mit Platten (2x burnP6, beide Kernel 100% load): 71.0W - 71.7W
- Konfiguration: siehe oben, jedoch mit nur 1x2GB DDR2-800 RAM
- Ausgeschaltet: 1.4W
- Ausgeschaltet, jedoch kein Gigabit-Netzwerk angeschlossen: 1W
- Unmittelbar beim Einschalten, wenn alle 5 Festplatten gerade hochfahren: Max 88.7W (<1 Sekunde lang)
- Während BIOS: 70W - 75W
- Beim Linux booten: 50W - 71.7W
- Idle (Ubuntu vollständig mit allen Diensten hochgefahren): 45.4W - 46.2W
- Idle, alle vier 1TB Festplatten im Standby: 36.0W - 36.5W
- Idle, zusätzlich die beiden 70cm Festplattenlüfter ausgeschaltet: 35.0W - 35.5W
- Kurzzeitig die 2.5" Systemplatte deaktiviert (wacht recht schnell wieder von selbst auf): Minimal 34.7W
- Idle, zusätzlich Gigabit-Netzwerkkabel gezogen: 33.8W - 34.3W
- Bei dieser geringen Leistung fängt das Netzteil plötzlich an fiepsen/krisseln
- Film streamen: SD: 52.2W- 53W, HD: 52.5W - 53.6W
- Per AFP auf einer verschlüsselten Partition mit dem Finder durchbrowsen (mit Vorschaufunktion aktiviert): 53W - 55W
- Ohne Zugriff auf die Festplatten: 52.0W - 52.5W
- Fällt dann nach ein paar Sekunden mit einem Festplattengeräusch wieder auf den Idle-Wert von 45W (IntelliPark von WD)
- Timemachine-Backup: 52.3W - 57.5W
- Volllast (2x burnP6, beide Kernel 100% load): 68.0W - 68.7W
- Volllast (ohne CPU-Undervolting, siehe unten): 79.0W - 79.7W
- Bonnie++ Test auf RAID5 mit verschlüsselter Partition: bis zu 75W (vorallem bei putc)
- Bonnie++ Test und CPU-Volllast mit burnP6: bis zu 79W (vorallem bei putc)
Ein Idle-Wert von 35W für ein Dual-Core Pentium-System kann sich wirklich sehen lassen. Verfügbare Atom-Mainboards mit Dual-Core-CPUs verbrauchen im Idle je nach zusätzlicher Ausstattung 25W bis 35W (siehe Test bei Computerbase und bei Anandtech). Bei einer CPU-Volllast mit 51 Watt (68W Volllast - (52W Festplattenleerlauf - 35W Idle)) liegt das Dual-Core Pentium-System deutlich über den Atom-Mainboards mit 29W-39W, bietet jedoch auch wesentlich mehr Rechenleistung (siehe SYSMark 2007 Performance bei Anandtech). In meinen Augen also ein gutes Performance-per-Watt Verhältnis (siehe auch dieser Test bei Tomshardware).
Bei einem Idle-Wert von 37W und einem KW-Preis von 20,27 Cents ergeben sich bei 24/7 Betrieb Stromkosten von 66 EUR pro Jahr bzw. 5.50 EUR pro Monat. Ich persönlich werde das System nur bei Bedarf per Wake-on-Lan einschalten. Für den 24/7 Betrieb habe ich ein Linksys NSLU2, welches mit nur etwa 2.5W (4.50 EUR im Jahr) zu Buche schlägt. Darüber wickele ich Dienste wie DNS, DHCPd, DSL Einwahl (PPPoE), Routing (NAT), Firewall (IPTables) und SSH/VPN für den Remote-Zugriff ab. Bei Bedarf lässt sich das größere System dann darüber (auch remote) mit Wake-on-Lan einschalten.
Ubuntu Konfiguration
Installation
Standardinstallation von Ubuntu 9.04 Server Edition mit folgender Festplattenkonfiguration:
- 1x 80GB 2.5" System-HDD: /dev/sde
- sde1: 256MB vom Typ Linux (83) mit ext2 Dateisystem für /boot
- sde2: Restliche Kapazität (knapp 80GB) vom Typ Linux LVM (8e)
- 4x 1TB Daten-HDDs: /dev/sd[OldWiki2:a-d]
- sd[OldWiki2:a-d]1: 1TB vom Typ Linux raid autodetect (fd)
- RAID5-Device über die vier 1TB Raid-Partitionen sd[OldWiki2:a-d]1: /dev/md0
- md0: Komplette Kapazität (3TB) vom Typ Linux LVM (8e)
- Volume Group "System" mit LVM-Partition sde2
- LV "swap": 4GB mit Swap
- LV "root": 8GB mit ext3 Dateisystem für /
- Volume Group "Data" mit LVM-Partition md0
- noch frei
IP Adresse anpassen
Datei /etc/network/interfaces
ändern in
Netzwerk neustarten:
Installierte Pakete
Boot-Meldungen beim Start anzeigen
Datei /boot/grub/menu.lst
ändern in
Motd anpassen
WOL konfiguriern
Datei /etc/init.d/halt
ändern in
Quelle: http://wiki.ubuntuusers.de/Wake_on_LAN
Sensoren auslesen
Installieren:
Sensoren auslesen:
Undervolting mit Linux-PHC konfigurieren
Mit Hilfe von Undervolting, dem gezielten Herabsetzen der Core-Spannung der CPU, lässt sich der Stromverbrauch und die Erwärmung der CPU senken. Im Gegensatz zum Underclocking, bei dem der CPU-Takt heruntergesetzt wird, bleibt beim Undervolting der CPU-Takt und damit die volle CPU-Leistung erhalten, sprich weniger Stromverbrauch und Abwärme bei gleicher Leistung. Da bei diesem Verfahren ähnlich wie beim Overclocking Fertigungstoleranzen der CPU ausgenutzt werden, lassen sich CPUs unterschiedlich "gut" undervolten.
Die CPU-Spannung lässt sich zum einen im BIOS einiger Mainboardhersteller herabsetzen oder auch per Software während des Betriebs. Unter Linux exisitiert das Linux-PHC Projekt: Alte Homepage,AktuelleHomepage, Neue Releases im Forum
Für Ubuntu-Systeme gibt es einen fertig phc-gepatchten 2.6.28.15-Linux-Kernel, der auch hier zum Einsatz kommt:
PPA for linux-phc Repository in /etc/apt/sources.list hinzufügen:
Key des Repository importieren (siehe auch Ubuntu-Forum):
Paketliste aktualisieren und System upgraden. Hiermit wird der Kernel mit dem "undervolt"/phc-Patch installiert:
UPDATE Gepatchtes Kernel-Modul beim Booten mittels Eintrag in "/etc/modules" automatisch laden:
System mit neuen Kernel neustarten:
Aktuelle Spannungen auslesen und neue setzen (spezifisch für dieses Mainboard und CPU!):
In diesem System bringt die neue Einstellung unter Volllast eine Ersparnis von 11W:
- Stromverbrauch bei Volllast mit alten Werten: 79.0W - 79.7W
- Stromverbrauch bei Volllast mit neuen Werten: 68.0W - 68.7W
Die Einstellung muss bei jedem Neustart erneut durchgeführt werden. Am einfachsten ist ein Eintrag in /etc/rc.local:
Weitere Informationen zum Patch im Ubuntu-Forum.
Festplatten automatisch in Standby fahren
Da die WD10EADS 1TB-Festplatten den "IDE idle timer" nicht unterstützen und deshalb die eingestellte Spindown-Time mit "hdparm -S" nicht funktioniert, setze ich das externe Programm hd-idle stattdessen ein:
Sourcecode per CVS auschecken:
Kompilieren, installieren und dem Standard Runlevel hinzufügen (automatisch beim Booten starten):
Konfiguration in /etc/default/hd-idle anpassen (-i 600 entspricht 10 Minuten):
Schließlich hd-idle starten:
Mail konfigurieren
Postfix-Konfiguration anpassen:
Satellite system auswählen und Smarthost eintragen.
Verschlüsselte Temp- und Swap-Partition
Neue LV für Temp-Verzeichnis anlegen und mit Nullen überschreiben:
Einträge in /etc/crypttab für Swap- und Tmp-Partition vornehmen:
Schließlich noch die /etc/fstab anpassen:
ändern in
Festplatten-Verschlüsselung für einzelne Partitionen/LVs
Neue LV erstellen, auf der ein verschlüsseltes Dateisystem erstellt werden soll:
Verschlüsselung einrichten:
Verschlüsselte Daten öffnen, Dateisystem erstellen und mounten:
Nach Nutzung der Partition wieder unmounten und schließen:
Weitere Informationen:
- Erläuterung der verschiedenen Chiffrier-Modi im Wikipedia und im Gentoo-Wiki.
- Howtos: immerda.ch,quarkmitsauce.wordpres.com
Verschlüsselte Partionen/LVs beim Booten mit USB-Stick automatisch mounten
Um die Partition ohne Eingabe eines Passworts beim Booten automatisch zu mounten, wird ein Keyfile auf einem USB-Stick, der beim Booten eingesteckt sein muss, ausgelesen.
USB-Stick mounten und Keyfile erstellen:
Zusätzlich zum Passwort soll auch der Zugriff auf das verschlüsselte Device über das Keyfile auf dem USB-Stick ermöglicht werden:
Um eine sichere Erkennung des USB-Sticks zu gewährleisten, bestimmen wir die UUID des USB-Sticks:
Wir nehmen den USB-Stick und das verschlüsselte Device in der /etc/fstab auf:
Nun benötigen wir noch ein Script (/root/keyscript.sh), dass den Key vom USB-Stick beim Booten ausliest.
Schließlich geben wir in der Datei /etc/crypttab das verschlüsselte Device mit dem Keyscript an:
Bei eingesteckten USB-Stick wird nun die verschlüsselte Partition beim Booten automatisch gemäß /etc/fstab gemounted.
Weitere Informationen: Beschreibung von Andreas Janssen, Forenbeitrag bei linuxforen.de
Netatalk für AFP-Freigaben einrichten
Zu startende Dienste in /etc/default/netatalk anpassen:
ändern in
Zeile in Datei /etc/netatalk/afpd.conf hinzufügen (am Ende noch eine Leerzeile anfügen)
Für TimeMachine Backups zusätzliche Freigaben in /etc/netatalk/AppleVolumes.default konfigurieren:
Neustart:
Avahi für TimeMachine Backups einrichten
Pakete installieren:
In der Datei /etc/nsswitch.conf den "mdns"-Dienst bei hosts-Anfragen ergänzen:
Mit der Datei /etc/avahi/services/afpd.service und folgenden Inhalt den Avahi-Dienst für AFP-Freigaben konfigurieren:
Neustart des Dienstes:
Einrichten von TimeMachine auf den Mac OS X Rechnern
Neues Sparsebundle für TimeMachine-Backups erstellen und auf gemountete AFP-Freigabe des Ubuntu-Servers verschieben:
Um die AFP-Freigabe des Ubuntu-Servers für TimeMachine-Backup unter Mac OS X nutzen zu können, muss mit folgenden Konsolen-Befehl auch nicht unterstützte Netzwerklaufwerke freigeschaltet werden:
Nun kann in den TimeMachine-Einstellungen die AFP-Freigabe des Ubuntu-Servers ausgewählt und das erste Backup erstellt werden.
Weitere Informationen gibt es am Ende des Blog-Eintrags von Matthias Kretschmann als Update-Nachträge.
Streaming-Server mit FireFly installieren
Pakete installieren:
Möchte man FireFly mit Avahi betreiben, gibt es mit dem mt-daapd Paket unter den aktuellen (64bit-)Ubuntu-Versionen teilweise Probleme. Der FireFly-Server stürzt direkt beim Starten mit einem Segmentation Fault ab. Über den Bug wird hier diskutiert. Als Workaround kann man den Avahi-Dienst nach dem FireFly-Server starten. Besser ist es jedoch eine gepatchte Version von FireFly zu verwenden: Patch oder direkt das gepatchte 64bit-Debian-Paket zum Download.
Gepatchte Version installieren
Der Server lässt sich entweder über die Konfigurationsdatei /etc/mt-daapd.conf oder nach Start über die Web-Administrationsoberfläche http://IP-des-Server:3689 konfigurieren. Folgende Werte sollte man mindestens anpassen:
- admin_pw: Administrator-Passwort für Weboberfläche
- mp3_dir: Verzeichnis mit MP3-Dateien (es können auch mehrere mit Komma getrennt angegeben werden)
- password: Passwort für Zugriff auf Streaming-Server über z.B. ITunes
Samba-Server einrichten
Samba installieren:
Benutzerpasswörter setzen:
Konfigurationsdatei /etc/samba/smb.conf anpassen (noch wenige Performance-Tuningmaßnahmen enthalten):
Nachträgliche Anpassungen
Verschlüsseltes LVM vergrößern
Partition unmounten und Verschlüsselung schließen:
LVM vergrößern (hier um 512GB):
Verschlüsselung wieder aktiveren:
Dateisystemcheck durchführen (sonst beschwert sich resize2fs):
Schließlich Dateisystem auf verschlüsselten Device vergrößern:
Performance Tests
IO Tests
Vorbereitung:
bonnie++ Test auf Hitachi HTS54258 2.5" 80GB System-HDD:
bonnie++ Test auf RAID5 mit 4x WD10EADS 3.5" 1TB Daten-HDDs:
bonnie++ Test auf verschlüsselten RAID5 mit Cyper aes-cbc-essiv:sha256 und Key-Size 256:
bonnie++ Test auf verschlüsselten RAID5 mit Cyper aes-lrw-benbi und Key-Size 256:
bonnie++ Test auf verschlüsselten RAID5 mit Cyper aes-xts-benbi und Key-Size 256:
bonnie++ Test auf verschlüsselten RAID5 mit Cyper aes-xts-benbi und Key-Size 512: