Прежде чем настраивать резервный центр обработки данных, настройте основной ЦОД для репликации Elasticsearch, RabbitMQ и Ehcache в кластерах.

Elasticsearch, RabbitMQ и Ehcache встроены в виртуальное устройство VMware Identity Manager. Elasticsearch — это подсистема поиска и анализа, используемая для аудита, отчетов и журналов синхронизации каталогов. RabbitMQ представляет собой брокер обмена сообщениями. Ehcache предоставляет возможности кэширования.

Внесите эти изменения на всех узлах в кластере основного центра обработки данных.

Необходимые условия

В основном центре обработки данных настроен кластер VMware Identity Manager.

Процедура

  1. Настройте Elasticsearch для репликации.
    Внесите эти изменения на каждом узле в кластере основного центра обработки данных.
    1. Отключите регулярное задание для Elasticsearch.
      1. Измените файл /etc/cron.d/hznelasticsearchsync:

        vi /etc/cron.d/hznelasticsearchsync

      2. Закомментируйте эту строку:

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

    2. Добавьте IP-адреса всех узлов в кластере основного центра обработки данных.
      1. Измените файл /etc/sysconfig/elasticsearch.

        vi /etc/sysconfig/elasticsearch

      2. Добавьте IP-адреса всех узлов в кластере:

        ES_UNICAST_HOSTS=IP-адрес1,IP-адрес2,IP-адрес3

    3. Добавьте полное доменное имя подсистемы балансировки нагрузки кластера резервного центра обработки данных в файл /usr/local/horizon/conf/runtime-config.properties.
      1. Измените файл /usr/local/horizon/conf/runtime-config.properties.

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

      2. Добавьте эту строку в файл:

        analytics.replication.peers=полное_доменное_имя_подсистемы_балансировки_нагрузки_второго_кластера

  2. Настройте RabbitMQ для репликации.
    Внесите эти изменения на каждом узле в кластере основного центра обработки данных.
    1. Отключите регулярное задание для RabbitMQ.
      1. vi /etc/cron.d/hznrabbitmqsync
      2. Закомментируйте эту строку:

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

    2. Внесите следующие изменения в файл /usr/local/horizon/scripts/rabbitmqnodes.hzn.
      1. vi /usr/local/horizon/scripts/rabbitmqnodes.hzn
      2. Закомментируйте эти строки.
        #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

        Закомментируйте также следующую строку.

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

      3. Добавьте имена всех узлов в кластере основного центра обработки данных. Используйте только имена узлов, а не полные доменные имена. Указывайте имена через пробел.

        nodes="узел1узел2узел3"

    3. Добавьте сопоставление IP-адресов и имен других узлов в кластере в файл /etc/hosts. Не добавляйте запись для узла, для которого вносятся изменения. Этот шаг необходим, только при отсутствии записи DNS, которая обеспечивает сопоставление полного доменного имени или частичных доменных имен.
      IP-адрес полное_доменное_имя_узла2 узел2
      IP-адрес полное_доменное_имя_узла3 узел3
    4. Запустите сценарий для создания кластера RabbitMQ.
      /usr/local/horizon/scripts/rabbitmqnodes.hzn
  3. Настройте Ehcache для репликации.
    Внесите эти изменения на каждом узле в кластере основного центра обработки данных.
    1. vi /usr/local/horizon/conf/runtime-config.properties
    2. Добавьте полные доменные имена остальных узлов в кластере: Не добавляйте полное доменное имя узла, для которого вносятся изменения. Запишите полные доменные имена через двоеточие.

      ehcache.replication.rmi.servers=полное_доменное_имя_узла2:полное_доменное_имя_узла3

      Пример:

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

  4. Перезапустите службу VMware Identity Manager на всех узлах.
    service horizon-workspace restart
  5. Убедитесь, что кластер настроен правильно.
    Выполните эти команды на всех узлах в первом кластере.
    1. Проверьте работоспособность Elasticsearch.

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

      Команда должна возвратить результат, аналогичный приведенному ниже.

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

      Если возникли проблемы, см раздел Устранение неполадок в Elasticsearch и RabbitMQ.

    2. Проверьте работоспособность RabbitMQ.

      rabbitmqctl cluster_status

      Команда должна возвратить результат, аналогичный приведенному ниже.

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

      Если возникли проблемы, см раздел Устранение неполадок в Elasticsearch и RabbitMQ.

    3. Убедитесь, что файл /opt/vmware/horizon/workspace/logs/horizon.log содержит эту строку.

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

      Имена узлов должны совпадать с именами других узлов в кластере.

Дальнейшие действия

Создайте кластер в резервном центре обработки данных. Создайте узлы, экспортировав OVA–файл первого виртуального устройства VMware Identity Manager из кластера основного центра обработки данных и используйте его для развертывания новых виртуальных устройств в резервном центре обработки данных.