E-NO
Concepts avancés Ceph 7 min de lecture

Concepts avancés de Ceph expliqués avec des exemples pratiques

calendar_today Publié : 2026-08-18
update Dernière mise à jour : 2026-08-18
analytics Efficacité SEO : 100%
Illustration du guide technique pour « Concepts avancés de Ceph expliqués avec des exemples pratiques ».

Introduction

Ceph est un système de stockage distribué conçu pour une scalabilité massive et une fiabilité élevée. Comprendre ses concepts avancés—tels que les cartes CRUSH, les groupes de placement et le quorum de moniteurs—est essentiel pour exploiter un cluster en production. Cependant, la seule connaissance théorique ne suffit pas ; vous avez besoin d'exemples pratiques qui relient chaque concept à des commandes réelles, des sorties attendues et des étapes de récupération.

Cet article s'adresse aux développeurs, consultants DevOps et équipes techniques de startups qui souhaitent approfondir leur expertise de Ceph. Il met l'accent sur la sécurité opérationnelle : observer avant de modifier, limiter le rayon d'impact, protéger les secrets, vérifier les résultats et documenter les chemins de récupération. Nous passerons en revue l'inventaire des versions, les changements de configuration sécurisés, la vérification, les modes de défaillance et une liste de contrôle opérationnelle—le tout avec des exemples concrets.

Inventaire de version et d'environnement

Avant de toucher à un cluster Ceph, vous devez savoir exactement avec quoi vous travaillez. Commencez par identifier la version installée et votre topologie de déploiement.

Vérifiez la version :

ceph --version

Sortie attendue : ceph version 17.2.6 (d7ff0d10654d2280e08f1ab989d7973a8a7d2e0a) quincy (stable)

Inventoriez vos moniteurs et OSD :

ceph mon dump
ceph osd tree

Ces commandes en lecture seule montrent la carte des moniteurs et la hiérarchie des OSD, vous donnant un aperçu de l'état actuel de votre cluster. Enregistrez la sortie avec des horodatages ; c'est votre référence de base.

Prérequis :

  • Accès à un nœud Ceph avec le keyring admin (ou sudo)
  • Connectivité réseau vers tous les nœuds du cluster
  • Compréhension de la version de votre cluster (par exemple, Octopus, Pacific, Quincy)

Rayon d'impact de l'observation : Aucun—ces commandes sont en lecture seule et sans danger.

Séparez toujours l'observation de l'intervention. Ne lancez jamais une commande qui modifie l'état sans avoir d'abord capturé la référence de base en lecture seule.

Chemin de configuration sécurisé

Lorsque vous devez modifier un paramètre Ceph, suivez un chemin structuré pour minimiser les risques. Cela s'applique à la fois aux commandes ceph config et aux modifications manuelles des fichiers de configuration.

Identifiez le composant et la portée :

  • Quel daemon ? MON, OSD, MDS ou client ?
  • La modification est-elle à l'échelle du cluster ou par daemon ?

Exemple : Définir un niveau de débogage à l'échelle du cluster temporairement

  1. Observez le paramètre actuel :
ceph config get mon debug_mon

Enregistrez la valeur actuelle (par exemple, 20/20).

  1. Modifiez avec une portée limitée :
ceph config set global debug_mon 10/10

C'est une modification petite et justifiée pour augmenter la journalisation lors du dépannage.

  1. Vérifiez :
ceph config get mon debug_mon

Attendu : 10/10.

  1. Récupération (si nécessaire) :
ceph config set global debug_mon 20/20

Ou redémarrez le moniteur si la modification a été faite dans un fichier de configuration.

Rayon d'impact : Cette modification affecte tous les moniteurs et peut augmenter le volume des journaux, mais elle est réversible. Documentez toujours la modification et son objectif.

Pour les modifications permanentes, modifiez le fichier de configuration (par exemple, ceph.conf) et poussez avec ceph config assimilate-conf ou redémarrez les daemons. Utilisez ceph config dump pour passer en revue l'ensemble de la configuration.

Vérification et diagnostics

La vérification ne consiste pas seulement à s'assurer qu'une commande réussit ; il s'agit de confirmer que le système se comporte comme prévu. Ceph fournit plusieurs outils de diagnostic pour inspecter la santé et les performances.

Vérifications de santé :

ceph health detail

Ceci affiche l'état de santé détaillé, y compris les avertissements comme PG_AVAILABILITY ou OSD_DOWN.

Statut des groupes de placement :

ceph pg stat
ceph pg dump | head -20

Ces commandes montrent les états des PG (actif+propre, dégradé, etc.) et la distribution.

Exemple : Diagnostiquer des requêtes lentes

  1. Observez le problème :
ceph daemon osd.0 ops

Recherchez ops_in_flight ou slow_ops.

  1. Identifiez la cause :
ceph daemon osd.0 dump_ops_in_flight

Ceci affiche les détails des opérations, les OSD cibles et le timing.

Normalement, les opérations se terminent rapidement. Si vous voyez des opérations bloquées, vérifiez la latence du réseau ou du disque.

  1. Comparez avec la référence de base attendue :
  1. Action de récupération :
  • Temporaire : ceph osd set norebalance pour arrêter le rééquilibrage et réduire la charge.
  • Permanent : corrigez le problème sous-jacent (par exemple, disque défectueux, congestion du réseau).

Rayon d'impact : Les commandes en lecture seule sont sûres. Définir norebalance est réversible avec ceph osd unset norebalance.

N'oubliez pas d'utiliser des commandes adaptées à la version. Par exemple, ceph daemon osd.0 ops peut différer dans les versions plus anciennes.

Modes de défaillance et récupération

Ceph est résilient, mais il peut échouer de manière prévisible. Comprendre les modes de défaillance courants vous aide à réagir rapidement et en toute sécurité.

Défaillance courante : OSD hors ligne

  1. Observez :
ceph health detail

Ceci montre quels OSD sont hors ligne et combien de PG sont affectés.

  1. Évaluez :
ceph osd tree

Identifiez l'ID de l'OSD hors ligne et son hôte.

  1. Action :
  • Si le processus OSD a planté, redémarrez-le :
systemctl start ceph-osd@<id>
  • Si le disque est défaillant, marquez-le comme sorti et supprimez-le :
ceph osd out <id>
ceph osd purge <id> --yes-i-really-mean-it

Ensuite, remplacez le disque et réajoutez l'OSD.

  1. Vérifiez la récupération :
ceph health
ceph pg status

Attendez que les PG atteignent active+propre.

Rayon d'impact : Supprimer un OSD réduit la capacité du cluster et déclenche un rééquilibrage des données. Assurez-vous d'avoir suffisamment d'espace libre et une redondance adéquate (par exemple, facteur de réplication 3) avant de procéder.

Autre défaillance : décalage d'horloge des moniteurs

Les moniteurs nécessitent des horloges synchronisées. Vérifiez avec :

ceph mon stat

Si vous voyez des erreurs de décalage d'horloge, synchronisez les horloges en utilisant NTP ou chrony sur tous les nœuds. Après avoir corrigé, vérifiez avec ceph health.

Prévoyez toujours la récupération avant de faire des modifications. Documentez les commandes exactes et les résultats attendus.

Liste de contrôle opérationnelle

Utilisez cette liste de contrôle pour toute opération de routine ou de maintenance sur un cluster Ceph.

  1. Inventaire :
  • Enregistrez la version de Ceph, la topologie et l'état actuel (santé, arbre OSD, dump de configuration).
  1. Portée de la modification :
  • Définissez la plus petite modification nécessaire. Indiquez l'objectif et le résultat attendu.
  1. Vérifications préalables :
  • Vérifiez les prérequis : réseau, espace disque, synchronisation de l'horloge.
  • Assurez-vous d'avoir des étapes de récupération documentées.
  1. Exécutez la modification :
  • Appliquez la modification de manière contrôlée (par exemple, un OSD à la fois pour les redémarrages).
  1. Vérifiez :
  • Effectuez des vérifications de santé, le statut des PG et la surveillance des performances.
  • Comparez les résultats avec la référence de base.
  1. Plan de restauration :
  • Ayez des commandes prêtes pour revenir en arrière si nécessaire.
  1. Documentez :
  • Enregistrez ce qui a été modifié, quand et pourquoi. Incluez toutes les étapes de dépannage.

Exemple : Effectuer un redémarrage des OSD en roulant

ceph osd set noout
for osd in $(ceph osd ls); do
  systemctl restart ceph-osd@${osd}
  sleep 30
  ceph health detail  # assurez-vous que le cluster est sain
  sleep 120          # laissez les PG se rétablir
done
ceph osd unset noout

Cette approche limite le rayon d'impact en contrôlant le nombre d'OSD hors ligne à tout moment.

Conclusion

Les concepts avancés de Ceph deviennent pratiques lorsque vous les appliquez avec un état d'esprit opérationnel. Les commandes adaptées à la version, les références de base observables et les modifications réversibles sont le fondement d'une exploitation sûre de Ceph. Commencez par choisir une vérification à faible risque—comme vérifier la santé de votre cluster avec ceph health detail—et entraînez-vous à enregistrer l'état avant de faire toute modification. Au fur et à mesure que vous gagnez en confiance, vous pouvez explorer des tâches plus complexes comme l'optimisation des pools ou les modifications de la carte CRUSH, toujours avec un chemin de récupération clair. N'oubliez pas : un opérateur qui comprend les modes de défaillance et sait vérifier la récupération est l'atout le plus précieux dans tout environnement de stockage.

Recherches connexes

Score de qualité de l’article

Utilité pour le lecteur 100%
  • check_circle Guide prêt à lire
  • check_circle Exemples pratiques inclus
  • check_circle URL d’article optimisée pour le SEO