memory(MEM-20260819-6EA868): Reparar PG dañado (HEALTH_ERR) en el clúster Ceph de mcps-hpc-01
This commit is contained in:
+60
@@ -0,0 +1,60 @@
|
||||
+++
|
||||
title = "Reparar PG dañado (HEALTH_ERR) en el clúster Ceph de mcps-hpc-01"
|
||||
description = "Diagnóstico y reparación de un PG_DAMAGED real (pg 3.ec) en el clúster cephadm de producción; 407 pgs sin deep-scrub a tiempo se documentan como trade-off, no como bug, y no se tocaron."
|
||||
date = 2026-08-19T18:56:05Z
|
||||
authors = ["gen"]
|
||||
slug = "mem-20260819-6ea868-reparar-pg-danado-health-err-en-el-cluster-ceph-de-mcps-hpc-01"
|
||||
template = "memory.html"
|
||||
|
||||
[taxonomies]
|
||||
categories = ["memorias"]
|
||||
tags = ["almacenamiento", "ceph", "salud-cluster"]
|
||||
systems = ["ceph", "mcps-hpc-01"]
|
||||
|
||||
[extra]
|
||||
id = "MEM-20260819-6EA868"
|
||||
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
|
||||
|
||||
El clúster Ceph de mcps-hpc-01 (cephadm, fsid 9dd39ee8-b987-11f0-9c83-3497f632acb0: 5 mons, mgr activo+standby, 2 MDS, 20 OSDs, 4 pools, 1089 pgs, ~45 TiB usados de 232 TiB) respalda cephfs_hpc, del que dependen Caddy #2, Zammad y en general /mnt/cephfs. Al revisar `ceph -s` salió HEALTH_ERR por dos causas distintas: 1 scrub error/PG_DAMAGED en pg 3.ec, y 407 pgs sin deep-scrub a tiempo (warning, no error). El repair de 3.ec (`ceph pg repair 3.ec`) quedó corriendo en segundo plano al cierre de la sesión — es un deep-scrub completo del PG (~42 GiB), tarda varios minutos; falta reconfirmar con `ceph -s` / `ceph health detail` que OSD_SCRUB_ERRORS y PG_DAMAGED ya no aparecen.
|
||||
|
||||
## Cambios realizados
|
||||
|
||||
- Diagnosticado pg 3.ec con rados list-inconsistent-obj: el shard primario (osd.10) está limpio (digest correcto) y el shard de la réplica (osd.13) tiene read_error puro, sin ambigüedad entre copias
|
||||
- Confirmado con smartctl que el disco de osd.13 no tenía degradación física antes de reparar (PASSED, Reallocated_Sector_Ct=0, Current_Pending_Sector=0, Offline_Uncorrectable=0)
|
||||
- Ejecutado ceph pg repair 3.ec para reescribir la copia buena sobre la réplica dañada
|
||||
- No se modificó osd_max_scrubs ni ninguna configuración de deep-scrub: los 407 pgs atrasados (la config ya tiene osd_scrub_load_threshold=8.0 y osd_deep_scrub_interval=15 días, ambos más permisivos que el default) son un trade-off de rendimiento vs. velocidad de scrub que compite con I/O de clientes reales de cephfs en horario laboral, no un bug — no se cambió sin consultar al equipo
|
||||
|
||||
## Comandos relevantes (secretos redactados)
|
||||
|
||||
```console
|
||||
ceph -s
|
||||
rados list-inconsistent-obj 3.ec
|
||||
smartctl -H /dev/sda
|
||||
smartctl -A /dev/sda
|
||||
ceph pg repair 3.ec
|
||||
ceph osd dump | grep flag
|
||||
```
|
||||
|
||||
## Validación
|
||||
|
||||
- smartctl -H y -A en el disco de osd.13 confirmaron salud del disco antes de reparar (sin sectores reasignados ni pendientes)
|
||||
- rados list-inconsistent-obj 3.ec confirmó que sólo existía una copia válida (osd.10), sin ambigüedad entre réplicas, antes de ejecutar el repair
|
||||
|
||||
## Riesgo y reversión
|
||||
|
||||
El pg repair no tiene una reversión directa una vez completado; si el repair fallara o el objeto siguiera inconsistent, requeriría intervención manual adicional (revisar de nuevo con rados list-inconsistent-obj y, si aplica, restaurar desde otra réplica sana).
|
||||
@@ -1,14 +1,39 @@
|
||||
{
|
||||
"version": 2,
|
||||
"generated_at": "2026-08-19T18:56:01Z",
|
||||
"source_sha256": "7f92489a25541119573a7546d76f5992aba1ab478dc06b9c0fb1b17272d80c2e",
|
||||
"generated_at": "2026-08-19T18:56:05Z",
|
||||
"source_sha256": "a47d49554218a067b4f67028cf1243ed8c3627a6685522bc638717e4578096ce",
|
||||
"stats": {
|
||||
"active_admins": 1,
|
||||
"pending_reviews": 2,
|
||||
"pending_reviews": 3,
|
||||
"open_tasks": 1,
|
||||
"active_projects": 1
|
||||
},
|
||||
"review_queue": [
|
||||
{
|
||||
"entry_id": "MEM-20260819-6EA868",
|
||||
"title": "Reparar PG dañado (HEALTH_ERR) en el clúster Ceph de mcps-hpc-01",
|
||||
"description": "Diagnóstico y reparación de un PG_DAMAGED real (pg 3.ec) en el clúster cephadm de producción; 407 pgs sin deep-scrub a tiempo se documentan como trade-off, no como bug, y no se tocaron.",
|
||||
"date": "2026-08-19T18:56:05Z",
|
||||
"author_id": "gen",
|
||||
"risk": "high",
|
||||
"tags": [
|
||||
"almacenamiento",
|
||||
"ceph",
|
||||
"salud-cluster"
|
||||
],
|
||||
"systems": [
|
||||
"ceph",
|
||||
"mcps-hpc-01"
|
||||
],
|
||||
"permalink": "/memorias/mem-20260819-6ea868-reparar-pg-danado-health-err-en-el-cluster-ceph-de-mcps-hpc-01/",
|
||||
"content_sha256": "ec3bf36fe97a386b876ecd332b26ce55dae983e7e0989a8ff154d1e82243b5d5",
|
||||
"reviewed_by": [],
|
||||
"missing_reviewers": [
|
||||
"gen"
|
||||
],
|
||||
"required_count": 1,
|
||||
"reviewed_count": 0
|
||||
},
|
||||
{
|
||||
"entry_id": "MEM-20260819-727073",
|
||||
"title": "Limpiar backlog de ruido en tickets 'new' de Zammad",
|
||||
@@ -60,6 +85,34 @@
|
||||
}
|
||||
],
|
||||
"recent_memories": [
|
||||
{
|
||||
"entry_id": "MEM-20260819-6EA868",
|
||||
"title": "Reparar PG dañado (HEALTH_ERR) en el clúster Ceph de mcps-hpc-01",
|
||||
"description": "Diagnóstico y reparación de un PG_DAMAGED real (pg 3.ec) en el clúster cephadm de producción; 407 pgs sin deep-scrub a tiempo se documentan como trade-off, no como bug, y no se tocaron.",
|
||||
"date": "2026-08-19T18:56:05Z",
|
||||
"author_id": "gen",
|
||||
"author_fingerprint": "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg",
|
||||
"risk": "high",
|
||||
"review_required": true,
|
||||
"review_policy": "all-active",
|
||||
"reviewer_snapshot": true,
|
||||
"reviewers": [
|
||||
"gen"
|
||||
],
|
||||
"tags": [
|
||||
"almacenamiento",
|
||||
"ceph",
|
||||
"salud-cluster"
|
||||
],
|
||||
"systems": [
|
||||
"ceph",
|
||||
"mcps-hpc-01"
|
||||
],
|
||||
"slug": "mem-20260819-6ea868-reparar-pg-danado-health-err-en-el-cluster-ceph-de-mcps-hpc-01",
|
||||
"permalink": "/memorias/mem-20260819-6ea868-reparar-pg-danado-health-err-en-el-cluster-ceph-de-mcps-hpc-01/",
|
||||
"source_path": "content/memorias/2026-08-19-mem-20260819-6ea868-reparar-pg-danado-health-err-en-el-cluster-ceph-de-mcps-hpc-01.md",
|
||||
"content_sha256": "ec3bf36fe97a386b876ecd332b26ce55dae983e7e0989a8ff154d1e82243b5d5"
|
||||
},
|
||||
{
|
||||
"entry_id": "MEM-20260819-727073",
|
||||
"title": "Limpiar backlog de ruido en tickets 'new' de Zammad",
|
||||
|
||||
Reference in New Issue
Block a user