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.
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 provides a Diagnostics tool located under Tools → Diagnostics in the WebGUI to capture comprehensive system information for troubleshooting. This tool will generate a zip file you can download and attach to forum posts for support. All diagnostics files are text-based, and users can review them to understand what information is included.
Szenario | Wie erfassen | Anmerkungen |
---|---|---|
WebGUI available | Verwenden Sie Tools → Diagnosen im %%WebGUI|Web-GUI%%, um die Diagnosedatei im ZIP-Format zu erstellen und herunterzuladen. | Diagnosen werden standardmäßig anonymisiert, um sensible Daten zu schützen. |
%%WebGUI|Web-GUI%% nicht verfügbar | Access via SSH, telnet, or direct console to run the diagnostics command. The zip file saves to /boot/logs . | Immer Diagnosen erfassen, bevor Sie neu starten, um die Protokolle intakt zu halten. |
%%Array%% im Normalmodus gestartet | Dies 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. |
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.
Ü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.
Führen Sie diesen Test mehrmals durch, um eine zuverlässigere Benchmark zu erhalten. Zum Beispiel können Sie den folgenden Einzeiler verwenden, um den Test 12 Mal durchzuführen:
for ((i=0;i<12;i++)); do hdparm -tT /dev/sdX; done
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
:
- Laden Sie das Skript von den Unraid-Foren herunter.
- Platzieren Sie es in einem persistenten Pfad wie
/boot/scripts/
. - Machen Sie es ausführbar:
chmod +x /boot/scripts/diskspeed.sh
- Führen Sie das Skript aus:
bash /boot/scripts/diskspeed.sh
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)
Persistent logs are essential for keeping a record of system events between reboots. Unlike standard logs that reset when the system restarts, persistent logs use Unraid's built-in syslog server to ensure you can diagnose crashes or intermittent issues that arise over time.
Auswahl der richtigen Protokollierungsmethode
Gehen Sie zu Einstellungen → Syslog-Server, um persistente Protokollierung einzurichten. Jede Methode hat Vor- und Nachteile:
Methode | Vorteile | Nachteile | Am besten geeignet für |
---|---|---|---|
Spiegelung auf Flash | Erfasst Ereignisse des Bootvorgangs | Kann das Flash-Laufwerk schnell abnutzen | Kurzzeitdiagnostik (einige Tage) |
Remote %%syslog|Syslog%% | Protokolle werden auf einem anderen Gerät gespeichert | Benötigt einen separaten, immer eingeschalteten Server | Langzeitüberwachung (Wochen bis Monate) |
Local syslog | Keeps logs on the array or cache, reducing wear on flash | Weniger zugänglich bei einem Systemabsturz | Kontinuierliche Protokollierung ohne externe Geräte |
Für detaillierte Konfigurationshilfe, schauen Sie sich das Hilfesymbol in der WebGUI-Werkzeugleiste an.
Aktivieren des Syslog-Servers
- In Flash kopieren
- Entfernter Syslog-Server
- Lokaler Syslog-Server
- Wählen Sie Ja unter Spiegeln auf Flash.
- 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.
Die Einstellung, syslog beim Herunterfahren auf USB-Stick zu kopieren, ist sicher für Ihren USB-Stick. Das Aktivieren von Spiegeln auf USB-Stick 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-Servers in Betracht ziehen.
- Setzen Sie Lokalen Syslog-Server auf Aktiviert.
- Geben Sie unter Remote syslog-Server die IP-Adresse Ihres Syslog-Servers ein.
- Klicken Sie auf Übernehmen.
- Protokolle werden an das von Ihnen angegebene Gerät gestreamt.
Wenn Sie Dateien von einem entfernten syslog-server ins Forum hochladen, werden diese nicht anonymisiert.
Um eine persistente, zuverlässige Kopie Ihres Unraid-syslog auf Ihrem Server zu erstellen:
- Setzen Sie Lokalen Syslog-Server auf Aktiviert.
- Konfigurieren Sie die folgenden Optionen:
- Lokaler syslog Ordner: Verwenden Sie einen Cache-only oder bevorzugten Share (am besten für SSDs).
- Rotierungseinstellungen: Passen Sie die Dateigrößen- und Mengenlimits an.
- For best results and to ensure all syslog data (including boot events) is captured, set the Remote syslog server field to your server's own IP address (the "Loopback method"), or the syslog will not be saved to the set share.
- This ensures syslog events are both stored locally and persist across reboots, without writing to the flash drive.
- Klicken Sie auf Übernehmen.
- Protokolle werden im von Ihnen angegebenen Freigabeordner gespeichert.
- Wenn Sie Dateien vom lokalen syslog-Server ins Forum hochladen, werden diese nicht anonymisiert.
- Protokolle, die mit dieser Methode gespeichert wurden, sind nicht in den standardmäßigen Diagnosen enthalten. Fügen Sie sie separat bei, wenn Sie Unterstützung benötigen.
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:
- Über WebGUI
- Über Befehlszeile
- Persistente Protokollierung
- Navigieren Sie zu Docker > Container
- Klicken Sie auf das Logs-Symbol für den gewünschten Container
Verwenden Sie den Befehl:
docker logs [container_name] > /Pfad/zur/Speicherung/log.txt
Um Container-Protokolle einem Host-Pfad zuzuordnen, konfigurieren Sie Ihre Container-Vorlage so:
/Pfad/im/Container:/logs
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.
Denken Sie daran, die relevanten Container- oder VM-Protokolle separat beizufügen, wenn Sie Unterstützung für anwendungsspezifische Probleme suchen.