GRUB Probleme mit unter GRML erstelltem Software RAID

Standard

Im Rahmen des des FTPC Projekts, gab es die eigentlich recht triviale Aufgabe zu erfüllen, das bereits laufende Installationsserver-System von einem alten Laptop auf einen Server im 19″-Gehäuse samt Software RAID-1 zu übertragen. Aus der Vergangenheit wusste ich, dass das mit GRML eigentlich kein Problem sein sollte. Allerdings hat sich seit dem letzten Debian Stable, was die Basis des Installationsservers darstellt, wieder einiges verändert. Man konnte ohne Probleme das Software RAID erstellen und die Daten per Rsync in das entspreche Zielverzeichnis übertragen.

Soweit alles wie immer. Aber dann weigerte GRUB sich installieren zu lassen. Egal was man versuchte, es endete immer in der Meldung “bad file or directory type”. Leider fand sich dazu rein gar Nichts, was auf die Ursache des Problems hingewiesen hätte.

Ich erinnerte mich dann daran, dass ich irgendwann mal das Problem hatte, dass sich die Standard-Inode-Size zwischenzeitlich mal von 128 auf 256 geändert hat, was auch dazu geführt hatte, das man GRUB zwar installieren konnte aber ein Start nicht möglich war.

Also machte ich mich auf die Suche nach einem ähnlichen Unterschied und wurde bei mdadm fündig.

Erst als ich das Software RAID mit

mdadm create /dev/md0 -e 0.90 --raid-devices=2 --level=1 /dev/sda1 /dev/sdb1

,also zwingend mit dem alten Format der Metadaten, erstellt habe, konnte man GRUB auch erfolgreich installieren.

Howto: Ubuntu 10.04 LTS Client mit Kerberos und LDAP

Standard

Ich habe in den letzten Tagen mal in meinem LAN das Kerberos-Zeitalter ausgerufen. LDAP habe ich schon lange im Einsatz, aber bisher nicht zu Authentifizierung. Folgende Anforderungen habe ich für mich definiert:

  1. Sichere Anmeldung am System mittels Kerberos
  2. Benutzer und Gruppeninformationen sollen aus dem zentralen LDAP-Verzeichnis kommen
  3. LDAP-Benutzer sollen automatisch Mitglieder lokaler Systemgruppen werden, um z.B. Zugriff auf Geräte zu habe
  4. Nicht existierende Home-Directories sollen beim ersten Anmelden erstellt werden
  5. Mobile Geräte müssen auch ohne Netzwerkverbindung eine Authentifizierung ermöglichen

Auf Serverseite habe ich ebenfalls ein Ubuntu 10.04 LTS laufen (mein Mediacenter System). Dort habe ich bereits Kerberos und LDAP nach der Anleitung aus dem Ubuntu Serverguide eingerichtet.

Die anderen Anleitungen des Serverguides sind leider nun dann hilfreich, wenn man nur Kerberos oder nur LDAP-Authentifizierung machen möchte. Abgesehen davon schießen sich die Tools pam-auth-update und auth-client-config gegenseitig in’s Knie, weshalb man schon genau wissen sollte was man tut. Andernfalls hat man sich schneller aus dem eigenen System ausgesperrt als man Kerberos rückwärts buchstabieren kann. Ich verwende daher ein eigenes auth-client-config Profil für die Anpassungen an der nsswitch.conf und alle Änderungen an PAM nehme ich mittels pam-auth-update vor.
Continue reading

How To Update Many Debian Systems In One Step

Standard

Running system updates on a bunch of systems can be very annoying. As our monitoring system is setting me under presure with lots of critical messages about missing security updates on our Debian Linux servers every few days, I want to get rid of them quickly without logging in to every single host, executing aptitude update && aptitude upgrade one after another.

Using a shell script would be one option, but with the big disadvantage of loosing the control over the update process. So I was looking for a way to start interactive shells on all servers at the same time.

Finally I found clusterssh, which is installable via aptitude. The next step is to create a file with a list of hosts in the format [user@] [user@] [...]. After that you can call clusterssh with

cssh -c

Clusterssh will come up with a single terminal windows for each host and a small Tcl window, where you can run the commands from. Everything you type in will be sent to all hosts character wise. So you only have to type in aptitude update && aptitude upgrade one time and it will be executed on all hosts.