Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Résoudre les problèmes avec Ceph et Rook

Ces rubriques fournissent des instructions pour résoudre les problèmes liés à Ceph et Rook.

Résoudre l’échec de création de l’OSD

Problème

L’installation échoue car les démons de stockage d’objets (OSD) ne sont pas créés.

Solution

Une raison courante de l’échec de l’installation est que les démons de stockage d’objets (OSD) ne sont pas créés. Un OSD configure le stockage sur un nœud de cluster. Les OSD peuvent ne pas être créés en raison de la non-disponibilité des ressources disque, sous la forme de ressources insuffisantes ou d’un espace disque mal partitionné. Pour éviter l’échec de l’installation dû à un espace disque insuffisant, assurez-vous que les nœuds disposent de suffisamment d’espace disque non formaté.

Déboguer les problèmes de formatage du disque

Problème

L’installation échoue lorsqu’un disque doit être formaté.

Solution

Assurez-vous d’un espace disque non formaté suffisant.

Vous devez examiner les rook-ceph-osd-prepare-hostname-* journaux des travaux pour déterminer si vous devez reformater le disque ou la partition. Pour reformater le disque ou la partition et redémarrer Rook :

  1. Utilisez l’une des méthodes suivantes pour reformater un disque ou une partition existant :

    ATTENTION:

    Ces commandes reformatent complètement le disque ou les partitions que vous utilisez et vous perdrez toutes les données qu’elles contiennent.

    • Si vous avez un périphérique de stockage par bloc qui aurait dû être utilisé pour Ceph, mais qui n’a pas été utilisé parce qu’il était dans un état inutilisable, vous pouvez reformater complètement le disque.
    • Si vous avez une partition de disque qui aurait dû être utilisée pour Ceph, vous pouvez effacer complètement les données sur la partition.
  2. Redémarrez Rook pour enregistrer les modifications et réessayez le processus de création de l’OSD.

Résoudre l’échec de l’OSD Ceph

Problème

L’OSD Ceph échoue.

Solution

Vous devez identifier l’OSD défaillant et le supprimer. Vous pouvez ensuite reformater ou remplacer le disque partiellement ou complètement.

Pour résoudre les pannes de disque :

  1. Exécutez la commande suivante pour vérifier l’état des pods Rook et Ceph installés dans l’espace rook-ceph de noms.

    # kubectl get po -n rook-ceph

  2. Si un rook-ceph-osd-* pod est à l’état Error ou CrashLoopBackoff , vous devez réparer le disque.

    Procédez comme suit pour réparer le disque :

    1. Arrêtez rook-ceph-operator.

      # kubectl scale deploy -n rook-ceph rook-ceph-operator --replicas=0

    2. Supprimez les processus OSD défaillants.

      # kubectl delete deploy -n rook-ceph rook-ceph-osd-number

    3. Connectez-vous à la boîte à outils.

      $ kubectl exec -ti -n rook-ceph $(kubectl get po -n rook-ceph -l app=rook-ceph-tools -o jsonpath={..metadata.name}) -- bash

    4. Identifiez l’OSD défaillant.

      # ceph osd status

    5. Marquez l’OSD défaillant.

    6. Supprimez l’OSD défaillant.

      # ceph osd purge number --yes-i-really-mean-it

    7. Connectez-vous au nœud qui hébergeait l’OSD défaillant, puis effectuez l’une des opérations suivantes :
      • Remplacez le disque dur en cas de défaillance matérielle.
      • Reformatez complètement le disque.
      • Reformatez complètement la partition.
    8. Redémarrez rook-ceph-operator.

      # kubectl scale deploy -n rook-ceph rook-ceph-operator --replicas=1

    9. Surveillez les pods OSD.

      # kubectl get po -n rook-ceph

      Si l’OSD ne récupère pas, utilisez la même procédure pour supprimer l’OSD, puis retirez le disque ou supprimez la partition avant de redémarrer rook-ceph-operator.

Problèmes de débogage avec les pods Rook et Ceph

Problème

L’installation peut échouer lorsque les pods Rook et Ceph sont dans l’état error ,

Solution

Un matériel sous-alimenté peut provoquer une erreur Rook and Ceph pods. Une erreur Rook and Ceph pods peut également entraîner l’échec de l’installation. Pour résoudre la plupart des problèmes liés aux pods Rook et Ceph, assurez-vous que les pods installés sont dans l’état running . Pour confirmer cela, vous devez :

  1. Exécutez la commande suivante pour vérifier l’état des pods Rook et Ceph installés dans l’espace rook-ceph de noms.

    # kubectl get po -n rook-ceph

  2. Assurez-vous que les pods suivants sont dans l’état running :

    • rook-ceph-mon-*—En règle générale, trois pods de moniteur
    • rook-ceph-mgr-*—Un pod de responsable

    • rook-ceph-osd-*—Trois pods OSD ou plus

    • rook-ceph-mds-cephfs-*—Serveurs de métadonnées

    • rook-ceph-rgw-object-store-*—Passerelle ObjectStore

    • rook-ceph-tools*: pour des options de débogage supplémentaires

      Pour vous connecter à la boîte à outils, utilisez cette commande :

      $ kubectl exec -ti -n rook-ceph $(kubectl get po -n rook-ceph -l app=rook-ceph-tools \ -o jsonpath={..metadata.name}) -- bash

      Pour plus d’informations sur les commandes courantes supplémentaires dans la boîte à outils, consultez le Tableau 1.

      Tableau 1 : commandes supplémentaires
      Description de la commande
      # ceph status Afficher l’état du cluster.
      # ceph osd status Voir le résumé de la carte OSD.
      # ceph osd df Affichez les détails de l’utilisation du disque (global et par pool).
      # ceph osd utilization Voir l’utilisation de l’OSD.
      # ceph osd pool stats Affichez l’utilisation des grappes de disques.
      # ceph osd tree Voir l’arborescence OSD.
      # ceph pg stat Afficher l’état et les performances de pg.