Antes de configurar el centro de datos secundario, configure el primario para las replicaciones de Elasticsearch, RabbitMQ y Ehcache en los clústeres.

Por qué y cuándo se efectúa esta tarea

Elasticsearch, RabbitMQ y Ehcache se incrustan en el dispositivo virtual de VMware Identity Manager. Elasticsearch es un motor de búsqueda y de análisis usado para los registros de sincronización de directorios, informes y auditorías. RabbitMQ es un agente de mensajería. Ehcache proporciona funciones de almacenamiento en caché.

Configure estos cambios en todos los nodos del clúster del centro de datos primario.

Requisitos

Puede configurar un clúster de VMware Identity Manager en el centro de datos primario.

Procedimiento

  1. Configure Elasticsearch para la replicación.

    Realice estos cambios en cada nodo del clúster del centro de datos primario.

    1. Deshabilite la tarea de cron de Elasticsearch.
      1. Edite el archivo /etc/cron.d/hznelasticsearchsync:

        vi /etc/cron.d/hznelasticsearchsync

      2. Realice los comentarios fuera de esta línea:

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

    2. Agregue las direcciones IP de todos los nodos del clúster del centro de datos primario.
      1. Edite el archivo /etc/sysconfig/elasticsearch.

        vi /etc/sysconfig/elasticsearch

      2. Agregue las direcciones IP de todos los nodos del clúster:

        ES_UNICAST_HOSTS=DirecciónIP1,DirecciónIP2,DirecciónIP3

    3. Agregue el FQDN del equilibrador de carga del clúster del centro de datos secundario en el archivo /usr/local/horizon/conf/runtime-config.properties.
      1. Edite el archivo /usr/local/horizon/conf/runtime-config.properties.

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

      2. Agregue esta línea al archivo:

        analytics.replication.peers=LB_FQDN_of_second_cluster

  2. Configure RabbitMQ para la replicación.

    Realice estos cambios en cada nodo del clúster del centro de datos primario.

    1. Deshabilite la tarea de cron de RabbitMQ.
      1. vi /etc/cron.d/hznrabbitmqsync

      2. Realice los comentarios fuera de esta línea:

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

    2. Realice los siguientes cambios en el archivo /usr/local/horizon/scripts/rabbitmqnodes.hzn.
      1. vi /usr/local/horizon/scripts/rabbitmqnodes.hzn

      2. Realice los comentarios fuera de estas líneas.

        #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

        También comente fuera de la siguiente línea.

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

      3. Agregue los nombres de host de todos los nodos del clúster del centro de datos primario. Use únicamente los nombres del host, no los nombres de dominio completo. Separe los nombres con un espacio.

        nodes="nodo1 nodo2 nodo3"

    3. Agregue la asignación del nombre de host y la dirección IP del resto de nodos en el clúster en el archivo /etc/hosts. No agregue una entrada para el nodo que está editando. Este paso solo es necesario si no hay ninguna entrada DNS que pueda resolver el nombre de dominio completo o nombres de dominio parciales.

      DirecciónIP nodo2FQDN nodo2

      DirecciónIP nodo3FQDN nodo3

    4. Ejecute el script para compilar el clúster RabbitMQ.

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

  3. Configure Ehcache para la replicación.

    Realice estos cambios en cada nodo del clúster del centro de datos primario.

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

    2. Agregue el FQDN del resto de nodos del clúster. No agregue el FQDN del nodo que está editando. Separe los FQDN con dos puntos.

      ehcache.replication.rmi.servers=nodo2FQDN:nodo3FQDN

      Por ejemplo:

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

  4. Reinicie el servicio de VMware Identity Manager en todos los nodos.

    service horizon-workspace restart

  5. Compruebe que el clúster está configurado correctamente.

    Ejecute estos comandos en todos los nodos del primer clúster.

    1. Compruebe el estado de Elasticsearch.

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

      El comando debe devolver un resultado similar al siguiente.

               {
        "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
      }

      Si aparecen problemas, consulte Solucionar problemas de Elasticsearch y RabbitMQ.

    2. Compruebe el estado de RabbitMQ.

      rabbitmqctl cluster_status

      El comando debe devolver un resultado similar al siguiente.

      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',[]}]}]

      Si aparecen problemas, consulte Solucionar problemas de Elasticsearch y RabbitMQ.

    3. Compruebe que el archivo /opt/vmware/horizon/workspace/logs/ horizon.log contiene esta línea.

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

      Los nombres de los hosts deben ser los de los otros nodos del clúster.

Qué hacer a continuación

Cree un clúster en el centro de datos secundario. Cree los nodos exportando el archivo OVA del primer dispositivo virtual de VMware Identity Manager desde el clúster del centro de datos primario y usándolo para implementar los nuevos dispositivos virtuales en el centro de datos secundarios.