La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Mettre à niveau les clusters

Contributeurs

Ansible permet d’effectuer des mises à niveau sans interruption sur votre cluster SolidFire ESDS. À l’aide du nar_solidfire_sds_upgrade Rôle fourni par NetApp, Ansible effectue la mise à niveau d’un nœud à la fois sans compromettre la disponibilité des données pour tous les volumes.

Ce dont vous avez besoin

Avant de procéder à la mise à niveau, assurez-vous que les conditions suivantes sont remplies :

  • Il n’y a pas de défaillances de cluster dans l’interface utilisateur d’Element.

  • Le fichier d’inventaire est à jour avec les informations de version actuelles du fichier RPM et les détails sur les nœuds membres du cluster.

  • Les hôtes sont définis dans le fichier d’inventaire en utilisant des adresses IP (et pas des noms de domaine complets [FQDN]).

Important La mise à niveau échouera si vous définissez les hôtes en utilisant des FQDN.
  • Les hôtes sont définis dans le fichier d’inventaire à l’aide du format dans l’exemple suivant :

    hosts:
      10.117.136.26:
      10.117.136.27:
  • Le nombre de nœuds dans votre fichier d’inventaire est identique au nombre de nœuds dans le cluster que vous mettez à niveau. En cas de non-concordance de numéro, la procédure de mise à niveau échouera avec une erreur similaire à l’exemple suivant : "Cluster 10.194.79.151 consists of more nodes than what has been specified for upgrade!"

  • Le fichier d’inventaire contient les variables suivantes : sf_mgmt_virt_ip (MVIP), sf_cluster_admin_username, sf_cluster_admin_passwd et solidfire_Element_rpm (chemin vers le nouveau fichier RPM).

Présentation de la mise à niveau

Voici un aperçu de ce qui se passe lors du processus de mise à niveau :

  • Les informations saisies dans le fichier d’inventaire sont validées.

  • Les informations de nœud sont collectées.

  • RPM est installé sur tous les noeuds inclus dans le fichier d’inventaire en parallèle.

  • Une fois que le RPM est installé sur chaque nœud, chaque nœud ESDS SolidFire est mis à niveau un par un. Chaque nœud est placé automatiquement en mode de maintenance. Vous n’avez pas besoin d’activer manuellement le mode de maintenance si vous exécutez le PlayBook de mise à niveau.

  • Une fois le premier nœud placé en mode maintenance, les volumes hébergés sur ce nœud ESDS SolidFire sont basculés vers les nœuds ESDS SolidFire restants du cluster.

  • Le service SolidFire est redémarré pour récupérer la dernière version de l’application.

  • Le mode maintenance est désactivé pour le nœud, et le cluster attend que le nœud récupère.

  • Une fois le nœud reen ligne, le cluster est équilibré.

  • Le même processus est répété pour tous les nœuds du cluster.

  • Une fois que tous les nœuds sont mis à niveau, le cluster affiche la dernière version.

Note Si une erreur se produit lors de la mise à niveau ou si le cluster subit une panne, la mise à niveau ne s’arrête pas. Elle progresse dans la mesure où elle peut et imprime une liste de tous les nœuds qui ont été mis à niveau avec succès et dont la mise à niveau a échoué. Après avoir corrigé des erreurs, vous pouvez réexécuter le PlayBook ou rejeter le fichier pour terminer le processus de mise à niveau.
Avertissement Si la mise à niveau échoue en raison d’un défaut, vous devez la résoudre et reprendre la mise à niveau. Le cluster reste en état de mise à niveau jusqu’à ce que la mise à niveau soit terminée. Si le défaut n’est pas résolu par Element lors de la mise à niveau du cluster, contactez le support NetApp. Selon la nature de la panne et, s’il est sûr de le faire, le support peut vous demander d’ajouter le yes_i_want_to_ignore_cluster_faults variable et définissez-la comme vrai dans votre playbook de mise à niveau et reexécutez playbook. N’essayez pas cela sans consulter le service d’assistance.
Étapes
  1. Exécutez le ansible-galaxy install pour installer le nar_solidfire_sds_upgrade rôle.

    ansible-galaxy install git+https://github.com/NetApp-Automation/nar_solidfire_sds_upgrade.git

    Vous pouvez également installer le rôle manuellement en le copiant à partir du "Référentiel NetApp GitHub" et placer le rôle dans le ~/.ansible/roles répertoire. NetApp fournit un fichier README, qui inclut des informations sur l’exécution d’un rôle.

    Note Assurez-vous de toujours télécharger les dernières versions des rôles.
  2. Déplacez les rôles que vous avez téléchargés vers le haut d’un répertoire à partir duquel ils ont été installés.

     $ mv ~/.ansible/roles/ansible/nar_solidfire_sds_* ~/.ansible/roles/
  3. Exécutez la commande ansible-Galaxy role list pour vous assurer qu’Ansible est configuré pour utiliser les nouveaux rôles.

     $ ansible-galaxy role list
     # ~/.ansible/roles
     - nar_solidfire_sds_install, (unknown version)
     - nar_solidfire_sds_upgrade, (unknown version)
     - ansible, (unknown version)
     - nar_solidfire_sds_compliance, (unknown version)
     - nar_solidfire_cluster_config, (unknown version)
     - nar_solidfire_sds_uninstall, (unknown version)
  4. Créez un PlayBook à utiliser pour les mises à niveau. Si vous disposez déjà d’un PlayBook et que vous souhaitez l’utiliser, veillez à spécifier le nar_solidfire_sds_upgrade rôle dans ce playbook.

  5. Lancer le PlayBook :

     $ ansible-playbook -i inventory.yaml playbook_upgrade_sample.yaml
    Note Le nom de PlayBook utilisé ici est un exemple. Vous devez le remplacer par le nom de votre PlayBook.

    L’exécution du PlayBook valide les informations saisies dans le fichier d’inventaire et installe les RPM sur tous les nœuds répertoriés dans l’inventaire. Vous pouvez vérifier la sortie Ansible pour vérifier que chaque nœud est mis à niveau.

  6. Une fois la mise à niveau terminée, vérifiez chaque nœud pour vous assurer que la nouvelle version s’exécute à l’aide de l’interface utilisateur Element ou de l’API du cluster.