Drei Tage totaler Server Ausfall

Am Freitag, den 1. September 2017, früh morgens ab drei Uhr, machte ich ein Upgrade des FreeBSD Host von Version 11.0 auf 11.1. Zunächst lief alles nach Plan. Doch eine Inkompatibilität versperrte den Netzwerkzugang der virtuellen Maschinen mit Virtualbox. Es begann eine Verkettung von Fehlern und meine Fähigkeiten schwanden. Auch der Mix aus neuen, alten und falschen Informationen im Netz, fast alles auf Englisch, hinderten mich an einer Lösung der Probleme. In den Foren war nicht klar zu entnehmen, ob es sich um einen Software Fehler oder um eine falsche Konfiguration handelt. Da bei der Release Version von FreeBSD Wochen vergehen können, bis Aktualisierungen verfügbar sind, plante ich, die VMs waren eh schon offline, ein Downgrade zurück auf 11.0. Das ging mächtig schief.

Vorwärts immer, rückwärts nimmer – Gilt wohl auch für BSD. Auf jeden Fall war das init sehr kaputt (Kernel panic: no init), das System nicht mehr startbar. Die Überlegung war, den FreeBSD Host auf einer anderen Platte nach zu bauen und die VMs und diverse Platten Images zu kopieren. Ich sollte hart scheitern. Das ZFS Dateisystem ist mit GELI verschlüsselt. Die Key Datei habe ich exportiert bekommen. Mir war es nach einen Tag nicht gelungen, das Dateisystem einzubinden. Es gibt irgendwelche ZFS allow/unallow Parameter und mit create und destroy war ich zurückhaltend, bevor etwas hätte überschrieben werde können. Fehler beim Denken verhinderten hier ein Weiterkommen. Der Plan war ursprünglich folgender:

mkdir /tmp/bootpool
zfs import # lists the available pools to import. bootpool should be listed there
zfs import -N -f bootpool # forcefully import bootpool, but don’t mount it.
zfs set mountpoint=/tmp/bootpool bootpool
zfs mount bootpool
geli attach -k /tmp/bootpool/boot/encryption.key /dev/ada1p4
Enter passphrase:

Das Passwort konnte eingegeben werden, jedoch der folgende Befehl wurde verweigert:

zfs import -N -f zroot

Weiter hätte ich dies eingegeben_

mkdir /mnt/hd
zfs create -o mountpoint=/mnt/hd zroot/zroot
mount /dev/ada1p4.eli /mnt/hd

An die Daten auf der Festplatte kam ich nun nicht mehr heran. Ich hatte sie beiseite gelegt. Weil die Key Datei gesichert werden konnte, wurde das Rauskopieren vertagt, bis eine Eingebung mich weiter bringen wird.

Von den wichtigen VMs gab es ein Backup vom 19. August 2017, also knapp zwei Wochen alt. Den zweiten Tag scheiterte ich daran, den Host wieder so nach zu bauen, wie ich den vor ein paar Jahren gebaut hatte. Aus ein paar Gründen benötige ich ein minimales grafisches System, X11. Doch die Grafikkarte und nicht mehr weiter entwickelten Treiber untermauerten mein Versagen. Ich bekam es nicht mehr hin. Es wuchs in mir der Entschluss, den Host für die VMs mit Debian zu bauen.

Es bahnten sich schon lange Gründe an, warum Debian sinnvoller sein mögen, ich hatte die Denkweise, ein schlanken Host mit FreeBSD, konservativ und stabil. Da aber noch Drucker, Scanner usw. irgendwann wieder genutzt werden könnten sollte, die FreeBSD entweder wegen der fehlenden Treiber oder des nicht durchschleusbaren USB 2.0 mit Virtualbox nicht unterstützt, sollte ein Wechsel zu Debian stattfinden.

Die aktuelle Version von Debian 9.1.0 hat einen kaputten Netzwerkmanager, es empfiehlt sich, von 9.0.0 zu installieren, alles einzurichten und erst dann das System upzugraden. Diese Erkenntnis hatte ich nach einem dreiviertel Tag später dann auch.

Endlich konnten neun VMs umziehen und wieder gestartet werden. Endlich auch wieder Freifunk verfügbar. Ein RAID System wäre auch für mein Server gut, jedoch in diesem Fall hätte genau das nicht gereicht. Die Backups haben mir sehr viel Arbeit erspart, auch wenn der Speichstand zwei Wochen alt war. Es sind ein Protokoll im Wiki und Eintragungen im Wekan abhanden gekommen, aber diese sind noch auf der Ursprungsplatte. Vielleicht ist da doch noch ein Herankommen.

Meine kognitive Dissonanz, da steht z.B.

zfs allow -u someuser send,snapshot mypool

in der Anleitung, aber someuser und mypool muss anders sein. Also ich habe starke Problem bei Anleitungen zu sehen, welche Teile eines Befehls an das eigene System angepasst werden muss. Ich kann mir Vokabeln schlecht merken, daher immer wieder Probleme mit Syntax, Variablen usw.

Die drei Tage waren mit sehr viel Müdigkeit verbunden, die Hälfte der Ausfallzeit habe ich geschlafen. In einer Bank oder in einem Konzern wäre das “Durchmachen” Pflicht des Admin gewesen. Daher habe ich wieder große Zweifel, jemals beruflich den Quereinstieg zu schaffen. Ich kann das nicht leisten.

Würde ich die Admin Tätigkeit beruflich machen, würde nicht alles auf einem Server laufen. Wäre etwas mehr Geld verfügbar, gäbe es zwei separate Internetanschlüsse, jeweils mit zwei Server mit RAID als Clusterverbund und ein Speichersystem für Backups mit kürzeren Speicherzyklen.

An dem Konzept dezentrales Internet möchte ich festhalten. Jedoch 72 Stunden Ausfall mit Datenverlust sind nicht verzeihbar, das darf nicht passieren. Die Fähigkeiten sollte ich sehr bescheiden sehen. Ich mache nach wie vor viel zu viele Fehler. Ich muss gebremst werden.