Tag Archives: Linux

Verschlüsseltes LVM vergrößern

Vorletzte Woche habe ich doch tatsächlich bei der Daten-Partition meines Fileservers die 90% Kapazitätsmarke erreicht. Nun stand eine Vergrößerung des Dateisystems an. Die Besonderheit dabei war, dass es sich um eine verschlüsselte Partition auf einer “Logical Volume” handelte. Dennoch ging die Vergrößerung mit nur wenigen Handgriffen ohne Probleme über die Bühne:

Partition unmounten und Verschlüsselung schließen:

# sudo umount /home/fileserver
# sudo cryptsetup luksClose fileserver

LVM vergrößern (hier um 512GB):

# sudo lvresize /dev/data/fs_crypt -L +512G

Verschlüsselung wieder aktiveren:

# sudo cryptsetup luksOpen /dev/data/fs_crypt fileserver

Dateisystemcheck durchführen (sonst beschwert sich resize2fs):

# sudo e2fsck -f /dev/mapper/fileserver

Schließlich Dateisystem auf dem verschlüsseltem Device vergrößern:

# sudo resize2fs /dev/mapper/fileserver

Mal sehen, wie lange das jetzt hält :)

LinuxTag 09: Websicherheit

Einen schönen Überblick über Websicherheit gab Dirk Wetter in seinem gestrigen LinuxTag-Vortrag. Nach ein paar einfachen Beispielen und Erläuterungen zu XSS, CSRF und Injections, ging er detaillierter auf Web Application Firewalls (WAF) und anschließend auf kommerzielle und Open-Source Audit-Werkzeuge ein. Hier der direkte Link zu den Folien (PDF): Webunsicherheit 2.0

LinuxTag 09: OpenLDAP Sync mit Active Directory

Wir sitzen gerade in der Kantine des LinuxTags und reden über den eben gehaltenen Vortrag über das LSC Projekt, mit dem eine Synchronisierung zwischen OpenLDAP und Active Directory realisiert werden kann. Neben den Standardattributen aus dem LDAP werden dabei auch spezielle Werte im Active Directory, wie das Sperren von Konten oder das Ablaufdatum eines Benutzerpassworts, synchronisiert. Vor allem für heterogene IT-Landschaften mit Linux und Windows sehr nützlich. Die Aufzeichnungen des Vortrags stehen wieder im Wiki bereit.

LinuxTag 09: Nagios Addons

Ein weiterer interessanter Vortrag wurde heute über “Nagios in größeren IT-Umgebungen” gehalten. Neben einer kurzen Einführung in Nagios, wurde auf die erweiterten Nagios-Funktionen, empfehlenswerte Addons und weitere Integrationsmöglichkeiten mit anderen Webapplikationen eingegangen. Dabei wurde wieder mal deutlich wie groß mittlerweile die Community rund um Nagios geworden und wieviele nützliche Programme zur sinnvollen Erweiterung von Nagios entstanden sind. Auch wir setzen natürlich Nagios für sämtliche Serverüberwachungen erfolgreich bei uns ein. Eine Liste aller genannten Addons und Anwendungen mit einer groben Beschreibung findet sich im LinuxTag2009Nagios-Wikidokument.

LinuxTag 09: GPFS für Cluster

linuxtaglogoSeit gestern Abend bin ich mit zwei Kollegen in Berlin, um den diesjährigen LinuxTag 2009 zu besuchen. Im Verlauf der Woche (bis einschließlich Samstag) versuche ich dabei hier im Blog über interessante Vorträge und Gespräche auf der Messe zu berichten.

Der erste Vortrag heute handelte über das Clusterdateisystem GPFS von IBM. Da wir selbst eher weniger gute Erfahrungen mit dem Clusterdateisystem von Oracle (OCFS2) gemacht haben, waren wir von dem alternativen Cluster-Produkt von IBM und den Erfahrungen, die die vortragende Firma damit in Kundenprojekten sammeln konnte, recht angetan. Alle wichtigen Notizen aus dem Vortrag sind unterhalb des LinuxTag 2009-Wiki-Dokuments zufinden.

Festplatten in Standby fahren

Um Strom zu sparen, lassen sich Festplatten nach einer bestimmten Zeit der Inaktivität automatisch herunterfahren. Das kann vor allem bei Heim-Servern, die mit mehreren (vielleicht noch älteren, nicht stromsparenden) Festplatten ausgestattet sind und auf die nur bei Bedarf zugegriffen werden, einiges an Strom und Geld sparen. Bisherige Festplatten (IDE, aber auch SATA) haben hierfür den “IDE idle timer” unterstützt, den man mit hdparm wie folgt setzen kann:

hdparm -S Zeitangabe /dev/sdX

Nach Ablauf der Zeitangabe (siehe Manpage, je nach Höhe ein Vielfaches von Sekunden oder Minuten) wird die Festplatte, wenn in dieser Zeit kein Zugriff erfolgt ist, heruntergefahren und automatisch wieder hochgefahren, wenn wieder darauf zugegriffen wird.

Leider unterstützten diese Funktion einige, neuere Festplatten nicht mehr. Daher muss der Inaktivitäts-Timer als Software realisiert und die Festplatte nach Ablauf der Zeit manuell heruntergefahren werden. Eine solche Implementierung ist hd-idle, die sich unter Ubuntu/Debian recht einfach einrichten lässt. Der Ubuntu-Homeserver-Artikel wurde hierfür um ein neues Kapitel erweitert, welches die Einrichtung von hd-idle kurz erläutert.

Undervolting mit Ubuntu

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 existiert das Linux-PHC Projekt.

Für Ubuntu steht in einem externen Repository der aktuelle Ubuntu-Linux-Kernel 2.6.28.11 mit den entsprechenden Linux-PHC-Patches zur Verfügung. Die Installation und die Verwendung mit einem Intel E5200 Dual-Core CPU und dem Intel DG45FC Mainboard ist im Wiki beschrieben.

Mit Hilfe von Undervolting konnte bei 100%iger CPU-Auslastung der erwähnten Systemkonfiguration 11 Watt eingespart werden. Leider limitiert das Intel DG45FC Mainboard das Undervolting. Bei anderen Mainboards sind weitere Einsparungen und diese auch im Idle möglich.

Bei dieser Gelegenheit habe ich den Stromverbrauch meines Mini-ITX-Systems in verschiedenen Konfigurationen getestet. Hier die interessantesten Ergebnisse:

  • Ausgeschaltet mit GBe Link: 1.4W
  • Idle nur mit 2.5″ Systemplatte: 35W
  • Volllast nur mit 2.5″ Systemplatte: 51W (ohne Undervolting: 62W)
  • 4x 1TB WD10EADS Idle im IntelliPark: +10W
  • 4x 1TB WD10EADS Idle ohne IntelliPark: +16W
  • 2x2GB statt 1x2GB RAM: +1.5W
  • Idle ohne GBe Link: -1.2W

Der Idle-Wert von 35W schlägt sich im Vergleich zu aktuellen Dual-Core Atom-Systemen mit 25W (bis 35W je nach Ausstattung) recht gut. Dabei steht bei Bedarf wesentlich mehr CPU-Leistung als mit einem Atom-CPU zur Verfügung. Möchte man z.B. hohe IO-Raten mit Verschlüsselung erreichen kann es mit einem Atom-System eng werden (siehe dazu Performance-Einbrüche beim Zugriff auf verschlüsselte Daten auf NAS-Geräte mit Atom-CPUs).

Weitere Ergebnisse und Stromkostenberechnungen finden sich im Wiki.

Media-Streaming-Server firefly

Möchte man von mehreren Systemen auf eine zentrale Musik-Bibliothek zugreifen, bietet sich der Betrieb eines Media-Streaming-Servers an. Alle Musikdateien liegen dabei zentral auf dem Server und werden per Netzwerk an beliebige Clients gestreamt. Clients können dabei PCs mit Windows- oder Linux, Macs aber auch Hardware-Geräte sein. Firefly ist solch ein Open-Source Media-Server, der viele Streaming-Clients, u.a. auch ITunes unterstützt. Er ist unter Ubuntu schnell installiert und eingerichtet, macht jedoch unter der aktuellen Ubuntu 64Bit Version 9.04 Probleme. Wie man eine angepasste Version von Firefly installiert und einrichtet, ist im UbuntuHomeserver-Wikidokument beschrieben.

Time Machine & AFP mit Ubuntu

Heute berichte ich über die zentrale (und verschlüsselte) Datensicherung von Macs per Time Machine auf einem Ubuntu Linux-Server. Hierzu werden die Dienste Bonjour (Apples Implementierung von Zeroconf) und AFP (Apple Filing Protocoll) benötigt, damit die zu sichernden Macs den entfernten File-Server automatisch finden (Bonjour) und dort Daten ablegen können (AFP). Unter Linux steht mit dem Software-Paket netatalk eine Kernel-basierte Implementierung der AppleTalk Protokoll-Familie, darunter auch AFP, bereit. Leider ist aus Lizenzgründen unter Ubuntu nur ein netaltalk-Paket ohne verschlüsselter Authentifizierung verfügbar. Es muss daher mittels des Sourcecodes installiert werden (Anleitung im Wiki). Als Zeroconf-Implementierung (Bonjour-Ersatz) kommt unter Linux avahi zum Einsatz, dessen Einrichtung unter Ubuntu reibungslos verläuft. Im letzten Schritt steht die Konfiguration von Time Machine unter Mac OS X an. Da unter Linux keine stabile Implementierung für das Apple-Dateisystem HFS+ existiert, müssen alle Backups in ein Apple SparseBundle-Imagefile ablegt werden, welches wiederum per AFP freigegeben wird. Auch hierzu eine kurze Anleitung im Wiki, wie ein solches Imagefile erstellt wird.

Ich kann zwar noch nicht mit Langzeittests dienen, jedoch laufen die Time Machine Backups bisher sehr zuverlässig und reibungslos. Time Machine mounted automatisch die AFP-Freigabe auf dem Ubuntu-Server und das darin befindliche Image vor dem Backup und unmounted es nach Gebrauch wieder. Ist der Server nicht erreichbar, schlägt das Backup zwar fehl, funktioniert nach dem Einschalten des Servers dann aber wieder ohne Probleme und ohne manuellem Eingriff. Auch die Backups über WLAN funktionieren bisher gut.

Verschlüsselung mit dm-crypt

Da ich meine Backups verschlüsselt auf meinem File-Server ablegen möchte, habe ich mich heute mit dm-crypt befasst. Als erstes stand die Entscheidung an, welchen Chiffrier-Modus für dm-crypt zum Einsatz kommen soll. Nach einer kurzen Recherche (Wikipedia #1, #2, Gentoo-Wiki) und Performance-Tests zwischen CBC, LRW, XTS und unterschiedlichen AES-Schlüssellängen (siehe Ergebnisse im Wiki) fiel die Wahl auf XTS mit einer Key-Size von 256.

Als nächstes stand die automatische Verschlüsselung der Swap- und Temp-Partitionen mit einem zufälligen Schlüssel und die manuelle Verschlüsselung anderer Datenpartitionen per Passwort an. Da der Server nicht ständig laufen soll, ist die Eingabe des Passworts für die verschlüsselten Backup-Partitionen beim Hochfahren des Systems jedoch sehr unpraktisch. Daher wurde für diese Partitionen zusätzlich ein Keyfile auf einem USB-Stick angelegt, der automatisch beim Hochfahren des Systems ausgelesen wird. Somit steckt man den USB-Stick mit dem Keyfile an den Servern, fährt das System hoch, während die verschlüsselten Partitionen automatisch gemounted werden und kann dann den USB-Stick wieder entfernen. Meines Erachtens eine bequeme und dennoch halbwegs sichere Lösung. Die einzelnen Schritte zur Einrichtung sind im Wiki dokumentiert.

Mini-ITX Raid-Fileserver

Größenvergleich zwischen alten und neuen ServerDiese Woche kamen die letzten Teile für meinen neuen File-/Home-Server, den ich heute Abend mit Norman zusammengebaut habe. Da mich die Größe, das Gewicht und der hohe Stromverbrauch meines alten Servers zu Hause gestört haben, ist es ein stromsparendes Mini-ITX-System geworden (siehe Bild rechts: alter P4-Server mit Wasserkühlung unten, neues Mini-ITX-System oben). In einem Chenbro ES34069 Mini-ITX-Gehäuse mit 4 Hot-Swap SATA Festplatten-Einschüben ist ein Mini-ITX Mainboard DG45FC von Intel verbaut, welches mit 4 SATA- Anschlüssen und Gigabit-Netzwerkanschluss onboard ausgestattet ist. Das Gehäuse ist solide verarbeitet, sieht schick aus und ist wirklich sehr kompakt. Verbaut ist ein Dual-Core Pentium Prozessor mit 2.5Ghz, 2x2GB DDR2-800 RAM, 4 stromsparende 1TB Festplatten von WD, eine kleine 80GB 2.5″ Systemfestplatte und diverse Lüfter zur Kühlung. Weitere Details zur Hardware und Links zu Reviews und Anleitungen sind im Wiki zu finden.

chenbroes34069frontAls Betriebssystem kommt Ubuntu Server 9.04 (Jaunty) zum Einsatz. Die vier großen Festplatten werden per Software in einem RAID5-Verbund betrieben. Im Wiki-Dokument UbuntuHomeserver werde ich sämtliche Konfigurationsschritte festhalten, die ich im Laufe der Einrichtung des Systems durchführen werde. Neben den schon erwähnten Hardware-Infos, ist dort aktuell die Partitionierung, die Liste der installierten Ubuntu-Pakete und kurze Beschreibungen zu Wake-on-Lan und dem Auslesen der Temperatursensoren (CPU und HDDs) dokumentiert.

LPIC-1 Prüfung absolviert

LPI Logo

Tom und ich haben heute erfolgreich unsere LPIC-1 Zertifizierung bei AlphaBit in Wiesbaden abgelegt. Folgende Bücher haben wir zur Vorbereitung genutzt:

Das erste Buch gibt einen guten, komprimierten (326 Seiten) Überblick über alle Prüfungsthemen, geht jedoch nur bedingt ins Detail ein. Für erfahrende Administratoren reicht das als Vorbereitung aus, allen anderen kann ich das zweite Buch zusätzlich empfehlen. Vor allem die Testfragen im Buch haben so manche Wissenslücke noch aufgedeckt.

Meine Notizen beim Erarbeiten der Bücher habe ich im Wiki abgelegt. Sie dienten mir zur Wiederholung von Themen und Details, die mir nicht mehr so geläufig waren. Könnte eine gute Kontrolle für jemanden sein, der selbst bald die LPIC-1 Zertifizierung durchführen möchte. Schaut doch mal rein.

Noch ein paar generelle Hinweise zur LPIC-Prüfung:

  • Es ist ausreichend Zeit. Ich bin die Fragen ganz langsam durchgegangen und war trotzdem nach der Hälfte der verfügbaren Zeit (90 Minuten) durch.
  • Lest unbedingt die Fragen genau durch und auch alle Antwortmöglichkeiten. Es passen manchmal mehrere Fragen, es ist jedoch oft nur die bestmögliche Antwort gefordert.
  • Für einigermaßen erfahrene Linux-Admins ist LPIC-1 wirklich schaffbar, macht euch nicht verrückt :)