Прежде чем настраивать резервный центр обработки данных, настройте основной ЦОД для репликации Elasticsearch, RabbitMQ и Ehcache в кластерах.
Elasticsearch, RabbitMQ и Ehcache встроены в виртуальное устройство VMware Identity Manager. Elasticsearch — это подсистема поиска и анализа, используемая для аудита, отчетов и журналов синхронизации каталогов. RabbitMQ представляет собой брокер обмена сообщениями. Ehcache предоставляет возможности кэширования.
Внесите эти изменения на всех узлах в кластере основного центра обработки данных.
Необходимые условия
В основном центре обработки данных настроен кластер VMware Identity Manager.
Процедура
- Настройте Elasticsearch для репликации.
Внесите эти изменения на каждом узле в кластере основного центра обработки данных.
- Отключите регулярное задание для Elasticsearch.
- Измените файл /etc/cron.d/hznelasticsearchsync:
vi /etc/cron.d/hznelasticsearchsync
- Закомментируйте эту строку:
#*/1 * * * * root /usr/local/horizon/scripts/elasticsearchnodes.hzn
- Добавьте IP-адреса всех узлов в кластере основного центра обработки данных.
- Измените файл /etc/sysconfig/elasticsearch.
vi /etc/sysconfig/elasticsearch
- Добавьте IP-адреса всех узлов в кластере:
ES_UNICAST_HOSTS=IP-адрес1,IP-адрес2,IP-адрес3
- Добавьте полное доменное имя подсистемы балансировки нагрузки кластера резервного центра обработки данных в файл /usr/local/horizon/conf/runtime-config.properties.
- Измените файл /usr/local/horizon/conf/runtime-config.properties.
vi /usr/local/horizon/conf/runtime-config.properties
- Добавьте эту строку в файл:
analytics.replication.peers=полное_доменное_имя_подсистемы_балансировки_нагрузки_второго_кластера
- Настройте RabbitMQ для репликации.
Внесите эти изменения на каждом узле в кластере основного центра обработки данных.
- Отключите регулярное задание для RabbitMQ.
- vi /etc/cron.d/hznrabbitmqsync
- Закомментируйте эту строку:
#*/1 * * * * root /usr/local/horizon/scripts/rabbitmqnodes.hzn
- Внесите следующие изменения в файл /usr/local/horizon/scripts/rabbitmqnodes.hzn.
- vi /usr/local/horizon/scripts/rabbitmqnodes.hzn
- Закомментируйте эти строки.
#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))
- Добавьте имена всех узлов в кластере основного центра обработки данных. Используйте только имена узлов, а не полные доменные имена. Указывайте имена через пробел.
nodes="узел1узел2узел3"
- Добавьте сопоставление IP-адресов и имен других узлов в кластере в файл /etc/hosts. Не добавляйте запись для узла, для которого вносятся изменения. Этот шаг необходим, только при отсутствии записи DNS, которая обеспечивает сопоставление полного доменного имени или частичных доменных имен.
IP-адрес полное_доменное_имя_узла2 узел2
IP-адрес полное_доменное_имя_узла3 узел3
- Запустите сценарий для создания кластера RabbitMQ.
/usr/local/horizon/scripts/rabbitmqnodes.hzn
- Настройте Ehcache для репликации.
Внесите эти изменения на каждом узле в кластере основного центра обработки данных.
- vi /usr/local/horizon/conf/runtime-config.properties
- Добавьте полные доменные имена остальных узлов в кластере: Не добавляйте полное доменное имя узла, для которого вносятся изменения. Запишите полные доменные имена через двоеточие.
ehcache.replication.rmi.servers=полное_доменное_имя_узла2:полное_доменное_имя_узла3
Пример:
ehcache.replication.rmi.servers=server2.example.com:server3.example.com
- Перезапустите службу VMware Identity Manager на всех узлах.
service horizon-workspace restart
- Убедитесь, что кластер настроен правильно.
Выполните эти команды на всех узлах в первом кластере.
- Проверьте работоспособность 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.
- Проверьте работоспособность 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.
- Убедитесь, что файл /opt/vmware/horizon/workspace/logs/horizon.log содержит эту строку.
Added ehcache replication peer: //node3.example.com:40002
Имена узлов должны совпадать с именами других узлов в кластере.
Дальнейшие действия
Создайте кластер в резервном центре обработки данных. Создайте узлы, экспортировав OVA–файл первого виртуального устройства VMware Identity Manager из кластера основного центра обработки данных и используйте его для развертывания новых виртуальных устройств в резервном центре обработки данных.