Capturando información de diagnóstico
Cuando tienes problemas con tu servidor Unraid, recopilar información detallada es crucial para solucionar problemas de manera efectiva. Esta información ayuda a otros a proporcionar asistencia precisa y oportuna, especialmente cuando publicas en foros.
El archivo zip de diagnósticos contiene varios archivos de texto anonimizados que crean una instantánea detallada de tu sistema Unraid, incluyendo:
- Configuración del sistema: Información sobre tu array, compartidos, configuraciones de red y plugins instalados.
- Registros del sistema: Registros del kernel, WebGUI y servicios del sistema, documentando eventos que pueden haber llevado al problema.
- Información de hardware: Detalles sobre discos conectados, controladores y otros componentes de hardware.
- Información de Docker y VM: Configuración general para Docker y máquinas virtuales (no se incluye información sobre tus contenedores individuales o VMs).
Diagnósticos del sistema
Unraid ofrece una herramienta de Diagnósticos ubicada en Tools → Diagnostics en el WebGUI para capturar información completa del sistema para la resolución de problemas. Esta herramienta generará un archivo zip que puedes descargar y adjuntar a publicaciones en foros para obtener soporte. Todos los archivos de diagnóstico son basados en texto, y los usuarios pueden revisarlos para entender qué información está incluida.
Escenario | Cómo capturar | Notas |
---|---|---|
WebGUI disponible | Usa Herramientas → Diagnósticos en el **%%WebGUI | web-gui%%** para generar y descargar el archivo zip de diagnósticos. |
%%WebGUI | web-gui%% no disponible | Accede a través de SSH, telnet o consola directa para ejecutar el comando diagnostics . El archivo zip se guarda en /boot/logs . |
Array iniciado en modo normal | Este es el método preferido para capturar diagnósticos, ya que proporciona la información más completa, especialmente sobre el estado del disco. | Si esto no es posible, consulta la sección de registros persistentes para métodos alternativos de captura. |
Adjunta el archivo zip de diagnósticos único cuando publiques en foros - evita subir los archivos extraídos individualmente.
Anonimización de datos de diagnóstico
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.
Cuando tu sistema se apaga correctamente, el registro de la sesión se guarda automáticamente en la unidad flash. Puedes acceder a él después de reiniciar yendo a Tools → Syslog → syslog-previous. Este registro también se incluye en los diagnósticos en el siguiente inicio. Sin embargo, si el sistema falla, el registro del sistema se perderá. En estos casos, se recomienda habilitar la duplicación del syslog al flash o usar un servidor syslog remoto para conservar registros y solucionar problemas.
Pruebas de rendimiento de lectura del disco
Puedes utilizar herramientas integradas de Linux para evaluar el rendimiento de lectura de tus discos duros. Esto es útil al diagnosticar sincronizaciones de paridad lentas, respuestas lentas del disco o velocidades desiguales entre discos en un array o cache.
Considera ejecutar pruebas de lectura de discos si experimentas:
- Construcciones de parity extremadamente lentas o comprobaciones de paritys
- Transferencias de archivos sospechosamente lentas desde un disco específico
- Desajustes de disco después de agregar o reemplazar discos, particularmente cuando se mezclan SSDs y HDDs
- Sectores reasignados o errores UDMA CRC, que pueden indicar discos fallando
Aunque estas pruebas no te darán velocidades de transferencia de archivos exactas del mundo real, pueden señalar discos con bajo rendimiento y cualquier cuello de botella en el controlador.
Prueba rápida (hdparm)
La herramienta hdparm
mide las velocidades de lectura en caché y en buffer de un disco.
Para ejecutar la prueba, reemplaza X
con tu dispositivo de disco (como sdb
o sdg
) e introduce el siguiente comando:
hdparm -tT /dev/sdX
- El resultado de
-T
muestra la velocidad de lectura de caché. - El resultado de
-t
muestra el rendimiento de lectura secuencial del disco.
Ejecuta esta prueba varias veces para obtener un punto de referencia más confiable. Por ejemplo, puedes usar la siguiente línea única para ejecutar la prueba 12 veces:
for ((i=0;i<12;i++)); do hdparm -tT /dev/sdX; done
Asegúrate de reemplazar /dev/sdX
con un dispositivo físico válido. Evita dispositivos lógicos de Unraid, como /dev/md1
, que incluyen procesos de paridad que pueden distorsionar las lecturas de rendimiento en bruto.
Prueba completa (diskspeed.sh)
Para una evaluación más detallada de todos los discos conectados, incluidas unidades de parity y datos, considera usar el script de la comunidad diskspeed.sh
.
Este script:
- Prueba las velocidades de lectura en múltiples offset lineales a través de la superficie del disco
- Genera datos CSV y mapas de calor de rendimiento (imágenes)
- Puede identificar zonas de bajo rendimiento, que pueden ser una señal de hardware defectuoso o discos SMR problemáticos
Para comenzar con diskspeed.sh
:
- Descarga el script desde los foros de Unraid.
- Colócalo en una ruta persistente como
/boot/scripts/
. - Hazlo ejecutable:
chmod +x /boot/scripts/diskspeed.sh
- Ejecuta el script:
bash /boot/scripts/diskspeed.sh
Este script solo realiza operaciones de solo lectura y no modificará ningún dato en tus discos. Sin embargo, es mejor programar la prueba durante períodos de inactividad, ya que puede afectar el I/O del disco e interferir con el rendimiento del array.
Registros persistentes (servidor syslog)
Los registros persistentes son esenciales para mantener un registro de los eventos del sistema entre reinicios. A diferencia de los registros estándar que se reinician al reiniciar el sistema, los registros persistentes utilizan el servidor syslog integrado de Unraid para garantizar que puedas diagnosticar fallos o problemas intermitentes que surjan con el tiempo.
Elegir el método de registro correcto
Ve a Settings → Syslog Server para configurar el registro persistente. Cada método tiene ventajas y desventajas:
Método | Ventajas | Desventajas | Mejor para |
---|---|---|---|
Duplicar a flash | Captura eventos del proceso de arranque | Puede desgastar la unidad flash rápidamente | Diagnósticos a corto plazo (unos días) |
Remote syslog | Los registros se almacenan en otro dispositivo | Necesita un servidor separado siempre encendido | Monitoreo a largo plazo (semanas a meses) |
Local syslog | Mantiene registros en el %%array | array%% o %%cache | cache%%, reduciendo el desgaste en el flash |
Para obtener ayuda detallada sobre configuración, revisa el ícono Help en la barra de herramientas de WebGUI.
Habilitación del servidor syslog
- Espejo a flash
- Servidor de syslog remoto
- Servidor de syslog local
- Selecciona Yes en Reflejar en flash.
- Haga clic en Aplicar. Los registros se guardarán en
/boot/logs/syslog
en su unidad flash
En el próximo reinicio, este archivo será renombrado a /boot/logs/syslog-previous
. Puede ver este archivo a través de Herramientas → Syslog → syslog-previous, y también se incluirá (anonimizado) en los diagnósticos.
Cómo funciona
- Por defecto, Unraid copia el syslog a la unidad flash durante cada apagado ordenado. Esto se gestiona a través de la configuración "copiar syslog a flash durante el apagado", que está habilitada por defecto.
- Si está solucionando problemas de fallos, puede habilitar "Reflejar a flash". Esto escribirá el syslog tanto en
/var/log/syslog
como en/boot/logs/syslog
en tiempo real. Si ocurre un fallo, cualquier entrada de syslog registrada en flash antes del fallo se conservará.
Ambos métodos resultan en la creación de un archivo /boot/logs/syslog-previous
tras el próximo arranque, al que puedes acceder a través del visor de syslog y se incluirá en diagnósticos.
La configuración Copiar syslog a flash durante el apagado es segura para su unidad flash. Sin embargo, habilitar Reflejar a flash puede provocar escrituras excesivas si se deja activado durante un periodo prolongado. Para necesidades de registro a largo plazo, considere usar un %%syslog server|servidor syslog%% local o remoto.
- Configura Servidor local syslog en Habilitado.
- Ingresa la dirección IP de tu servidor syslog en Servidor syslog remoto.
- Haga clic en Aplicar.
- Los registros se transmitirán al dispositivo que especificaste.
Si subes archivos desde un syslog server remoto al foro, no serán anonimizados.
Para crear una copia persistente y confiable de tu syslog de Unraid en tu servidor:
- Configura Servidor local syslog en Habilitado.
- Configura las siguientes opciones:
- Carpeta de syslog local: Usa un compartir solo caché o preferido (lo mejor para SSDs).
- Configuraciones de rotación: Ajusta el tamaño de archivo y los límites de número.
- Para obtener los mejores resultados y asegurarse de que se capture todos los datos de syslog (incluidos los eventos de arranque), configure el campo Servidor remoto de syslog server a la dirección IP de su propio servidor (el "Método de bucle"), o el syslog no se guardará en el recurso compartido establecido.
- Esto asegura que los eventos de syslog se almacenen localmente y persistan a través de reinicios, sin escribir en la unidad flash.
- Haga clic en Aplicar.
- Los registros se guardarán en el compartir que especificaste.
- Si subes archivos desde el syslog server local al foro, no serán anonimizados.
- Los registros guardados utilizando este método no se incluyen en los diagnósticos estándar. Adjuntarlos por separado si necesita soporte.
Accediendo a registros de contenedores de Docker
Mientras que los diagnósticos estándar solo proporcionan datos limitados para Docker y VM, puedes acceder directamente a los registros de contenedores para obtener más detalles en la resolución de problemas.
Para recuperar registros de Docker:
- A través de WebGUI
- A través de la línea de comandos
- Registro persistente
- Navegue a Docker > Contenedores
- Haz clic en el icono Registros para el contenedor deseado
Usa el comando:
docker logs [container_name] > /ruta/para/guardar/log.txt
Para mapear registros de contenedores a una ruta de host, configura tu plantilla de contenedor de esta manera:
/ruta/en/contenedor:/logs
Registros de máquinas virtuales
Los registros de VM se pueden acceder a través de sus respectivos hipervisores (por ejemplo, los registros de QEMU se encuentran en /var/log/libvirt/
). Consulta la documentación de tu plataforma VM para más detalles.
Recuerda adjuntar los registros pertinentes de contenedores o VM por separado cuando busques soporte para problemas específicos de aplicaciones.