Zum Hauptinhalt springen

Erfassung von Diagnoseinformationen

Wenn es Probleme mit Ihrem Unraid-Server gibt, ist das Sammeln detaillierter Informationen entscheidend für eine effektive Problemlösung. Diese Informationen helfen anderen, genaue und zeitnahe Unterstützung bereitzustellen, insbesondere wenn Sie in Foren posten.

Diagnostics Einschließen...

Die Diagnosedatei im ZIP-Format enthält mehrere anonymisierte Textdateien, die eine detaillierte Momentaufnahme Ihres Unraid-Systems erstellen, einschließlich:

  • Systemkonfiguration: Informationen über Ihre array, Freigaben, Netzwerkeinstellungen und installierte Plugins.
  • Systemprotokolle: Protokolle vom Kernel, WebGUI und von Systemdiensten, die Ereignisse dokumentieren, die zur Problematik geführt haben könnten.
  • Hardwareinformationen: Details zu angeschlossenen Laufwerken, Controllern und anderen Hardwarekomponenten.
  • Docker- und %%VM|VM%%-Infos: Gesamtkonfiguration für Docker und virtuelle Maschinen (keine Informationen zu Ihren individuellen Containern oder %%VMs|VMs%% enthalten).

Systemdiagnostik

Unraid bietet ein Diagnosetool, das unter Tools → Diagnostik im WebGUI zu finden ist, um umfassende Systeminformationen für die Fehlersuche zu erfassen. Dieses Tool erstellt eine Zip-Datei, die Sie herunterladen und an Forenbeiträge anhängen können, um Unterstützung zu erhalten. Alle Diagnoseprotokolle sind textbasiert, und Benutzer können diese überprüfen, um zu verstehen, welche Informationen enthalten sind.

SzenarioWie erfassenAnmerkungen
%%WebGUI|Web-GUI%% verfügbarVerwenden Sie Tools → Diagnosen im %%WebGUI|Web-GUI%%, um die Diagnosedatei im ZIP-Format zu erstellen und herunterzuladen.Diagnosedaten werden standardmäßig anonymisiert, um sensible Daten zu schützen.
%%WebGUI|Web-GUI%% nicht verfügbarZugriff über SSH, telnet oder direkte Konsole, um den diagnostics Befehl auszuführen. Die ZIP-Datei wird unter /boot/logs gespeichert.Erfassen Sie die Diagnosedaten immer vor dem Neustart, um die Protokolle intakt zu halten.
%%Array%% im Normalmodus gestartetDies ist die bevorzugte Methode zur Erfassung von Diagnosedaten, da sie die vollständigsten Informationen bereitstellt, insbesondere in Bezug auf den Status der Laufwerke.Wenn dies nicht möglich ist, sehen Sie im Abschnitt Persistente Logs für alternative Erfassungsmethoden nach.

Logik der Laufwerksauswahl

important

Hängen Sie die einzelne Diagnosedatei im ZIP-Format an, wenn Sie Beiträge in Foren posten. Vermeiden Sie das Hochladen der extrahierten Dateien einzeln.

Anonymisierung von Diagnosedaten

By default, diagnostics are automatically anonymized. If you enable Mover logging under Settings → Scheduler → Mover Settings, the syslog will include details about files the Mover processes. It's best to allow Mover logging only when troubleshooting specific Mover-related issues, as it may reveal file paths and names.

When your system shuts down gracefully, the session log is saved automatically to the flash drive. You can access it after rebooting by going to Tools → Syslog → syslog-previous. This log is also included in diagnostics on the next boot. However, if the system crashes, the system log will be lost. In these cases, enabling syslog mirroring to the flash or using a remote syslog server is recommended to preserve logs for troubleshooting.


Ermittlung der Lesegeschwindigkeit von Festplatten

You can use built-in Linux tools to evaluate the read performance of your hard drives. This is helpful when diagnosing slow parity syncs, sluggish disk responses, or mismatched speeds among drives in an array or cache.

When und warum Testgeschwindigkeit wichtig ist

Überlegen Sie sich, Disk-Read-Benchmarks auszuführen, wenn Sie feststellen:

  • Extremely slow parity builds or parity checks
  • Verdächtig langsame Dateiübertragungen von einer bestimmten Festplatte
  • Unstimmigkeiten nach dem Hinzufügen oder Ersetzen von Festplatten, insbesondere bei der Mischung von SSDs und HDDs
  • Reallozierte Sektoren oder UDMA CRC-Fehler, die möglicherweise auf fehlerhafte Laufwerke hinweisen

Obwohl diese Tests Ihnen keine exakten Übertragungsgeschwindigkeiten in realen Bedingungen liefern, können sie auf unterperformende Festplatten und Controller-Engpässe hinweisen.

Schnelltest (hdparm)

Das hdparm-Tool misst sowohl die zwischengespeicherte als auch die gepufferte Lesegeschwindigkeit einer Festplatte.

Um den Test durchzuführen, ersetzen Sie X durch Ihr Festplattengerät (z. B. sdb oder sdg) und geben Sie den folgenden Befehl ein:

hdparm -tT /dev/sdX
  • Das -T-Ergebnis zeigt die Cache-Lesegeschwindigkeit.
  • Das -t-Ergebnis zeigt die gepufferte (sequenzielle) Festplattenleseleistung.
Hinweis

Führen Sie diesen Test mehrfach durch, um eine zuverlässigere Benchmark zu erhalten. Zum Beispiel können Sie den folgenden Einzeiler verwenden, um den Test 12-mal auszuführen:

for ((i=0;i<12;i++)); do hdparm -tT /dev/sdX; done
notiz

Make sure to replace /dev/sdX with a valid physical device. Avoid logical Unraid devices, such as /dev/md1, which include parity processes that may distort the raw performance readings.

Umfassender Test (diskspeed.sh)

Für eine detailliertere Bewertung aller angeschlossenen Laufwerke, einschließlich parity- und Datenträger, sollten Sie das Community-Skript diskspeed.sh verwenden.

Dieses Skript:

  • Testet Lesegeschwindigkeiten an mehreren linearen Offsets auf der Festplattenoberfläche
  • Generiert CSV-Daten und Leistungs-Heatmaps (Bilder)
  • Kann Bereiche schlechter Leistung identifizieren, was ein Zeichen für fehlerhafte Hardware oder problematische SMR-Festplatten sein könnte

So beginnen Sie mit diskspeed.sh:

  1. Laden Sie das Skript von den Unraid-Foren herunter.
  2. Platzieren Sie es in einem persistenten Pfad wie /boot/scripts/.
  3. Machen Sie es ausführbar:
chmod +x /boot/scripts/diskspeed.sh
  1. Führen Sie das Skript aus:
bash /boot/scripts/diskspeed.sh
notiz

This script only performs read-only operations and won't modify any data on your drives. However, it's best to schedule the test during idle periods, as it may affect disk I/O and interfere with array performance.


Persistente Protokolle (Syslog-Server)

Persistente Protokolle sind wichtig, um Systemereignisse zwischen Neustarts aufzuzeichnen. Im Gegensatz zu Standardprotokollen, die beim Neustart des Systems zurückgesetzt werden, verwenden persistente Protokolle den integrierten syslog-server von Unraid, um sicherzustellen, dass Sie Abstürze oder intermittierende Probleme, die im Laufe der Zeit auftreten, diagnostizieren können.

Auswahl der richtigen Protokollierungsmethode

Gehen Sie zu Einstellungen → Syslog-Server, um persistente Protokollierung einzurichten. Jede Methode hat Vor- und Nachteile:

MethodeVorteileNachteileAm besten geeignet für
Spiegeln auf FlashErfassen der Ereignisse beim BootvorgangKann das Flash-Laufwerk schnell abnutzenKurzzeitdiagnostik (einige Tage)
Remote %%syslog|Syslog%%Protokolle werden auf einem anderen Gerät gespeichertBenötigt einen separaten, immer eingeschalteten ServerLangzeitüberwachung (Wochen bis Monate)
Lokales syslogKeeps logs on the array or cache, reducing wear on flashWeniger zugänglich bei einem SystemabsturzKontinuierliche Protokollierung ohne externe Geräte
Hinweis

Für detaillierte Konfigurationshilfe, schauen Sie sich das Hilfesymbol in der WebGUI-Werkzeugleiste an.

Aktivieren des Syslog-Servers

  1. Wählen Sie Ja unter Spiegeln auf Flash.
  2. Klicken Sie auf Anwenden. Protokolle werden auf Ihrem USB-Stick in /boot/logs/syslog gespeichert.

Beim nächsten Neustart wird diese Datei in /boot/logs/syslog-previous umbenannt. Sie können diese Datei über Tools → Syslog → syslog-previous anzeigen, und sie wird auch (anonymisiert) in die Diagnose aufgenommen.

Wie es funktioniert

  • Standardmäßig kopiert Unraid das syslog bei jedem ordnungsgemäßen Herunterfahren auf den USB-Stick. Dies wird durch die Einstellung "copiere syslog beim Herunterfahren auf USB-Stick" verwaltet, die standardmäßig aktiviert ist.
  • Wenn Sie Abstürze beheben möchten, können Sie "Spiegeln auf USB-Stick" aktivieren. Dadurch wird das syslog sowohl in /var/log/syslog als auch in /boot/logs/syslog in Echtzeit geschrieben. Sollte ein Absturz passieren, werden alle syslog Einträge, die vor dem Absturz auf den USB-Stick geschrieben wurden, beibehalten.

Beide Methoden führen dazu, dass nach dem nächsten Start eine /boot/logs/syslog-previous Datei erstellt wird, auf die Sie über den syslog Viewer zugreifen können und die in die Diagnose aufgenommen wird.

vorsicht

Die Einstellung Kopiere syslog beim Herunterfahren auf den Flash ist sicher für Ihr Flash-Laufwerk. Das Aktivieren von Spiegeln auf Flash kann jedoch zu übermäßigen Schreibvorgängen führen, wenn es über einen längeren Zeitraum eingeschaltet bleibt. Für langfristige Protokollierungsanforderungen sollten Sie stattdessen die Verwendung eines lokalen oder entfernten syslog-Server in Betracht ziehen.


Zugriff auf Docker-Container-Protokolle

Während Standarddiagnosen nur begrenzte Daten für Docker und VM bereitstellen, können Sie Container-Protokolle direkt abrufen, um detailliertere Fehlerbehebungen durchzuführen.

So rufen Sie Docker-Protokolle ab:

  • Navigieren Sie zu Docker > Container
  • Klicken Sie auf das Logs-Symbol für den gewünschten Container

Protokolle für virtuelle Maschinen

%%VM%%-Protokolle können über ihre jeweiligen Hypervisors abgerufen werden (zum Beispiel befinden sich %%QEMU%%-Protokolle unter /var/log/libvirt/). Lesen Sie in der Dokumentation Ihrer %%VM%%-Plattform nach weiteren Details.

important

Denken Sie daran, die relevanten Container- oder VM-Protokolle separat beizufügen, wenn Sie Unterstützung für anwendungsspezifische Probleme suchen.