HowtoCeph: ajouter HEALTH_ERR Possible data damage

This commit is contained in:
Alexis Ben Miloud--Josselin 2023-04-28 10:51:19 +02:00
parent e017c9268a
commit 1cac36b594

View file

@ -1198,3 +1198,58 @@ Jan 1 12:34:56 hostmane ceph-osd[1234567]: 2022-01-01 12:34:56.789 01234567890a
> │ ╰──────────────────────────────────┴╴UUID présent dans le nom du LV
> ╰╴numéro de l'OSD
> ~~~
## `HEALTH_ERR` - `Possible data damage`
La commande `ceph -s` nous retourne une erreur de cette forme :
cluster:
health: HEALTH_ERR
24 scrub errors
Possible data damage: 3 pgs inconsistent
Pour avoir les PG concernés :
# ceph health detail
HEALTH_ERR 24 scrub errors; Possible data damage: 3 pgs inconsistent
OSD_SCRUB_ERRORS 24 scrub errors
PG_DAMAGED Possible data damage: 3 pgs inconsistent
pg 5.13 is active+clean+inconsistent, acting [8,0]
pg 5.99 is active+clean+inconsistent, acting [9,4]
pg 5.b8 is active+clean+inconsistent, acting [9,1]
On voit quil sagit des PG 5.13, 5.99 et 5.b8 hébergés respectivement sur les couples dOSD [8,0], [9,4] et [9,1]. On peut avoir plus dinformations sur ces PG avec cette commande :
# rados list-inconsistent-obj 5.99 --format=json-pretty
Ici, la commande indique :
"shards": [
{
"osd": 4,
"primary": false,
"errors": [],
"size": 4194304,
"omap_digest": "0xffffffff",
"data_digest": "0x242f0b48"
},
{
"osd": 9,
"primary": true,
"errors": [
"read_error"
],
"size": 4194304
}
]
LOSD 9 retourne lerreur `read_error`. Si on regarde la sortie de la commande `ceph osd tree`, on constate, dans ce cas, que :
* tous les OSD sont actifs et accessibles ;
* tous les PG ont une machine en commun.
À ce stade, il faut vérifier sur la machine en question si les disques fonctionnent correctement. En loccurrence, le fichier `/var/log/syslog` est rempli derreurs `blk_update_request: I/O error` pour deux disques, donc il faut les changer disques. En attendant, on peut essayer de faire réparer les PG :
# ceph pg repair 5.99
En fonction de létat du disque physique, lopération se déroulera correctement et le PG sera bon. Ça peut être une bonne de sortir lOSD du _cluster_, car dans le cas dune panne de disque, le problème va certainement se produire de nouveau.