Wiki-Bereiche:

Informationstechnik (IT)
Hobbys

Artikel in diesem Bereich:

Zum Ende der Metadaten springen
Zum Anfang der Metadaten springen
Dokument-Updates
  • 14.01.2011: Neuer Abschnitt zum Einrichten eines SSH-Benutzers zum entfernen Herunterfahren des Servers.
  • 14.01.2011: Aktualisierung der Anleitung für Ubuntu 10.10 (Teil mit Undervolting ist noch unvollständig)
  • 14.01.2011: Bonjour/Avahi auch für Samba-Server eingerichtet.
  • 14.01.2011: Samba-Konfig angepasst: Drucker deaktiviert, Security auf "user" umgestellt.
  • 12.09.2010: Kurze Netzwerk-Performancetests ergänzt.
  • 27.08.2009: Undervolting-Abschnitt für neuesten Kernel aktualisiert.
  • 18.08.2009: Neuer Abschnitt "Nachträgliche Anpassungen" mit Beschreibung zur Vergrößerung der verschlüsselten Partition auf der LV.
  • 16.08.2009: Neuer Hardware-Abschnitt "Lüftersteuerung" erstellt.

Hardware

PC-Komponenten

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[a-d]
    • sd[a-d]1: 1TB vom Typ Linux raid autodetect (fd)
  • RAID5-Device über die vier 1TB Raid-Partitionen sd[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

Neuerung seit grub2 in Ubuntu 10.10:

Standard Kommandozeile in Datei /etc/default/grub anpassen:

Anschließend "/boot/grub/grub.cfg" mit folgendem Befehl neu schreiben lassen:

Wake on LAN konfiguriern

Datei /etc/init.d/halt

ändern in

Quelle: http://wiki.ubuntuusers.de/Wake_on_LAN

Mit Ubuntu 10.10 funktioniert Wake on LAN mit den Standardeinstellungen, es sind also keine Anpassungen nötig.

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 Linux-Kernel, der auch hier zum Einsatz kommt.

Bis Ubuntu 9.10 wird das PPA-Repository wie folgt hinzugefügt:

PPA for linux-phc Repository in /etc/apt/sources.list hinzufügen:

Key des Repository importieren (siehe auch Ubuntu-Forum):

Das Hinzufügen von PPA-Repositories hat sich ab Ubuntu 9.10 vereinfacht. Hier das neue Vorgehen, welches die obigen zwei Schritte ersetzt:

Anschließend Paketliste aktualisieren und System upgraden. Hiermit wird der Kernel mit dem "undervolt"/phc-Patch installiert:

Bzw. Kernel direkt installieren, Beispiel Ubuntu 10.10, Stand 14.01.2010:

System mit neuen Kernel neustarten:

Beispiel für Ubuntu 10.10:

Der restliche Abschnitt muss noch für neuere Ubuntu-Versionen aktualisiert werden.

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

MTA Postfix konfigurieren:

Oder wenn schon installiert Konfiguration nachträglich 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:

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:

Mit folgendem Befehl lassen sich unter Ubuntu 10.10 alle UUID aktiver Geräte anzeigen:

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

Samba für Windows-Freigaben einrichten

Samba installieren:

Benutzerpasswörter setzen:

Konfigurationsdatei /etc/samba/smb.conf anpassen (noch wenige Performance-Tuningmaßnahmen enthalten):

Netatalk für AFP-Freigaben einrichten

In Ubuntu 10.10 Dienste einfach über Paketmanagement installieren:

In älteren Ubuntu-Systemen musste man netatalk noch selbst kompilieren. Ab Ubuntu 10.10 definitiv überspringen:

Folgende Dienste sollten in der /etc/default/netatalk standardmäßig aktiviert sein:

Für sehr alte Mac OS X Versionen 10.3.3 bis 10.4 folgende Zeile in die Datei /etc/netatalk/afpd.conf hinzufügen (am Ende noch eine Leerzeile anfügen). Bitte im Zweifel nicht übernehmen:

Z.B. für TimeMachine Backups neue Freigaben in /etc/netatalk/AppleVolumes.default konfigurieren:

In älteren Ubuntu-Versionen muss eine andere Datenbank für CNID verwendet werden: cnidscheme:cdb

Neustart:

Möchte man, dass der AFP-Server automatisch per Bonjour/Avahi im Mac OS X Client erkannt wird, sollte auch der nächste Abschnitt eingerichtet werden.

Bonjour/Avahi für AFP und Samba einrichten

Pakete installieren:

Bei älteren Ubuntu und/oder Mac OS X Versionen 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:

Möchte man auch den Samba-Server automatisch in Mac OS X angezeigt bekommt, ist noch die Datei /etc/avahi/services/samba.service anzulegen:

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

Bei neueren Ubuntu Versionen, z.B. 10.10 ist der Patch nicht mehr nötig.

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

Möchte man die SQLite Datenbank, in der FireFly die Songinformationen speichert, an einem speziellen Ort ablegen, so muss noch folgende Option angepasst werden:

  • db_parms = /somewhere/cache

Der Benutzer mt-daapd benötigt auf das Verzeichnis Schreibrechte:

Remote-Shutdown per SSH konfigurieren

Um den Server bequem remote herunterzufahren, wird ein eingeschränkter SSH-Benutzer eingerichtet.

Benutzer anlegen:

SSH-Key für Shutdown-Benutzer generieren:

SSH-Key für Login konfigurieren:

Spezielle Optionen vor dem Public-Key in der Datei "id_rsa.pub" hinzufügen, damit die Ausführungsrechte des Benutzers auf das minimalste eingeschränkt sind:

Den Privat-Key auf einen anderen Rechner kopieren:

Sudo konfigurieren, dazu wieder zum Adminbenutzer zurückwechseln:

Folgende Zeile hinzufügen:

Nun noch einen Crontab-Eintrag in /etc/crontab hinzufügen:

Nun kann mittels dem Private-Key auf dem entfernen Rechner der Server mit folgendem Befehl ohne Passwort heruntergefahren werden:

Somit lässt sich der Server entfernt per SSH herunter und mit Wake on LAN wieder hochfahren.

Komfortabel kann das auch über ein Smartphone (z.B. Iphone) abgewickelt werden. Ein SSH-App auf dem Smartphone lässt den Server auf Knopfdruck herunterfahren (ohne Passwort und Eingabe von Befehlen), ein Wake-On-LAN-App wieder Starten.

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:

Tipps

Ubuntu 10.10 Powersave / Suspend / Hibernate

Mit folgenden Befehlen kann ein Ubuntu 10.10 System auf unterschiedliche Weise zum Strom sparen gebracht werden:

Performance Tests

Netzwerk Test

Hier ein einfacher Performancetest der Onboard Netzwerkkarte auf dem Mini-ITX Mainboard.

Testequipment:

  • MacBook Pro mit Intel X-25M G2 SSD
  • Der in diesem Dokument beschriebene Ubuntu Mini-ITX Server
  • Gigabit Netzwerk per SoHo Netgear Gigabit Switch

Testfile mit 2.5GB:

Transfer per SCP:

Kontrollrechnung der Performancerechnung:
2675189630 Bytes / 45 Sekunden / 2^20 = 56,69MB/s

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:

Stichwörter

ubuntu ubuntu Löschen
homeserver homeserver Löschen
mini-itx mini-itx Löschen
fileserver fileserver Löschen
Geben Sie Stichwörter ein, die dieser Seite hinzugefügt werden sollen:
Please wait 
Sie suchen ein Stichwort? Beginnen Sie einfach zu schreiben.