¿Por qué los errores de depuración de NAS siguen un puerto del controlador en distintas unidades?

Eva Wong es la Redactora técnica y manitas residente en ZimaSpace. Una geek de toda la vida con pasión por los homelabs y el software de código abierto, se especializa en traducir conceptos técnicos complejos en guías accesibles y prácticas. Eva cree que el autoalojamiento debe ser divertido, no intimidante. A través de sus tutoriales, empodera a la comunidad para desmitificar las configuraciones de hardware, desde construir su primer NAS hasta dominar los contenedores Docker.

Los errores de depuración que siguen a un puerto del controlador entre distintas unidades suelen apuntar a la ruta compartida, no al medio de grabación de los discos.

Una depuración lee un conjunto amplio de bloques y puede revelar fallos que el acceso diario normal nunca alcanza. Si distintas unidades que se sabe que funcionan correctamente desarrollan errores solo cuando se conectan a través del mismo puerto, los componentes comunes incluyen el canal del controlador, el conector, el cable, la vía del plano posterior, la ruta del expansor, la alimentación, el firmware y la refrigeración alrededor de esa ruta. El diagnóstico debe demostrar que el error sigue al puerto, conservando al mismo tiempo la identidad de la unidad, las marcas de tiempo y el tipo de error.

Confirma que el error sigue al puerto, no al nombre de la unidad

Registra los números de serie de las unidades, los ID de dispositivo estables, el puerto del controlador o PHY de la HBA, el cable, la bahía, el miembro del grupo de almacenamiento y los contadores de lectura, escritura y suma de comprobación antes de la próxima depuración. No dependas únicamente de los nombres cambiantes de /dev/sdX.

El flujo de solución de problemas de unidades de TrueNAS hace hincapié en recopilar pruebas del grupo de almacenamiento y SMART antes de borrar errores o reemplazar un dispositivo.

Después de un intercambio con el sistema apagado, comprueba si el error sigue a la unidad, la bahía, el cable o el puerto del controlador. Cambia solo un componente por prueba para que el resultado siga siendo interpretable.

Separa los errores de suma de comprobación de la depuración de los errores de lectura y escritura de la unidad

Guarda el resultado completo de la depuración y los contadores de cada dispositivo. Una discrepancia de suma de comprobación, un tiempo de espera agotado de un comando, un sector ilegible y una escritura fallida representan capas de fallo diferentes.

Oracle documenta que una depuración de ZFS verifica las sumas de comprobación de los datos activos, mientras que el estado del grupo de almacenamiento informa por separado de los errores de lectura, escritura y suma de comprobación de cada dispositivo.

Si los errores de suma de comprobación aumentan sin errores del medio y siguen una ruta física, sospecha de corrupción de datos entre la memoria y la unidad o de un transporte inestable. Si los errores de lectura siguen a la unidad entre distintos puertos, es más probable que el disco sea el responsable.

Asocia el disco con el controlador y el enlace exactos

Traza la ruta estable del disco a través del controlador del host, la dirección PCI, el expansor SAS o el puerto SATA, la carcasa, el cable y la bahía. Guarda la correspondencia antes de mover el hardware.

La vista de dispositivos de lspci identifica el controlador de almacenamiento PCI independientemente de los nombres del sistema de archivos y del grupo de almacenamiento, lo que ayuda a distinguir una ruta del controlador defectuosa de un disco que simplemente recibió un nombre de dispositivo nuevo.

En una HBA, incluye la información del PHY y del expansor cuando esté disponible. Dos bahías frontales pueden compartir un cable mini-SAS o una vía del expansor aunque la interfaz las muestre como ranuras independientes.

Inspecciona los reinicios del enlace SATA o SAS durante la depuración

Supervisa el registro del kernel desde el momento en que comienza la depuración. Busca reinicios forzados, fallos de COMRESET, eventos de enlace desconectado, tiempos de espera agotados de comandos, errores de protocolo y cambios en la velocidad negociada de la ruta afectada.

La guía de libATA de Linux describe el reinicio del enlace y la recuperación de errores por puerto, lo que explica por qué los mensajes repetidos asociados a un puerto ATA son pruebas más sólidas que una advertencia genérica del grupo de almacenamiento.

Conserva el primer mensaje de transporte. Los errores posteriores del sistema de archivos pueden ser solo consecuencias de que el controlador perdiera la comunicación durante una lectura.

Compara los contadores de CRC de la interfaz y de tiempos de espera de comandos

Captura los atributos y registros SMART de cada unidad antes y después de una depuración. Comprueba si los contadores de CRC de la interfaz o de tiempos de espera de comandos aumentan únicamente en la ruta afectada.

Unraid explica que los errores CRC de UDMA se producen entre la unidad y el controlador, y suelen implicar los cables, conectores, el enrutamiento o el enlace del controlador, más que daños en los platos.

Los totales históricos de CRC no identifican el componente actual. Registra el valor bruto, ejecuta una prueba acotada y comprueba únicamente si el valor aumentó.

Ejecuta las pruebas de la unidad por separado de la carga de trabajo de depuración

Ejecuta pruebas SMART cortas y extendidas compatibles cuando el grupo de almacenamiento esté inactivo y los datos estén protegidos. Evita programar una prueba SMART completa al mismo tiempo que otra depuración o reconstrucción.

La referencia de smartctl separa las autopruebas internas y los registros de errores de la unidad de la verificación del sistema de archivos realizada desde el host.

Una unidad que supera una prueba interna pero produce errores solo en un puerto del controlador refuerza la hipótesis de un problema en la ruta. No demuestra que el disco sea perfecto, así que continúa supervisándolo después de cambiar el puerto.

Cambia un solo componente compartido y repite una depuración acotada

Con las copias de seguridad actualizadas y el servidor apagado, mueve una unidad que se sabe que funciona correctamente por la ruta sospechosa o reemplaza un cable, manteniendo estables las demás variables. No cambies todas las unidades de posición simultáneamente.

La guía de ZimaSpace sobre un disco RAID desconectado frente a una bahía defectuosa proporciona el método de intercambio controlado relacionado; este artículo aplica esa lógica específicamente a los errores de depuración que siguen repetidamente a un puerto del controlador.

Detén la depuración y prioriza la protección de los datos si los errores aumentan rápidamente, varias unidades del mismo controlador se reinician, el grupo de almacenamiento se degrada o las aplicaciones informan de archivos dañados. El problema solo se considera resuelto después de que la misma ruta del puerto complete varias depuraciones y operaciones normales de E/S sin nuevos errores.

Soporte y Consejos

Más para leer

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.