Antes de você definir o centro de dados secundário, configure o centro de dados principal para a replicação do Elasticsearch, do RabbitMQ e do Ehcache para os clusters.
O Elasticsearch, o RabbitMQ e o Ehcache estão embutidos no appliance virtual do VMware Identity Manager. O Elasticsearch é um mecanismo de pesquisa e de análise usado para auditorias, relatórios e logs de sincronização de diretório. O RabbitMQ é um agente de mensagens. O Ehcache fornece funcionalidades de cache.
Configure essas alterações em todos os nós do cluster do centro de dados principal.
Pré-requisitos
Você definiu um cluster VMware Identity Manager no centro de dados principal.
Procedimento
- Configure o Elasticsearch para replicação.
Faça essas alterações em todos os nós do cluster do centro de dados principal.
- Desabilite o trabalho cron para o Elasticsearch.
- Edite o arquivo /etc/cron.d/hznelasticsearchsync:
vi /etc/cron.d/hznelasticsearchsync
- Assinale a seguinte linha como comentário:
#*/1 * * * * root /usr/local/horizon/scripts/elasticsearchnodes.hzn
- Adicione os endereços IP de todos os nós do cluster do centro de dados principal.
- Edite o arquivo /etc/sysconfig/elasticsearch:
vi /etc/sysconfig/elasticsearch
- Adicione os endereços IP de todos os nós do cluster:
ES_UNICAST_HOSTS=endereçoIP1,endereçoIP2,endereçoIP3
- Adicione o balanceador de carga FQDN do cluster do centro de dados secundário no arquivo /usr/local/horizon/conf/runtime-config.properties.
- Edite o arquivo /usr/local/horizon/conf/runtime-config.properties.
vi /usr/local/horizon/conf/runtime-config.properties
- Adicione esta linha ao arquivo:
analytics.replication.peers=LB_FQDN_do_segundo_cluster
- Configure o RabbitMQ para replicação.
Faça essas alterações em todos os nós do cluster do centro de dados principal.
- Desabilite o trabalho cron para o RabbitMQ.
- vi /etc/cron.d/hznrabbitmqsync
- Assinale a seguinte linha como comentário:
#*/1 * * * * root /usr/local/horizon/scripts/rabbitmqnodes.hzn
- Faça as seguintes alterações no arquivo /usr/local/horizon/scripts/rabbitmqnodes.hzn.
- vi /usr/local/horizon/scripts/rabbitmqnodes.hzn
- Assinale essas linhas como comentários.
#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
Assinale também a linha seguinte como comentário.
#nodes=$(uniqList true $(enumeratenodenames))
- Adicione os nomes de host de todos os nós do cluster do centro de dados principal. Use apenas os nomes de host, não os nomes de domínio totalmente qualificados. Separe os nomes com um espaço.
nodes="nó1nó2nó3"
- Adicione o endereço IP e o mapeamento do nome do host dos outros nós do cluster ao arquivo. Não adicione uma entrada para o nó que você estiver editando. Essa etapa é obrigatória apenas se não houver nenhuma entrada DNS que possa resolver o nome de domínio totalmente qualificado ou os nomes de domínio parcialmente qualificados.
endereçoIP nó2FQDN nó2
endereçoIP nó3FQDN nó3
- Execute o script para criar o cluster do RabbitMQ.
/usr/local/horizon/scripts/rabbitmqnodes.hzn
- Configure o Ehcache para replicação.
Faça essas alterações em todos os nós do cluster do centro de dados principal.
- vi /usr/local/horizon/conf/runtime-config.properties
- Adicione o FQDN de todos os nós do cluster. Não adicione o FQDN para o nó que você estiver editando. Separe os FQDNs com dois pontos.
ehcache.replication.rmi.servers=nó2FQDN:nó3FQDN
Por exemplo:
ehcache.replication.rmi.servers=server2.example.com:server3.example.com
- Reinicie o serviço do VMware Identity Manager em todos os nós.
service horizon-workspace restart
- Verifique se o cluster está configurado adequadamente.
Execute esses comandos em todos os nós do primeiro cluster.
- Verifique a integridade do Elasticsearch.
curl 'http://localhost:9200/_cluster/health?pretty'
O comando deve retornar um resultado semelhante ao seguinte.
{
"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
}
Caso haja problemas, consulte Solucionando problemas no Elasticsearch e no RabbitMQ.
- Verifique a integridade do RabbitMQ.
rabbitmqctl cluster_status
O comando deve retornar um resultado semelhante ao seguinte.
Cluster status of node 'rabbitmq@node3' ...
[{nodes,[{disc,['rabbitmq@node2','rabbitmq@node3']}]},
{running_nodes,['rabbitmq@node3']},
{cluster_name,<<"[email protected]">>},
{partitions,[]},
{alarms,[{'rabbitmq@node3',[]}]}]
Caso haja problemas, consulte Solucionando problemas no Elasticsearch e no RabbitMQ.
- Verifique se o arquivo /opt/vmware/horizon/workspace/logs/ horizon.log contém esta linha.
Added ehcache replication peer: //node3.example.com:40002
O nome do host deve ser o mesmo dos outros nós do cluster.
O que Fazer Depois
Crie um cluster no centro de dados secundário. Crie os nós exportando o arquivo OVA do primeiro appliance virtual do VMware Identity Manager a partir do cluster do centro de dados principal e usando-o para implantar os novos appliances no centro de dados secundário.