Heketi
Fonctionnement général
Le système Heketi a besoin de plusieurs choses pour fonctionner. D'une part sur les hôtes, il y a un système LVM. Ce système monte des blocks de données sous la forme /dev/mapper/vg_{VOLUMEID}-brick_{BRICKID}
où {VOLUMEID}
correspond au volume et {BRICKID}
à la brique.
Ces blocks sont ensuite monté dans un sous répertoire de /var/lib/heketi/mounts/vg_{VOLUMEID}/brick_{BRICKID}
. Le fichier de montage n'est pas le fichier fstab par défaut de l'OS sur les atomic. Il s'agit du fichier /var/lib/heketi/fstab
.
Ces bricks sont ensuite utilisées par le pod.
Si le volume ne fonctionne pas, il convient de vérifier d'une part si le dossier est bien monté. Il doit y avoir un dossier brick dans le dossier monté. Si le dossier de la brick est vide, alors il faut dans un premier temps essayer de monter à nouveau la brick.
mount -T /var/lib/heketi/fstab /var/lib/heketi/mounts/vg_{VOLUMEID}/brick_{BRICKID}
S'il y a l'erreur special device /dev/mapper/vg_[…] does not exist
alors il y a un problème sur LVM. Dans ce cas, se reporter à la page LVM.
Problèmes connus
Problème de démarrage du stockage
Souvent les pods de stockage ont du mal à fonctionner après un redémarrage d'infra. Dans ce cas, il faut faire la commande suivante sur les noeuds :
mount -T /var/lib/heketi/fstab -a
Une fois les partitions heketi correctement monté, il faut redémarrer les pods GlusterFS pour que tout refonctionne correctement.
PVC not bound
Panne sur le provisionnement des PV. Il se peut que le provisionnement ne fonctionne plus avec l'erreur suivante :
Failed to provision volume with StorageClass “glusterfs-storage”: failed to create volume: failed to create volume: Server busy. Retry operation later.Dans les logs du pod Heketi, on retrouve des erreurs suivantes :
WARNING 2019/11/19 11:49:52 operations in-flight (8) exceeds limit (8)
Le se peut que le pod soit en erreur. Le plus simple est de tuer le pod heketi.