Mettre un centre de données hors service

Il peut arriver que vous deviez mettre hors service un centre de données. Par exemple, si vous mettez à niveau votre système d'exploitation, vous devez installer le nouveau système d'exploitation dans un nouveau centre de données, puis mettre l'ancien centre de données hors service. Les sections suivantes présentent un exemple de mise hors service d'un centre de données dans lequel il existe deux centres de données, dc-1 et dc-2, sur une installation en cluster à 12 nœuds:

  • dc-1 est le centre de données à mettre hors service.
  • dc-2 est un deuxième centre de données utilisé dans la procédure de mise hors service.

Si vous mettez à niveau votre système d'exploitation, dc-2 peut être le centre de données dans lequel vous avez installé la nouvelle version du système d'exploitation. Toutefois, l'installation d'un nouveau système d'exploitation n'est pas nécessaire pour mettre un centre de données hors service.

Éléments à prendre en compte avant la mise hors service d'un centre de données

Tenez compte des points suivants lorsque vous mettez hors service un centre de données:

  • Bloquez tout le trafic d'exécution et de gestion à destination du centre de données en cours de mise hors service, et redirigez-le vers d'autres centres de données.
  • Une fois le centre de données hors service, la capacité de votre cluster Apigee sera réduite. Pour compenser ce problème, envisagez d'augmenter la capacité des centres de données restants ou d'ajouter des centres de données après la mise hors service.
  • Au cours du processus de mise hors service, il peut y avoir une perte de données analytiques, en fonction des composants d'analyse installés dans le centre de données en cours de mise hors service. Pour en savoir plus, consultez Ajouter ou supprimer des nœuds Qpid.
  • Avant de mettre un centre de données hors service, vous devez comprendre comment tous les composants sont configurés dans tous les centres de données, en particulier les serveurs OpenLDAP, ZooKeeper, Cassandra et Postgres. Vous devez également effectuer des sauvegardes de tous les composants et de leur configuration.

Avant de commencer

  • Serveur de gestion : toutes les étapes de mise hors service dépendent fortement du serveur de gestion. Si un seul serveur de gestion est disponible, nous vous recommandons d'installer un nouveau composant de serveur de gestion sur un centre de données autre que dc-1 avant de le mettre hors service sur dc-1. Nous vous recommandons également de vous assurer que l'un des serveurs de gestion est toujours disponible.
  • Routeur : avant de mettre un routeur hors service, désactivez la joignabilité des routeurs en bloquant le port 15999. Assurez-vous qu'aucun trafic d'exécution n'est dirigé vers les routeurs mis hors service.
  • Cassandra et ZooKeeper : les sections ci-dessous décrivent comment mettre hors service le contrôleur dc-1 dans une configuration à deux centres de données. Si vous disposez de plus de deux centres de données, veillez à supprimer toutes les références au nœud en cours de mise hors service (dc-1 dans ce cas) de tous les fichiers de configuration silencieuses dans tous les centres de données restants. Pour les nœuds Cassandra qui doivent être mis hors service, supprimez ces hôtes de CASS_HOSTS. Les nœuds Cassandra restants doivent rester dans l'ordre d'origine de CASS_HOSTS.

  • Postgres: si vous mettez hors service un maître Postgres, veillez à promouvoir l'un des nœuds de secours disponibles en tant que nouveau maître postgres. Bien que le serveur QPID conserve un tampon dans la file d'attente, si le maître Postgres reste indisponible pendant une longue période, vous risquez de perdre des données d'analyse.

Prérequis

  • Avant de mettre un composant hors service, nous vous recommandons d'effectuer une sauvegarde complète de tous les nœuds. Suivez la procédure correspondant à votre version actuelle d'Edge pour effectuer la sauvegarde. Pour en savoir plus sur la sauvegarde, consultez la page Sauvegarde et restauration.

    Remarque:Si vous avez plusieurs nœuds Cassandra ou ZooKeeper, vous devez les sauvegarder un par un, car le processus de sauvegarde arrête temporairement ZooKeeper.

  • Assurez-vous qu'Edge est opérationnel avant la mise hors service, à l'aide de la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-all status
  • Assurez-vous qu'aucun trafic d'exécution n'arrive actuellement au centre de données que vous mettez hors service.

Ordre des composants de mise hors service

Si vous installez Edge for Private Cloud sur plusieurs nœuds, vous devez mettre les composants Edge hors service sur ces nœuds dans l'ordre suivant:

  1. Interface utilisateur Edge (interface utilisateur Edge)
  2. Management Server (Edge-management-server)
  3. OpenLDAP (apigee-openldap)
  4. Routeur (routeur de périphérie)
  5. Processeur de messages (edge-message-processor)
  6. Serveur Qpid et Qpidd (edge-qpid-server et apigee-qpidd)
  7. Postgres et base de données PostgreSQL (edge-postgres-server et apigee-postgresql)
  8. ZooKeeper (apigee-zookeeper)
  9. Cassandra (apigee-cassandra)

Les sections suivantes expliquent comment mettre chaque composant hors service.

Interface utilisateur périphérique

Pour arrêter et désinstaller le composant UI Edge de dc-1, entrez les commandes suivantes:

/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall

Serveur de gestion

Pour mettre le serveur de gestion hors service sur dc-1, procédez comme suit:

  1. Arrêtez le serveur de gestion sur dc-1 :
    apigee-service edge-management-server stop
  2. Recherchez l'UUID du serveur de gestion enregistré dans dc-1 :
    curl -u <AdminEmailID>:'<AdminPassword>' \
    -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. Annulez l'enregistrement du type de serveur :
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=management-server&region=dc-1&pod=central&uuid=UUID&action=remove"
  4. Supprimez le serveur. Remarque:Si d'autres composants sont également installés sur ce serveur, annulez l'enregistrement de tous ces composants avant de supprimer l'UUID.
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. Désinstaller le composant Management Server sur dc-1 :
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall

Ouvrir LDAP

Cette section explique comment mettre hors service OpenLDAP sur dc-1.

Remarque:Si vous avez plus de deux centres de données, consultez la section Configurer avec plus de deux centres de données ci-dessous.

Pour mettre hors service OpenLDAP sur dc-1, procédez comme suit:

  1. Sauvegardez le nœud dc-1 OpenLDAP en suivant la procédure décrite dans la section Sauvegarder.
  2. Interrompez la réplication des données entre les deux centres de données (dc-1 et dc-2) en exécutant les étapes suivantes dans les deux centres.

    1. Vérifiez l'état actuel :
      ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

      Le résultat devrait être semblable à celui-ci :

      olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1

    2. Créez un fichier break_repl.ldif contenant les commandes suivantes :
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. Exécutez la commande ldapmodify :
      ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif

      Le résultat devrait être semblable à celui-ci :

      modifying entry "olcDatabase={2}bdb,cn=config"
      modifying entry "olcDatabase={2}bdb,cn=config"

  3. Pour vérifier que dc-2 n'est plus répliqué sur dc-1, créez une entrée dans dc-2 LDAP et assurez-vous qu'elle n'apparaît pas dans le LDAP de dc-1.

    Vous pouvez également suivre les étapes ci-dessous, qui permettent de créer un utilisateur en lecture seule dans le nœud OpenLDAP dc-2, puis de vérifier si l'utilisateur est répliqué ou non. L'utilisateur est ensuite supprimé.

    1. Créez un fichier readonly-user.ldif dans dc-2 avec le contenu suivant :
      dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com
      objectClass: organizationalPerson
      objectClass: person
      objectClass: inetOrgPerson
      objectClass: top
      cn: readonly-user
      sn: readonly-user
      userPassword: {testPassword}
    2. Ajouter un utilisateur à l'aide de la commande "ldapadd" dans dc-2 :
      ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif

      Le résultat ressemble à ce qui suit :

      adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"

    3. Recherchez l'utilisateur dans dc-1 pour vous assurer qu'il n'est pas répliqué. Si l'utilisateur n'est pas présent dans dc-1, vous serez sûr que les deux LDAP ne seront plus répliqués :
      ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLL

      La sortie devrait ressembler à ce qui suit :

      No such object (32)
      Matched DN: ou=users,ou=global,dc=apigee,dc=com
    4. Supprimez l'utilisateur en lecture seule que vous avez ajouté précédemment :
      ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
  4. Arrêter OpenLDAP dans dc-1 :
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. Désinstallez le composant OpenLDAP sur dc-1 :
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall

Routeur

Cette section explique comment mettre un routeur hors service. Consultez la section Supprimer un serveur pour en savoir plus sur la suppression du routeur.

Les étapes suivantes mettent le routeur hors service de dc-1. Si plusieurs nœuds de routeur sont configurés en dc-1, effectuez les étapes dans tous les nœuds de routeur un par un.

Remarque:Nous partons ici du principe que le port 15999 de vérification de l'état du routeur est configuré dans votre équilibreur de charge, et que ce port de blocage 15999 rendra le routeur inaccessible. Vous aurez peut-être besoin d'un accès racine pour bloquer le port.

Pour mettre un routeur hors service, procédez comme suit:

  1. Désactivez la joignabilité des routeurs en bloquant le port 15999, le port de vérification de l'état. Assurez-vous que le trafic d'exécution est bloqué dans ce centre de données:

    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
  2. Vérifiez que le routeur est accessible:

    curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable

    Le résultat devrait être semblable à celui-ci :

    About to connect() to 10.126.0.160 port 15999 (#0)
    Trying 10.126.0.160...
    Connection refused
    Failed connect to 10.126.0.160:15999; Connection refused
    Closing connection 0
    curl: (7) Failed connect to 10.126.0.160:15999; Connection refused

  3. Obtenez l'UUID du routeur, comme décrit dans la section Obtenir les UUID.
  4. Arrêtez le routeur :
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. Répertoriez les pods de passerelle disponibles dans l'organisation à l'aide de la commande suivante :
    curl -u  <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"

    Consultez la section À propos des pods.

  6. Annulez l'enregistrement du type de serveur :
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=router&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"
  7. Annulez l'enregistrement du serveur :
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Désinstallez edge-router :
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    Consultez la section Supprimer un serveur.
  9. Videz les règles iptables pour activer le port 15999 bloqué :
    iptables -F

Processeur de messages

Cette section explique comment mettre hors service le processeur de messages de dc-1. Consultez Supprimer un serveur pour plus d'informations sur la suppression du processeur de messages.

Étant donné que nous supposons que dc-1 comporte une installation en cluster à 12 nœuds, deux nœuds de processeur de messages sont configurés dans dc-1. Exécutez les commandes suivantes dans les deux nœuds.

  1. Obtenez les UUID des processeurs de messages, comme décrit dans la section Obtenir les UUID.
  2. Arrêtez le processeur de messages :
    apigee-service edge-message-processor stop
  3. Annulez l'enregistrement du type de serveur :
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers  \
    -d "type=message-processor&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"/pre>
  4. Disassociate an environment from the Message Processor.

    Note: You need to remove the bindings on each org/env that associates the Message Processor UUID.

    curl -H "Content-Type:application/x-www-form-urlencoded" -u <AdminEmailID>:''  \
    -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \
    -d "action=remove&uuid=UUID"
  5. Annulez l'enregistrement du type de serveur :
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  6. Désinstallez le processeur de messages :
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
  7. Annulez l'enregistrement du serveur :
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID

Serveur Qpid et Qpidd

Cette section explique comment mettre hors service le serveur Qpid (edge-qpid-server) et Qpidd (apigee-qpidd). Deux nœuds Qpid sont configurés dans dc-1. Vous devez donc procéder comme suit pour chacun d'eux:

  1. Obtenez l'UUID pour Qpidd, comme décrit dans la section Obtenir des UUID.
  2. Arrêt edge-qpid-server et apigee-qpidd :
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  3. Obtenez la liste des groupes Analytics et de consommateurs :
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. Supprimez Qpid du groupe de consommateurs :
    curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json"  -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}"
  5. Supprimer Qpid du groupe d'analyse :
    curl -v -u <AdminEmailID>:'<AdminPassword>' \
    -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
  6. Annulez l'enregistrement du serveur Qpid de l'installation Edge :
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=qpid-server&region=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
  7. Supprimez le serveur Qpid de l'installation Edge :
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Redémarrez tous les composants Edge-qpid-server sur tous les nœuds pour vous assurer que la modification est prise en compte par les composants suivants :
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
  9. Désinstallez Edge-qpid-server et apigee-qpidd :
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall

Postgres et Postgresql

Le centre de données que vous mettez hors service peut disposer d'un maître Postgres ou d'une machine de secours Postgres. Les sections suivantes expliquent comment procéder à leur mise hors service:

Mise hors service du maître Postgres

Remarque:Si vous mettez hors service un maître Postgres, veillez à promouvoir l'un des nœuds de secours disponibles en tant que nouveau maître postgres. Pendant que le QPID place les données en mémoire tampon, si le maître Postgres est indisponible pendant une longue période, vous risquez de perdre des données d'analyse.

Pour mettre le maître Postgres hors service:

  1. Sauvegardez le nœud maître Postgres dc-1 en suivant les instructions fournies dans les liens suivants :
  2. Obtenez les UUID des serveurs Postgres, comme décrit dans la section Obtenir les UUID.
  3. Sur dc-1, arrêtez edge-postgres-server et apigee-postgresql sur le maître actuel :
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  4. Sur le nœud de secours sur dc-2, saisissez la commande suivante pour en faire le nœud maître :
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>

    Remarque:Si vous avez plusieurs nœuds Postgres de secours, vous devez ajouter des entrées d'hôte sur le nouveau maître et mettre à jour le paramètre de réplication pour tous les nœuds de secours postgres disponibles.

    Pour ajouter des entrées d'hôte au nouveau maître Postgres: suivez les étapes dans la section appropriée ci-dessous:

    S'il ne reste qu'un seul nœud de secours

    Supposons par exemple qu'avant la mise hors service, trois nœuds Postgres soient configurés. Vous avez mis le maître existant hors service et promu l'un des nœuds de secours postgres restants au statut de maître. Configurez le nœud de secours restant en procédant comme suit:

    1. Sur le nouveau maître, modifiez le fichier de configuration pour définir
      PG_MASTER=IP_or_DNS_of_new_PG_MASTER
      PG_STANDBY=IP_or_DNS_of_PG_STANDBY
      .
    2. Activez la réplication sur le nouveau maître :
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle

    S'il reste plusieurs nœuds de secours

    1. Ajoutez la configuration suivante dans /opt/apigee/customer/application/postgresql.properties :
      conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
    2. Assurez-vous que le fichier /opt/apigee/customer/application/postgresql.properties appartient à l'utilisateur apigee :
            chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. Redémarrez apigee-postgresql :
      apigee-service apigee-postgresql restart
    4. Pour mettre à jour les paramètres de réplication sur un nœud de secours:

      1. Modifiez le fichier de configuration /opt/silent.conf et mettez à jour le champ PG_MASTER avec l'adresse IP du nouveau maître Postgres.
      2. Supprimez toutes les anciennes données Postgres à l'aide de la commande suivante :
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. Configurez la réplication sur le nœud de secours :
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. Vérifiez que le maître Postgres est correctement configuré en saisissant la commande suivante dans dc-2 :
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    6. Supprimez et ajoutez les serveurs Postgresql du groupe d'analyse et du groupe de consommateurs.
      1. Supprimez l'ancien serveur Postgres du groupe d'analyse en suivant les instructions de la section Supprimer un serveur Postgres d'un groupe d'analyse.
      2. Ajoutez un serveur postgres au groupe d'analyse en suivant les instructions de la section Ajouter un serveur Postgres existant à un groupe d'analyse.
    7. Annulez l'enregistrement de l'ancien serveur postgres de dc-1 :
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    8. Supprimez l'ancien serveur postgres de dc-1 :
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. L'ancien maître Postgres peut maintenant être mis hors service en toute sécurité. Désinstallez edge-postgres-server et apigee-postgresql :
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    Mise hors service de l'instance de secours Postgres

    Remarque:La documentation d'une installation en cluster à 12 nœuds indique que le nœud postgresql dc-1 est le nœud maître. Toutefois, pour plus de commodité, cette section part du principe que le nœud dc-1 postgresql est en veille et que le nœud postgresql dc-2 est un nœud maître.

    Pour mettre hors service la mise en veille Postgres, procédez comme suit:

    1. Obtenez les UUID des serveurs Postgres, en suivant les instructions de la section Obtenir les UUID.
    2. Arrêtez apigee-postgresql sur le nœud de secours actuel dans dc-1 :
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. Supprimez et ajoutez les serveurs Postgresql du groupe d'analyse et du groupe de consommateurs.
      1. Supprimez l'ancien serveur Postgres du groupe d'analyse en suivant les instructions de la section Supprimer un serveur Postgres d'un groupe d'analyse.
      2. Ajoutez un serveur postgres au groupe d'analyse en suivant les instructions de la section Ajouter un serveur Postgres existant à un groupe d'analyse.
    4. Annulez l'enregistrement de l'ancien serveur postgres de dc-1 :
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    5. Supprimez l'ancien serveur postgres de dc-1 :
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    6. L'ancien maître Postgres peut maintenant être mis hors service en toute sécurité. Désinstallez edge-postgres-server et apigee-postgresql :
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    ZooKeeper et Cassandra

    Cette section explique comment mettre hors service ZooKeeper et Cassandra dans une configuration à deux centres de données.

    Si vous disposez de plus de deux centres de données, veillez à supprimer toutes les références au nœud en cours de mise hors service (dc-1 dans ce cas) de tous les fichiers de configuration silencieuses dans tous les centres de données restants. Pour les nœuds Cassandra qui doivent être mis hors service, supprimez ces hôtes de CASS_HOSTS. Les nœuds Cassandra restants doivent rester dans l'ordre d'origine de CASS_HOSTS.

    Remarque concernant ZooKeeper:Pour que l'ensemble ZooKeeper reste fonctionnel, vous devez conserver un quorum de nœuds de vote lorsque vous modifiez la propriété ZK_HOST dans le fichier de configuration. Votre configuration doit comporter un nombre impair de nœuds de vote. Pour en savoir plus, consultez la page Tâches de maintenance Apache ZooKeeper.

    Pour mettre hors service les serveurs ZooKeeper et Cassandra:

    1. Sauvegardez les nœuds dc-1 Cassandra et ZooKeeper en suivant les instructions disponibles dans les liens suivants :
    2. Répertoriez les UUID des serveurs ZooKeeper et Cassandra dans le centre de données où les nœuds Cassandra sont sur le point d'être mis hors service.

      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
    3. Annulez l'enregistrement du type de serveur :
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore&region=dc-1&pod=central&uuid=UUID&action=remove"
    4. Annulez l'enregistrement du serveur :
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. Mettez à jour le fichier de configuration en supprimant les adresses IP des nœuds mis hors service de ZK_HOSTS et CASS_HOSTS.

      Exemple: Supposons que vous disposiez des adresses IP $IP1 $IP2 $IP3 dans dc-1 et $IP4 $IP5 $IP6 dans dc-2, et que vous mettiez dc-1 hors service. Supprimez ensuite les adresses IP $IP1 $IP2 $IP3 des fichiers de configuration.

      • Entrées existantes du fichier de configuration :
        ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6"
        CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
      • Nouvelles entrées du fichier de configuration :
        ZK_HOSTS="$IP4 $IP5 $IP6"
        CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
    6. Mettez à jour le fichier de configuration silencieuse (modifié à l'étape e) avec les adresses IP des nœuds mis hors service supprimés et exécutez le profil du serveur de gestion sur tous les nœuds hébergeant des serveurs de gestion :
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. Mettez à jour le fichier de configuration avec les adresses IP des nœuds mis hors service, puis exécutez le profil MP/RMP sur tous les nœuds de routeur et de processeur de messages :
      • Si le routeur Edge et le processeur de messages sont configurés sur le même nœud, saisissez :
        /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
      • Si le routeur Edge et le processeur de messages sont configurés sur des nœuds distincts, saisissez la commande suivante:

        Pour le routeur:

        /opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file

        Pour le processeur de messages:

        /opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
    8. Reconfigurez tous les nœuds Qpid en supprimant les adresses IP des nœuds hors service du fichier de réponse :
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. Reconfigurez tous les nœuds Postgres, en supprimant les adresses IP des nœuds mis hors service du fichier de réponse :
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. Modifier l'espace de touche system_auth. Si l'authentification Cassandra est activée sur un nœud Cassandra existant, mettez à jour le facteur de réplication de l'espace de clés system_auth en exécutant la commande suivante :
      ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};

      Cette commande définit le facteur de réplication sur '3', ce qui indique trois nœuds Cassandra du cluster. Modifiez cette valeur si nécessaire.

      Une fois cette étape terminée, la topologie Cassandra ne doit comporter dc-1 dans aucun des espaces de clés.

    11. Mettez les nœuds Cassandra hors service sur dc-1 un par un.

      Pour mettre les nœuds Cassandra hors service, saisissez la commande suivante :

      /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission

    12. Vérifiez la connexion des nœuds Cassandra à partir de dc-1 à l'aide de l'une des commandes suivantes :
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'

      Ou commande de validation secondaire à exécuter sur le nœud mis hors service :

      /opt/apigee/apigee-cassandra/bin/nodetool netstats

      La commande ci-dessus doit renvoyer :

      Mode: DECOMMISSIONED

    13. Exécutez le profil DS pour tous les nœuds Cassandra et ZooKeeper dans dc-2 :
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
    14. Arrêter apigee-cassandra et apigee-zookeeper dans dc-1 :
      apigee-service apigee-cassandra stop
      apigee-service apigee-zookeeper stop
    15. Désinstallez apigee-cassandra et apigee-zookeeper dans dc-1 :
      apigee-service apigee-cassandra uninstall
      apigee-service apigee-zookeeper uninstall

    Supprimer les liaisons de dc-1

    Pour supprimer les liaisons de dc-1, procédez comme suit:

    1. Supprimez les liaisons de dc-1.
      1. Répertoriez tous les pods disponibles sous l'organisation :
        curl -v -u  <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
      2. Pour vérifier si toutes les liaisons ont été supprimées, récupérez les UUID des serveurs associés aux pods :
        curl -v -u  <AdminEmailID>:<AdminPassword> \
        -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"

        Si cette commande ne renvoie aucun UUID, les étapes précédentes ont supprimé toutes les liaisons. Vous pouvez donc ignorer l'étape suivante. Sinon, passez à l'étape suivante.

      3. Supprimez toutes les liaisons de serveur pour les UUID obtenues à l'étape précédente :
        curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
      4. Dissociez l'organisation du pod :
        curl -v -u  <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove&region=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
    2. Supprimez les pods :
      curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
    3. Supprimez la région.
      curl -v -u <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/regions/dc-1" -X DELETE

    Remarque:Si vous n'avez pas effectué l'une des étapes de suppression des serveurs, l'étape ci-dessus renverra un message d'erreur indiquant qu'un serveur spécifique du pod existe toujours. Supprimez-les en suivant les étapes de dépannage ci-dessous, tout en personnalisant les types dans la commande curl.

    À ce stade, vous avez terminé la mise hors service de dc-1.

    Annexe

    Dépannage

    Si des serveurs sont toujours dans certains pods après avoir suivi les étapes précédentes, procédez comme suit pour annuler l'enregistrement et supprimer les serveurs. Remarque:Modifiez les types et les séries d'annonces selon vos besoins.

    1. Récupérez les UUID à l'aide de la commande suivante :
      apigee-adminapi.sh servers list -r dc-1 -p POD -t  --admin <AdminEmailID> --pwd  '<AdminPassword>’ --host localhost
    2. Annulez l'enregistrement du type de serveur :
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
    3. Supprimez les serveurs un par un :
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID

    Validation

    Vous pouvez valider la mise hors service à l'aide des commandes suivantes.

    Serveur de gestion

    Exécutez les commandes suivantes à partir des serveurs de gestion sur toutes les régions.

    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central&region=dc-1
    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway&region=dc-1
    curl -v -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/servers?pod=analytics&region=dc-1

    Exécutez la commande suivante sur tous les composants pour vérifier la configuration requise pour l'ensemble des ports de gestion.

    curl -v http://MS_IP:8080/v1/servers/self

    Vérifiez le groupe d'analyse.

    curl  -v  -u  <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080}/v1/o/ORG/e/ENV/provisioning/axstatus"
    curl -v  -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/analytics/groups/ax

    Nœuds Cassandra/ZooKeeper

    Sur tous les nœuds Cassandra, saisissez la commande suivante:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

    Cela renvoie l'état running ou not running pour ce nœud.

    Sur un nœud, saisissez:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> status

    Les commandes ci-dessus renverront des informations sur les centres de données actifs.

    Sur les nœuds ZooKeeper, saisissez d'abord:

    echo ruok | nc <host> 2181

    Cette commande renvoie imok.

    Ensuite, saisissez cette commande :

    echo stat | nc <host> 2181 | grep Mode

    La valeur de Mode renvoyée par la commande ci-dessus sera l'une des suivantes : observer, leader ou follower.

    Dans un nœud ZooKeeper:

    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt

    Sur le nœud maître Postgres, exécutez la commande suivante:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Vérifiez que la réponse indique que le nœud est le maître.

    Sur le nœud de secours:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Vérifiez que la réponse indique que le nœud est l'instance de secours.

    Se connecter à la base de données PostgreSQL à l'aide de la commande

    psql -h localhost -d apigee -U postgres

    Lorsque vous y êtes invité, saisissez le mot de passe utilisateur "postgres" sous la forme 'postgres'. Sélectionnez max(client_received_start_timestamp) dans Analytics.

    ”$org.$env.fact” limit 1;

    Journaux

    Vérifiez les journaux des composants pour vous assurer qu'ils ne contiennent pas d'erreurs.