Problembehebung

Die nachfolgende Kapitel enthalten Hinweise zum Finden und Beheben von Problemen.

Allgemeine Problembehebung

In der Regel sehen wir zuerst die Symptome des Problem, bevor wir feststellen, dass es falsch gelaufen ist. Unser nächster Schritt sollte sein heraus zu finden wo das Problem liegt. Sobald wir das wissen, können wir uns an die Behebung machen.

Bei der Suche nach dem Problem ist es eine gute Idee nochmal die entsprechenden Kapitel zu lesen und die eigene Konfiguration zu überprüfen. Stundenlang einen Fehler suchen und dann fest zu stellen, dass es ein Schreibfehler war, kann sehr frustrierend sein.

Wenn Sie durch die folgenden Vorschläge gehen, sollten Sie immer wieder versuchen den Fehler nachzustellen, um zu prüfen, ob er dadurch bereits verschwunden ist.

Mit den Befehlen opsiconfd health-check und opsiconfd diagnostic-data können Sie die Konfiguration und den Status des opsi-Servers überprüfen.

Updates Installieren

Normalerweise ist der einfachste erste Schritt bei der Fehlerbehebung sicher zu stellen, dass die neueste Software-Version verwendet wird. Mit dem Wechsel auf eine neuere Version erhöht sich die Chance, dass ein bestehendes Problem in der Zwischenzeit bereits behoben wurde.

Wann immer Aktualisierungen für opsi veröffentlicht werden, wird die im Forum bekannt gegeben. Mit der Veröffentlichungsinformation gibt es außerdem Changelogs, welche dabei helfen können mit welcher Version einer Komponente ein Fix für das eigene Problem veröffentlicht wurde.

Auf einem Debian-basierten System können Betriebssytemupdates wie folgt eingespielt werden:

apt update
apt dist-upgrade

Anschließend sollten die opsi-Pakete aktualisiert werden :

opsi-package-updater -v update

opsiconfd setup und opsi-set-rights

Viele Fehler können durch das Ausführen von opsiconfd setup behoben werden. Um sicher zu stellen, dass die Dateiberechtigungen korrekt sind, sollten opsi-set-rights-Skript ausführen.

opsi-set-rights
opsiconfd setup

Danach sollten die opsi-Dienste neu gestartet werden.

systemctl restart opsiconfd.service
systemctl restart opsipxeconfd.service

Prüfen Sie anschließend, ob die Dienste laufen:

systemctl status opsiconfd.service
systemctl status opsipxeconfd.service

In manchen Fällen kann auch ein Server-Neustart Wunder bewirken.

Logging

Um heraus zu finden was falsch läuft, ist ein Blick in Logdateien oftmals der zielführendste Weg. Standardmäßig loggen opsi-Komponenten Informationen, welche zur Laufzeit nützlich sindm aber für eine tiefergehende Fehleranalyse sollte der Loglevel erhöht werden. Danach sollte versucht werden das gleiche Fehlverhalten reproduziert zu werden und anschließend die Logs untersucht werden.

Nach der Lösung des Problems sollten Sie nicht vergessen, den Loglevel wieder auf den Standard zurück zu setzen, weil ein sehr hoher Level Ihre Server verlangsamt und ungewollt eine große Menge Speicherplatz belegen könnte.

Behandling spezifischer Probleme

Die folgenden Kapitel behandeln spezifische Probleme und den Umgang mit diesen.

MySQL server has gone away

Dieser Fehler wird in der Regel begleitet von Fehlermeldungen wie der folgenden:

Execute error: (2006, 'MySQL server has gone away')

Dieser Fehler kann mehrere Ursachen haben, weshalb es wichtig ist durch die Logs auf Ihrem Server zu schauen.

Paketgröße

Eine mögliche Ursache dieses Fehler ist dass Teile der Abfrage größer als die maximal erlaubte Größe sind. Dies ist besonders dann der Fall, wenn diese Meldung über kurze Zeiträume sehr häufig auftritt.

Eine Lösung kann hierbei sein die Einstellung max_allowed_packet Ihres MySQL-Servers zu justieren.

Lebensdauer von Verbindungen

Eine mögliche Ursache dieses Fehler kann sein, dass Verbindungen aus dem Verbindungspool des MySQL-Backends nach einiger Zeit im Leerlauf den Server nicht mehr erreichen können. In solchen Fällen ist es möglich, dass der Server die Verbindung auf seiner Seite beendet hat.

Eine Lösung kann hierbei sein, dass die Lebenszeit von Verbindungen begrenzt wird, indem der Wert für connectionPoolRecycling angepasst wird. Dies sollte normalerweise niedriger als der auf dem MySQL-Server konfigurierte Wert für Verbindungs-Timeouts sein (Variable wait_timeout). Bei einem Standard-Wert von 28800 Sekunden in MySQL 8.0, könnten Sie die Lebenszeit in opsi bspw. auf 28500 setzen.

Zugriff auf Depot-Shares funktioniert nicht

Prüfen Sie ob Samba läft.

ps -ef | grep mbd

Es sollte mindestens ein nmbd und mindestens ein smbd prozess laufen.

Eventuell müssen Sie Samba neustarten:

systemctl restart smbd.service
systemctl restart nmbd.service

Es kann auch helfen das Kennwort des pcpatch-Benutzers neu zu setzen. In einer Multidepot-Umgebung empfehlen wir diesen Wert auf allen Depots gleich zu setzen.

opsiconfd setup --set-depot-user-password

Zugriff auf opsi Webservice funktioniert nicht

Prüfen Sie die Erreichbarkeit und Auslastung des opsi-Services opsiconfd.

Dazu können Sie https://<server-adresse>:4447/info per Browser aufrufen. Wenn dies nicht geht, prüfen Sie ob die benötigten Dienste laufen und kontrollieren die entsprechenden Logfiles.

Wenn diese Seite angezeigt wird: Prüfen Sie, ob die Auslastung des Webservice zu hoch ist. Zur Anzeige der Auslastungsgrafiken wird 'rrdtool' mitsamt Python-Bindings benötigt. Bitte installieren Sie diese gegebenenfalls nach.

Stellen Sie sicher, dass genügen Speicherplatz auf dem Server vorhanden ist.