.shock - stock.adobe.com
Ihr Server will nicht so wie Sie? So finden Sie Linux-Fehler
Linux-Server laufen in der Regel stabil. Treten dennoch Fehler auf, müssen Sie dies als Administrator möglichst schnell finden und beheben. Wir erklären, wie das geht.
Linux-Server laufen in der Regel stabil. Treten dennoch Fehler auf, müssen Sie dies als Administrator möglichst schnell finden und beheben, um den Betrieb im Unternehmen weiter aufrecht zu erhalten. Wir erklären, wie das geht.
Wen Sie nicht wissen, wo Sie dabei anfangen sollen, ist es zuerst sinnvoll, sich die Hardware genauer anzuschauen. Dazu verwenden Sie in Linux das Terminal. Dieses finden Sie in den meisten Distributionen, indem Sie die Tastenkombination STRG, ALT und ENTF drücken.
Der erste Schritt bei der Fehlerbehebung ist es, sich erst einmal einen Überblick über die wichtigsten Informationen zu schaffen, um den Fehler einzugrenzen. Finden Sie in einem ersten Schritt heraus, welche Benutzer in Ihrem System angelegt sind. Dazu geben Sie den Befehl who ein. Aktuelle Rechte Ihrer Benutzer, zum Beispiel Root-Rechte, lassen Sie sich mit whoami anzeigen. Wann sich Benutzer das letzte Mal angemeldet haben, finden Sie mit lastlog heraus. Die installierte Linux-Distribution und deren Version zeigt das Terminal mit cat /etc/*release an.
Eine weitere wichtige Information ist das Datum des letzten Starts Ihres Servers und wie lange er schon läuft. Um das zu prüfen, geben Sie last reboot ein. In mancherlei Hinsicht ähneln Sich alle Betriebssysteme: Starten Sie den Computer als allererstes mit dem Befehl reboot neu.
Hardware, Servername und IP-Adresse für das Troubleshooting auslesen
Mit sudo dmidecode --type memory lesen Sie die Hardwareinformationen aus dem BIOS/UEFI aus. Auf diesem Wege können Sie Fehler in der Hardware finden. Für die Suche nach dem Namen des Servers und dessen IP-Adresse verwenden Sie die Befehle hostname und ip addr show oder ip a.
Bei Netzwerkproblemen überprüfen Sie mit ping oder nslookup, ob die Namensauflösung funktioniert und ob Sie andere Computer im Netzwerk anpingen können. Die Namensauflösung testen Sie mit dig parallel zu nslookup.
Um die externe IP-Adresse im Internet eines Computers anzuzeigen, geben Sie curl ifconfig.me ein. Routen lassen sich wiederum mit traceroute überprüfen. Dadurch holen Sie mit wenigen Befehlen umfassende Informationen ein, um Fehler auf Servern zu finden und zu beheben, wenn sie vom Netzwerk ausgehen.
Auch die Routen auf einem Rechner spielen eine wichtige Rolle für das Funktionieren Ihres Systems. Sie rufen diese im Terminal mit route ab. Die Netzwerkverbindungen sind wiederum mit netstat zu finden.
Eine wichtige Information zur Fehlerbehebung von Netzwerkproblemen ist außerdem der Status der Firewall auf einem Server. Die Informationen rufen Sie mit systemctl status firewalld oder auf Ubuntu mit ufw status ab.
Fehler auf Datenträger und im Arbeitsspeicher identifizieren
Um Fehler auf Datenträgern zu identifizieren, helfen weitere Werkzeuge. Dazu gehört zum Beispiel df -h. Weitere Informationen zum freien Speicher finden Sie mit df -kh.
Freien Arbeitsspeicher rufen Sie mit free ab. Hier erkennen Sie schnell Fehler, die durch eine Überlastung der Hardware entstehen. Wenn Sie wissen möchten, wie viel Speicher verschiedene Verzeichnisse belegen, geben Sie du ein. Das Dateisystem überprüfen Sie mit fsck. Die Typen der Dateisysteme sowie die Menge des belegten Speicherplatzes finden Sie mit sudo df -hat.
Wenn Sie eventuelle Fehler auf Datenträgern aufspüren möchten, verwenden Sie das Tool iostat. Der Befehl ist Teil der Sammlung der erweiterten Systemüberwachungswerkzeuge sysstat. Er erstellt Berichte über CPU-Statistiken und E/A-Statistiken (Eingabe/Ausgabe) für Blockspeichergeräte, Partitionen und Netzwerkdateisysteme:
iostat -xz 1
SMART-Informationen in Linux auslesen
Mit den Smartmontools bekommen Sie Einsichten in SMART-Informationen von Datenträgern. Installieren Sie das Werkzeug mit sudo apt-get install smartmontools. Ob eine Festplatte SMART unterstützt, finden Sie zum Beispiel mit sudo smartctl --info /dev/sda heraus. Es kommt vor, dass ein Datenträger zwar SMART unterstützt, die Funktion aber nicht aktiviert ist.
Für die Fehlerbehebung auf Datenträgern ist das sinnvoll. Sie aktvieren die Funktion mit sudo smartctl --smart=on /dev/sda. Den SMART-Status finden Sie mit sudo smartctl -t long /dev/sda. Kürzere Informationen erhalten Sie mit dem Befehl sudo smartctl -t short /dev/sda.
Prozesse im Griff behalten
Die Verwaltung von Prozessen spielt beim Troubleshooting eine besonders wichtige Rolle. Beenden lassen sich Prozesse mit kill. Die laufenden Prozesse können sie mit top oder besser mit htop einsehen. Die Installation von htop stoßen Sie mit sudo apt install htop an.
Prozesse können Sie auch als Baumstruktur über pstree darstellen lassen. Mit den genannten Befehlen bekommen Sie schnell ein Überblick zu den laufenden Prozessen und deren Auslastung.
Ob ein bestimmtes Programm oder ein Prozess läuft, überprüfen Sie mit dem folgenden Befehl:
sudo ps -ef | grep apache2
sudo netstat -plunt | grep apache2
Wenn ein Dienst, wie zum Beispiel Apache, nicht läuft, starten Sie ihn im Terminal neu mit: sudo service apache2 start. Um zu überprüfen, ob Dienste laufen und gestartet sind, können Sie auch systemctl status sshd verwenden. Dieser Befehl zeigt an, ob SSH (Secure Shell) auf dem Computer aktiv ist. SSH eignet sich für das Troubleshooting ideal, da Sie damit im Netzwerk auf Servern Fehler suchen oder Verwaltungsaufgaben durchführen können. Die Installation von SSH auf einem Ubuntu-Server erfolgt zum Beispiel mit:
sudo apt-get install openssh-server
Protokolle auslesen und Kernelmeldungen einsehen
Für das Troubleshooting spielen natürlich auch die Protokolle des Servers eine Rolle, die sich normalerweise im Verzeichnis /var/log befinden. ls -l /var/log zeigt die einzelnen Protokolle an.
Um Kernel-Meldungen anzuzeigen, geben Sie dmesg ein. Eine gute Übersicht der letzten Kernel-Meldungen sind mit dmesg | tail oder dmesg | tail -f /var/log/syslog zu sehen.