0

Proxmox : résoudre l’erreur Full OSD d’un cluster Ceph

Un mémo sur comment résoudre l’erreur « Full OSD » et supprimer totalement l’espace disque occupé par une machine virtulle sur un cluster Proxmox HA avec du Ceph.

Si on ne fait pas attention, il est possible de remplir rapidement un volume Ceph et de saturer en espace les OSD qui composent le pool.
Dans cet article, je vous propose une méthode que j’ai appliqué sur un de mes cluster Proxmox HA dont un OSD a été rempli presque entièrement. A savoir, le volume Ceph de disponible était rempli à 85%.

Vérifier le statut du cluster Ceph

  • Vérifier le statut de Ceph :
  • ceph -s

    D’après la capture d’acran, j’ai 1 OSD qui est plein. L’idée qui me vient est de faire de la place en supprimant une ou deux VM qui ne sont pas importante.

  • Destruction d’une VM sous KVM :
  • qm destroy 1055


    La VM est détruite car elle n’est plus présente dans la liste des VM mais sont disque rattaché, lui est toujours présent et occupe de la place sur le cluster Ceph.

    Cette opération de destruction n’est pas concluante car l’espace disque n’est pas libéré.

Sortir l’OSD plein du pool Ceph

Dans l’état où se trouve le Cluster, je ne peux rien faire car toutes les opérations manuelles que j’exécuterais ne feront pas d’effet. Exemple de supression d’un volume disque d’une VM :

rbd rm --pool Mon_Pool vm-1055-disk-1

J’obtiens comme résultat :

2018-01-11 15:16:20.771690 7fe2bfe1ea00 0 client.8754619.objecter FULL, paused modify 0x55c0f50528c0 tid 0

Ce message indique que l’opération est en pause et ne pourra aboutir.

La solution que je vous propose dans cet article, est de sortir l’OSD plein du pool Ceph.

  • Identifier l’OSD plein :
  • df -h

  • Sortir l’OSD du pool Ceph :
  • ceph osd out 17

Dès à présent le cluster Ceph n’est plus en erreur mais reste en warning, cependant je peux réaliser des actions.

Faire de la place dans le pool Ceph

  • Pour lister les disques rattachés à un pool (remplacer « name » pour le nom du pool ceph) :
  • rbd list --pool name

    Le disque de la VM 1055 est toujours présent dans le pool Ceph.

  • Pour avoir des informations sur un disque particulier :
  • rbd info --pool 4ToSAS 

  • Pour supprimer définitivement un disque du pool Ceph :
  • rbd rm --pool 4ToSAS vm-1055-disk-1
  • Ayant libérer de la place, je peux réintégrer l’OSD dans le pool Ceph :
  • ceph osd in 17

A ce stade, mon cluster Ceph est de nouveau opérationnel mais son statut reste en warning car il faut que je libère encore de la place… Cependant, avec cette méthode il est possible d’intervenir sur le cluster Ceph.

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *