[technique] Incident: Ralentissement des vms dans la nuit du 04/05 au 05/05
Mehdi Abaakouk
sileht at sileht.net
Jeu 5 Mar 11:52:44 CET 2015
Bonjour,
Hier soir un membre c'est aperçu d'un ralentissement des IO des vms sur
le cluster, après investigation.
Ils y avaients des requêtes bloquées côté ceph.
C'est un OSD qui avait une latence > 10 seconds (mesurer avec ceph osd
perf).
J'ai donc procédé au restart de celui-ci (osd.0), ce qui a débloqué les
requêtes en question mais malheureusement seulement pendant une courte
periode.
Le restart génére la dégradation provisoire du cluster, le temps que
ceph comprenne qui a bien retrouvé les bouts manquant. Mais hier, le
problème est que l'état restait dégradé, ceph avait bien une liste des
objects/pg à vérifier/recréer les réplicats, mais ne les processait pas
(aucun pg degraded en mode recovering ou backfilling).
J'ai ensuite utilisé la commande 'ceph osd tell osd.* version' pour
identifier les osds qui semblaient bloqué.
j'ai restart tous les osds qui répondaient pas, d'autre ce sont ensuite
bloqué, je les ai aussi restart, jusqu'à avoir 'ceph osd tell osd.*
version' fonctionnel pour tout le monde.
Une fois que les OSDs semblaients fonctionné, les requêtes bloqués ont
rapidement disparu, et les pg degraded était correctement traité par
ceph.
Malheureusement, cela ne c'est pas arrété la, quand ceph est en recovery
il consume bcp plus de RAM que d'habitude,
et ce matin, j'ai eu la joie de voir, que certaines VMs et certains OSDs
ont été killer par oomkiller, provoquant encore plus de pg à recovery,
le restart des OSDs tuer bloquait d'autre OSDs... Le cirque d'hier
recommençait...
Une nouveau version de ceph (0.87.1) étant sorti le 28/02, j'ai décidé
de mettre à jour notre cluster pour remplacer notre version custom
installé suite aux incidents de décembre.
J'ai build les packages comme la dernière fois avec le dernier commit de
giant (cad la 0.87.1 + 1 commit(bug fix)). Nous n'avons donc plus de
commit cherry-pick du master comme précédemment.
J'ai éffectué les maj ce matin, et tous les problèmes semblent avoir
disparu, plus de requête bloquée et les OSD ne semblent plus se bloquer.
Il est possible que le cluster soit un peu ralenti le temps que ceph
finissent sont recovery, mais ce n'est rien comparé à hier soir ou ce
matin.
J'ai reboot les vms qui avait été tué par oomkiller.
J'ai aussi provisoirement configuré les processus ceph-osd pour avoir
moins de chance d'être choisi par oomkiller le temps du recovery, pour
être sûre de revenir à un état normal rapidement.
Cordialement,
--
Mehdi Abaakouk
mail: sileht at sileht.net
irc: sileht
Plus d'informations sur la liste de diffusion technique