29 Modules Ceph Manager #
L'architecture de Ceph Manager (voir Section 1.2.3, « Noeuds et daemons Ceph » pour une brève présentation) permet d'étendre ses fonctionnalités par le biais de modules, tels que le tableau de bord (« dashboard » - voir Partie I, « Ceph Dashboard »), Prometheus (voir Chapitre 16, Surveillance et alertes) ou l'équilibreur (« balancer »).
Pour répertorier tous les modules disponibles, exécutez :
cephuser@adm >
ceph mgr module ls
{
"enabled_modules": [
"restful",
"status"
],
"disabled_modules": [
"dashboard"
]
}
Pour activer ou désactiver un module spécifique, exécutez :
cephuser@adm >
ceph mgr module enable MODULE-NAME
Par exemple :
cephuser@adm >
ceph mgr module disable dashboard
Pour répertorier les services fournis par les modules activés, exécutez :
cephuser@adm >
ceph mgr services
{
"dashboard": "http://myserver.com:7789/",
"restful": "https://myserver.com:8789/"
}
29.1 Équilibreur #
Le module de l'équilibreur optimise la distribution des groupes de placement (PG) sur les OSD pour assurer un déploiement plus équilibré. Bien que le module soit activé par défaut, il est inactif. Il prend en charge les deux modes suivants : crush-compat
et upmap
.
Pour afficher l'état actuel de l'équilibreur et les informations de configuration, exécutez :
cephuser@adm >
ceph balancer status
29.1.1 Mode « crush-compat » #
En mode « crush-compat », l'équilibreur ajuste les définitions de repondération des OSD pour améliorer la distribution des données. Il déplace les groupes de placement entre les OSD, ce qui entraîne temporairement un état de grappe HEALTH_WARN
en raison de groupes de placement mal placés.
Bien que le mode « crush-compat » soit le mode par défaut, nous vous recommandons de l'activer explicitement :
cephuser@adm >
ceph balancer mode crush-compat
29.1.2 Planification et exécution de l'équilibrage des données #
À l'aide du module de l'équilibreur, vous pouvez créer un plan d'équilibrage des données. Vous pouvez ensuite exécuter le plan manuellement ou laisser en permanence l'équilibreur répartir les groupes de placement.
Pour décider d'exécuter l'équilibreur en mode manuel ou automatique, vous devez tenir compte de plusieurs facteurs, tels que le déséquilibre actuel des données, la taille de la grappe, le nombre de groupes de placement ou l'activité E/S. Nous vous recommandons de créer un plan initial et de l'exécuter à un moment de faible charge E/S dans la grappe. La raison est que le déséquilibre initial sera probablement considérable et qu'il est bon de limiter l'impact sur les clients. Après une première exécution manuelle, vous pouvez envisager d'activer le mode automatique et veiller à ce que le trafic de rééquilibrage reste sous une charge normale d'E/S. Les améliorations apportées à la distribution des groupes de placement doivent être évaluées par rapport au trafic de rééquilibrage causé par l'équilibreur.
Pendant le processus d'équilibrage, le module de l'équilibreur limite les mouvements de groupes de placement, de sorte que seule une fraction configurable de groupes de placement est déplacée. La valeur par défaut est de 5 %, mais vous pouvez ajuster la fraction, à 9 % par exemple, en exécutant la commande suivante :
cephuser@adm >
ceph config set mgr target_max_misplaced_ratio .09
Pour créer et exécuter un plan d'équilibrage, procédez comme suit :
Vérifiez le score actuel de la grappe :
cephuser@adm >
ceph balancer evalCréez un plan. Par exemple, « great_plan » :
cephuser@adm >
ceph balancer optimize great_planVérifiez les changements que « great_plan » entraînera :
cephuser@adm >
ceph balancer show great_planVérifiez le score potentiel de la grappe si vous décidez d'appliquer « great_plan » :
cephuser@adm >
ceph balancer eval great_planExécutez « great_plan » une seule fois :
cephuser@adm >
ceph balancer execute great_planObservez l'équilibrage de la grappe avec la commande
ceph -s
. Si vous êtes satisfait du résultat, activez l'équilibrage automatique :cephuser@adm >
ceph balancer onSi vous décidez par la suite de désactiver l'équilibrage automatique, exécutez la commande suivante :
cephuser@adm >
ceph balancer off
Vous pouvez activer l'équilibrage automatique sans exécuter de plan initial. Dans ce cas, attendez-vous à un rééquilibrage potentiellement long des groupes de placement.
29.2 Activation du module de télémétrie #
Le plug-in de télémétrie envoie au projet Ceph des données anonymes sur la grappe dans laquelle le plug-in est en cours d'exécution.
Ce composant (en option) contient des compteurs et des statistiques sur la façon dont la grappe a été déployée, la version de Ceph, la distribution des hôtes et d'autres paramètres qui aident le projet à mieux comprendre la façon dont Ceph est utilisé. Il ne reprend pas de données sensibles comme les noms de réserves, d'objets ou d'hôtes, ni le contenu des objets.
Le but du module de télémétrie est de fournir une boucle de rétroaction automatisée pour les développeurs afin d'aider à quantifier les taux d'adoption et le suivi, ou de repérer les points à expliquer davantage ou à mieux valider lors de la configuration pour éviter des résultats indésirables.
Le module de télémétrie nécessite que les noeuds Ceph Manager puissent transmettre des données aux serveurs en amont via HTTPS. Assurez-vous que les pare-feu de votre entreprise permettent cette opération.
Pour activer le module de télémétrie :
cephuser@adm >
ceph mgr module enable telemetryNoteCette commande vous permet uniquement de visualiser vos données localement. Cette commande ne partage pas vos données avec la communauté Ceph.
Pour permettre au module de télémétrie de commencer à partager des données :
cephuser@adm >
ceph telemetry onPour désactiver le partage de données de télémétrie :
cephuser@adm >
ceph telemetry offPour générer un rapport JSON pouvant être imprimé :
cephuser@adm >
ceph telemetry showPour ajouter un contact et une description au rapport :
cephuser@adm >
ceph config set mgr mgr/telemetry/contact John Doe john.doe@example.comcephuser@adm >
ceph config set mgr mgr/telemetry/description 'My first Ceph cluster'Le module compile et envoie un nouveau rapport toutes les 24 heures par défaut. Pour ajuster cet intervalle :
cephuser@adm >
ceph config set mgr mgr/telemetry/interval HOURS