Dokumentation ist alles

Als Systemadministrator gibt es tausend Gründe, warum man dokumentieren sollte. Nicht nur, damit auch andere Leute (z.B. Urlaubsvertretung) die Systeme bedienen können, sondern auch weil man sich nicht alles merken kann und will. Das bei Programmierern bekannte System DRY - Don't Repeat Yourself - gilt in meinen Augen genauso für Sysadmins. Und da wo es keinen Sinn macht einen Vorgang zu automatisieren, weil der Aufwand unproportional groß ist, hilft eine gute Dokumentation dabei, dass man beim nächsten Mal alle Vorgänge anhand der Dokumentation abarbeiten kann, also ohne noch einmal Hirnschmalz zu investieren.

Da ich grade die Migration von meinem PowerBook auf mein neues MacBook Pro abgeschlossen habe, hatte ich die Idee, mal zu bloggen, wie ich meine Dokumentationen anfertige und pflege, denn die Migration meines Dokumenationssystems war sehr einfach.

Wie ich dokumentiere

Was sich bei mir seit Jahren bewährt hat ist ein lokales Wiki. Früher habe ich Dokumentationen in LaTeX angefertigt, ein großes PDF pro System. Das sieht am Ende schön aus, aber ist sehr unflexibel und auf dauer nicht pflegbar. Eine Systemdokumentation ist immer ein lebendiges Dokument und deshalb sollte das Hauptaugenmerkt auf leichte editiertbarkeit gelegt werden. Um so weniger Hürden man sich selbst in den Weg stellt um so hochwertiger werden die Dokumentationen. Ein Wiki ist im Prinzip eine Webanwendung in der man sehr einfach Seiten anlegen und editieren und verlinken kann (mehr Infos) und eignet sich deshalb ideal.

Nur wenn das Erstellen der Dokumentation einfach ist, kann es zeitnah erfolgen und das ist wichtig, denn oft hat man schon wenige Stunden nach einer kniffeligen Konfiguration wieder einen entscheiden Punkt oder eine wichtige Reihenfolge vergessen (besonders dann, wenn viel Ausprobieren angesagt war ...).

Als Systemadministrator weiß ich "Ein gutes System dokumentiert sich selbst", aber das reicht nicht. Muss man im Desasterfall das System wieder herstellen, hat man verloren, da die Dokumentation mit dem System selbst verloren ist. Oder hat jemand eine undokumentierte Änderung am System vorgenommen, so kann diese im schlimmsten Fall auch nicht mehr korrekt nachvollzogen werden, wenn es keine saubere Dokumentation des SOLL-Zustandes gibt.

Meine Anforderungen / Wünsche an ein Dokumentationssystem sind wie folgt:

Wenn sich ein System sowieso selbst dokumentiert, wie kann dann eine gute Dokumentation aussehen?

Meine Dokumentationen sehen oft nicht anders aus als Auszüge aus der .bash_history zusammen mit Listings oder Diffs von Konfigurations-Dateien und einigen Erklärungen dazu. Zum Beispiel warum eine bestimmte Version einer Software eingesetzt werden musste oder dergleichen. Im Prinzip schreibe ich zusätzliche Erklärungen nur dort auf, wo nicht aus der Konfiguration zu erkennen ist warum etwas so gemacht wurde. So spare ich Zeit und halte den Umfang gering. Wenn das Dokumentieren schnell geht, hilft es mir die Lust nicht gleich wieder zu verlieren und wenn der Umfang gering bleibt kann ich die Dokumentation auch in ein paar Monaten noch schnell überfliegen und verstehen. (Viel einfacher als die alten 50-Seiten PDFs)

Auswahl einer Wiki Software

Ich hatte nicht wirklich viele Anforderungen an eine Wiki Software als ich angefangen habe dieses Dokumentationsprinzip zu nutzen. Wichtig war mir auf jeden Fall, dass keine Datenbank benötigt wird. Ein Wiki was nur auf Textdateien basiert ist leichter zu sichern und zu migrieren. Und da ich es nur alleine und lokal nutze spielt performance nun wirklich keine Rolle. Meine Entscheidung fiel auf DokuWiki, in PHP geschrieben und auch sonst alle Anforderungen erfüllend ist DokuWiki ein guter Kandidat für DokumentationsWikis (wie der Name ja schon nahe legt). Des Weiteren bietet DokuWiki eine einfache Syntax und Syntax-Highlighting für Code-Listings, was sicherlich sehr interessant ist, da ein Großteil der Dokumentationen aus Code-Listings bestehen wird.

Notizen zur Einrichtung auf einem Mac

Hier will ich nicht zu sehr ins Detail gehen. Zum einen hat nicht unbedingt jeder einen Mac zum anderen hat jeder seine eigenen Präferenzen. Des Weiteren habe ich den Vorgang fast so schon einmal beschrieben. Deshalb nur ein paar Notizen:

Mehr Informationen

Wer noch mehr zum Thema Dokumentation wissen möchte, bzw. sich dafür interessiert, wie man sich das Leben als Systemadministrator etwas leichter machen kann, dem kann ich nur das Buch Time Management for System Administrators von Tom Limoncelli empfehlen. Ich habe das Buch vor ungefähr einem Jahr gelesen und profitiere bis heute noch davon.

Time Management

Time Management


Kommentare