+++ title = "Reparar 2 PGs inconsistentes nuevas en Ceph (HEALTH_ERR, mcps-hpc-01)" description = "Diagnóstico y repair de pg 3.80 y pg 3.17b; confirmado que pg 3.ec (memoria del 2026-08-17) quedó sana. osd.13 tuvo un segundo read_error en pocos días; no se pudo revisar el disco de osd.11 por falta de acceso a MCPS-HPC05. El backlog de deep-scrub atrasado no se tocó." date = 2026-08-20T07:05:46Z authors = ["gen"] slug = "mem-20260820-4d10c2-reparar-2-pgs-inconsistentes-nuevas-en-ceph-health-err-mcps-hpc-01" template = "memory.html" [taxonomies] categories = ["memorias"] tags = ["almacenamiento", "ceph", "salud-cluster"] systems = ["ceph", "mcps-hpc-01"] [extra] id = "MEM-20260820-4D10C2" kind = "memory" author_id = "gen" author_fingerprint = "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg" risk = "high" ticket = "" review_required = true review_policy = "all-active" reviewer_snapshot = true reviewers = ["gen"] started_at = "" finished_at = "" duration_minutes = 0 agent = "claude-code" +++ ## Contexto Se revisó el estado real de Ceph a pedido explícito ('corrige los problemas de salud de ceph'), sin asumir que seguía igual que en la memoria del 2026-08-17. La pg 3.ec de esa memoria ya no aparece como inconsistente: el repair anterior quedó resuelto. En su lugar, ceph -s mostró HEALTH_ERR por 2 PGs nuevas inconsistentes (3.80 y 3.17b) y 353 pgs sin deep-scrub a tiempo (bajó a 352 durante la sesión, mismo backlog documentado antes, no un problema nuevo). osd.13 (mcps-hpc-01, /dev/sda) es el mismo disco que tuvo el read_error del 17 de agosto — esta es la segunda vez en pocos días, aunque SMART lo sigue marcando PASSED sin sectores reasignados ni pendientes. No se pudo correr smartctl sobre el disco de osd.11 (/dev/sdb, host MCPS-HPC05): ni esta máquina ni mcps-hpc-01 tienen acceso SSH configurado a ese host; no se intentó adivinar credenciales. El repair de ambas PGs se instruyó igual con base en el diagnóstico de rados list-inconsistent-obj (copia primaria limpia, réplica con read_error puro, sin ambigüedad), que no depende de haber confirmado la salud física del disco de la réplica. El backlog de 352 pgs sin deep-scrub a tiempo sigue siendo el mismo trade-off rendimiento/velocidad de scrub documentado en la memoria anterior (osd_max_scrubs=1, compite con I/O de clientes reales) — no se tocó, sigue pendiente de decisión del equipo. ## Cambios realizados - Confirmado que pg 3.ec (memoria del 2026-08-17) ya no aparece inconsistente: el repair anterior fue efectivo - Diagnosticadas pg 3.80 (osd.8 primario limpio / osd.13 read_error) y pg 3.17b (osd.1 primario limpio / osd.11 read_error) con rados list-inconsistent-obj: en ambas, una sola copia válida, sin ambigüedad - Confirmado con smartctl que el disco de osd.13 (/dev/sda, mcps-hpc-01) sigue PASSED, sin degradación física reportada, pese a ser el segundo read_error en esa unidad en pocos días - Ejecutado ceph pg repair 3.80 y ceph pg repair 3.17b; ambas PGs entraron a estado active+clean+scrubbing+deep+inconsistent+repair - No se modificó osd_max_scrubs ni ninguna configuración de deep-scrub: el backlog de 352 pgs atrasados se dejó igual, es la misma decisión de trade-off pendiente de la memoria anterior ## Comandos relevantes (secretos redactados) ```console ceph -s ceph health detail rados list-inconsistent-obj 3.80 --format=json-pretty rados list-inconsistent-obj 3.17b --format=json-pretty ceph osd tree ceph osd metadata 13 ceph osd metadata 11 smartctl -H /dev/sda smartctl -A /dev/sda ceph pg repair 3.80 ceph pg repair 3.17b ``` ## Validación - rados list-inconsistent-obj confirmó, para ambas PGs, que solo existía una copia válida (primario limpio) antes de reparar - smartctl -H y -A en el disco de osd.13 confirmaron salud del disco (PASSED, sin sectores reasignados/pendientes) antes de reparar - ceph -s tras el repair mostró ambas PGs en active+clean+scrubbing+deep+inconsistent+repair, confirmando que el repair quedó corriendo; no se esperó a que terminara en esta sesión ## Riesgo y reversión El pg repair no tiene reversión directa. Si al terminar el deep-scrub alguna de las dos PGs sigue inconsistent (ceph health detail), requiere diagnóstico manual adicional; si el patrón se repite en osd.13 una tercera vez, considerar programar el reemplazo preventivo del disco aunque SMART siga en PASSED.