Avant de configurer le centre de données secondaire, configurez le centre de données principal pour la réplication Elasticsearch, RabbitMQ et Ehcache sur les clusters.

Pourquoi et quand exécuter cette tâche

Elasticsearch, RabbitMQ et Ehcache sont intégrés dans le dispositif virtuel VMware Identity Manager. Elasticsearch est un moteur de recherche et d'analyse pour l'audit, les rapports et les journaux de synchronisation de répertoire. RabbitMQ est un broker de messagerie. Ehcache offre des capacités de mise en cache.

Configurez ces modifications dans tous les nœuds du cluster de centre de données principal.

Préambules

Vous avez configuré un cluster VMware Identity Manager dans le centre de données principal.

Procédure

  1. Configurez Elasticsearch pour la réplication.

    Apportez ces modifications dans chaque nœud du cluster de centre de données principal.

    1. Désactivez la tâche cron pour Elasticsearch.
      1. Modifiez le fichier /etc/cron.d/hznelasticsearchsync :

        vi /etc/cron.d/hznelasticsearchsync

      2. Commentez cette ligne :

        #*/1 * * * * root /usr/local/horizon/scripts/elasticsearchnodes.hzn

    2. Ajoutez les adresses IP de tous les nœuds du cluster de centre de données principal.
      1. Modifiez le fichier /etc/sysconfig/elasticsearch :

        vi /etc/sysconfig/elasticsearch

      2. Ajoutez les adresses IP de tous les nœuds du cluster :

        ES_UNICAST_HOSTS=IPaddress1,IPaddress2,IPaddress3

    3. Ajoutez le nom de domaine complet de l'équilibrage de charge du cluster de centre de données secondaire au fichier /usr/local/horizon/conf/runtime-config.properties.
      1. Modifiez le fichier /usr/local/horizon/conf/runtime-config.properties.

        vi /usr/local/horizon/conf/runtime-config.properties

      2. Ajoutez cette ligne au fichier :

        analytics.replication.peers=LB_FQDN_of_second_cluster

  2. Configurez RabbitMQ pour la réplication.

    Apportez ces modifications dans chaque nœud du cluster de centre de données principal.

    1. Désactivez la tâche cron pour RabbitMQ.
      1. vi /etc/cron.d/hznrabbitmqsync

      2. Commentez cette ligne :

        #*/1 * * * * root /usr/local/horizon/scripts/rabbitmqnodes.hzn

    2. Apportez les modifications suivantes au fichier /usr/local/horizon/scripts/rabbitmqnodes.hzn.
      1. vi /usr/local/horizon/scripts/rabbitmqnodes.hzn

      2. Commentez ces lignes.

        #make sure SAAS is up, otherwise we won't have an accurate node list
        #if test $(curl -X GET -k https://localhost/SAAS/API/1.0/REST/system/health/allOk -sL -w "% {http_code}\\n" -o /dev/null) -ne 200 ; then
        #    echo SAAS not running, aborting
        #    exit 0
        #fi

        Commentez également la ligne suivante.

        #nodes=$(uniqList true $(enumeratenodenames))

      3. Ajoutez les noms d'hôte de tous les nœuds du cluster de centre de données principal. Utilisez uniquement les noms d'hôte, pas les noms de domaine complets. Séparez les noms par un espace.

        nodes="node1 node2 node3"

    3. Ajoutez le mappage d'adresse IP et de nom d'hôte des autres nœuds du cluster au fichier /etc/hosts. N'ajoutez pas d'entrée pour le nœud que vous modifiez. Cette étape n'est requise que s'il n'existe aucune entrée DNS pouvant résoudre le nom de domaine complet ou les noms de domaine partiels.

      IPaddress node2FQDN node2

      IPaddress node3FQDN node3

    4. Exécutez le script pour créer le cluster RabbitMQ.

      /usr/local/horizon/scripts/rabbitmqnodes.hzn

  3. Configurez Ehcache pour la réplication.

    Apportez ces modifications dans chaque nœud du cluster de centre de données principal.

    1. vi /usr/local/horizon/conf/runtime-config.properties

    2. Ajoutez le nom de domaine complet des autres nœuds du cluster. N'ajoutez pas le nom de domaine complet du nœud que vous modifiez. Séparez les noms de domaine complets par un signe deux-points.

      ehcache.replication.rmi.servers=node2FQDN:node3FQDN

      Par exemple :

      ehcache.replication.rmi.servers=server2.example.com:server3.example.com

  4. Redémarrez le service VMware Identity Manager sur tous les nœuds.

    service horizon-workspace restart

  5. Vérifiez que le cluster est configuré correctement.

    Exécutez ces commandes sur tous les nœuds du premier cluster.

    1. Vérifiez la santé d'Elasticsearch.

      curl 'http://localhost:9200/_cluster/health?pretty'

      La commande doit renvoyer un résultat semblable à ce qui suit.

               {
        "cluster_name" : "horizon",
        "status" : "green",
        "timed_out" : false,
        "number_of_nodes" : 3,
        "number_of_data_nodes" : 3,
        "active_primary_shards" : 20,
        "active_shards" : 40,
        "relocating_shards" : 0,
        "initializing_shards" : 0,
        "unassigned_shards" : 0,
        "delayed_unassigned_shards" : 0,
        "number_of_pending_tasks" : 0,
        "number_of_in_flight_fetch" : 0
      }

      S'il existe des problèmes, reportez-vous à la section Résolution des problèmes d'Elasticsearch et de RabbitMQ.

    2. Vérifiez la santé de RabbitMQ.

      rabbitmqctl cluster_status

      La commande doit renvoyer un résultat semblable à ce qui suit.

      Cluster status of node 'rabbitmq@node3' ...
      [{nodes,[{disc,['rabbitmq@node2','rabbitmq@node3']}]},
       {running_nodes,['rabbitmq@node3']},
       {cluster_name,<<"rabbitmq@node2.example.com">>},
       {partitions,[]},
       {alarms,[{'rabbitmq@node3',[]}]}]

      S'il existe des problèmes, reportez-vous à la section Résolution des problèmes d'Elasticsearch et de RabbitMQ.

    3. Vérifiez que le fichier /opt/vmware/horizon/workspace/logs/ horizon.log contient cette ligne.

      Added ehcache replication peer: //node3.example.com:40002

      Les noms d'hôte doivent être ceux des autres nœuds du cluster.

Que faire ensuite

Créez un cluster dans le centre de données secondaire. Créez les nœuds en exportant le fichier OVA du premier dispositif virtuel VMware Identity Manager du cluster de centre de données principal et en l'utilisant pour déployer les nouveaux dispositifs virtuels dans le centre de données secondaire.