Réparer rapidement des PG endommagés sur CEPH
CEPH est un système de fichiers distribués en mode bloc.
Ce mémo veut juste présenter une recette pour remettre d'aplomb des PGs défectueux:
Voici les commandes :
ceph -s
: commande pour voir l'état des différents éléments ;ceph health detail
: va lister tous les PG problématiques et leur référence (notation hexa qui correspond à l'ID du PG) pour les réparer par la suite.ceph pg repair X.XX
: pour réparer le PG d'IDX.XX
Ce qui donne en exemple :
- Vérifier l'état
ceph -s
, iciHEALTH_ERR
:
# ceph -s
cluster:
id: 5841df23-b284-40dc-948a-4374621c0a2d
health: HEALTH_ERR
1 scrub errors
Possible data damage: 1 pg inconsistent
services:
mon: 8 daemons, quorum 1,2,3,4,5,pm06,pm07,0
mgr: pm04(active), standbys: pm03, pm06, pm07, pm05
osd: 10 osds: 10 up, 10 in
data:
pools: 3 pools, 448 pgs
objects: 435k objects, 1740 GB
usage: 4141 GB used, 10016 GB / 14157 GB avail
pgs: 447 active+clean
1 active+clean+inconsistent
io:
client: 35681 kB/s rd, 2638 kB/s wr, 98 op/s rd, 44 op/s wr
- Récupérer les ID des PD défectueux, ici un seul
5.24
# ceph health detail
HEALTH_ERR 1 scrub errors; Possible data damage: 1 pg inconsistent
OSD_SCRUB_ERRORS 1 scrub errors
PG_DAMAGED Possible data damage: 1 pg inconsistent
pg 5.24 is active+clean+inconsistent, acting [5,3,0]
- Réparation
ceph pg repair
root@pm05:~# ceph pg repair 5.24
instructing pg 5.24 on osd.5 to repair
- Vérification de l'état (
HEALTH_OK
)
# ceph -s
cluster:
id: 5841df23-b284-40dc-948a-4374621c0a2d
health: HEALTH_OK
services:
mon: 8 daemons, quorum 1,2,3,4,5,pm06,pm07,0
mgr: pm04(active), standbys: pm03, pm06, pm07, pm05
osd: 10 osds: 10 up, 10 in
data:
pools: 3 pools, 448 pgs
objects: 435k objects, 1740 GB
usage: 4141 GB used, 10016 GB / 14157 GB avail
pgs: 448 active+clean
io:
client: 1872 kB/s rd, 1868 kB/s wr, 13 op/s rd, 28 op/s wr