Saltar a contenido

Modos de fallo y manejo

Catálogo de cosas que pueden salir mal en el sistema y cómo detectarlas/recuperarse. Responde la pregunta guía de modos de fallo y cierra el diseño de robustez.

Contexto

Un sistema con piezas móviles + discos viejos + conectores ciclados tiene muchos puntos de fallo. Diseñar el manejo de errores desde el inicio evita corromper datos o romper hardware. Cruza diseno mecanico, power y hot plug e integracion software robot.

Contenido

Fallo Detección Manejo
Mal mate del conector (no enumera el disco) Tras energizar, el disco no aparece en /dev/disk/by-id en N s Reintentar mate (retract + re-insert) hasta K veces; luego marcar slot "error" y avisar
Disco agarrado equivocado Serial leído al montar ≠ serial esperado (identificacion discos) Abortar, devolver disco al slot, re-leer barcode
Disco muerto / no spin-up Sin spin-up completo en timeout; SMART falla Marcar disco "dead" en el catálogo; no reintentar energizar (riesgo); avisar
Pico de corriente / PSU trip Brown-out al energizar Staggered spin-up; energizar de a uno; PSU con margen
Brazo desalineado / pierde pasos Endstop no se alcanza en homing; fallo de mate recurrente Re-home; los steppers sin encoder pierden pasos → homing frecuente (diseno mecanico)
Disco atascado en slot/dock Corriente del stepper sube / no llega a posición Parar (límite de corriente), avisar, no forzar
Corte de energía a mitad de operación Nunca cortar power a un disco sin spin-down/flush previo; journaling del estado del robot para reanudar
Etiqueta barcode ilegible Cámara no decodifica Fallback a posición fija + verificación por serial al montar; re-etiquetar
Bit rot / disco degradado Scrub periódico (SnapRAID parity / checksums) Restaurar de paridad o copia redundante; git-annex numcopies

Principios

  • Fail-safe sobre datos: ante duda, no escribir y no cortar power sin flush. Un fallo mecánico no debe corromper datos.
  • Verificación de serial obligatoria antes de servir/escribir: barrera contra mover el disco equivocado.
  • Reintentos acotados (K=2–3) y luego estado "error" + alerta — coherente con la regla de gaps "blocked tras 2 intentos".
  • Journaling del estado del robot (qué disco está dónde, operación en curso) para reanudar tras corte.

Relaciones

Citas / evidencia

Abierto / gaps

  • Definir timeouts concretos (spin-up, mate) según los discos reales del usuario.