Edge Cloning para High Availability e Disaster Recovery

Por Caio Ribeiro César / Technical Reviewer: Eduardo Tavares de Almeida

Esta ação permite que um administrador exporte e importe a configuração de um Edge Transport server. Isto nos dá a habilidade de implementar configurações idênticas dos Edge Transport Servers, testar alterações de configurações em um ambiente clonado ou até nos ajudar em um disaster recovery na troca de um downed server.

O processo de cloning possui três fases:

1 - Export de configuração (exportação das configs para um arquivo XML);

2 - Fase intermediária (onde o administrador deve alterar informações relevantes para o answer file);

3 - Import de configuração (importação das configs para o novo Edge Transport Server).

Fase 1 - Export de configuração:

Esta fase envolve o export de configurações do source server e armazenar estes dados em um arquivo. Esta fase se dá no servidor aonde as configurações serão copiadas.

ExportEdgeConfig.ps1

Este script pode ser localizado no diretório \Exchange Server\Scripts. Os parâmetros aceitos são -cloneConfigData e -key.

[-cloneConfigData]

Este parâmetro especifica aonde o arquivo de output aonde as configurações que serão exportadas deve ser salvo.

[-key]

Este parâmetro pode ser utilizado para utilizar uma string de 32b que será utilizada para criptografar as informações de user e passwd que podem estar armazenadas nos conectores. Se este parâmetro não for especificado, as informações de user e passwd ainda serão criptografadas utilizando uma chave padrão do script.

Comando sendo executado:

[PS] C:\Program Files\Microsoft\Exchange Server\Scripts>.\ExportEdgeConfig.ps1 -cloneconfigdata:"C:\CloneConfigData.xml" -key:"1q2w3e!Q@W#EçlkÇLKpoiPOI"

clip_image001

A informação que está sendo exportada para o arquivo "CloneConfigData.xml" contém:

- O nome do Transport server;

- Domínios Aceitos;

- Domínios Remotos;

- Informações do Transport agent;

- Send connectors;

- Receive connectors;

- Configurações dos Anti-Spam agents.

Assim que o script for executado, um arquivo de log "cloneLogFile.log" será criado em \Exchange Server\Logging\SetupLogs. Este log contém informações do status final da exportação.

O arquivo gerado "CloneConfigData.xml" será utilizado para a importação. Este arquivo contém toda a informação necessária para o processo de importação de configurações.

Fase 2 - Fase intermediária

Esta fase consiste na validação do arquivo exportado no servidor onde esta informação será importada. Também criaremos um "Answer File" que terá as configurações específicas do servidor que serão necessárias antes que as configurações sejam importadas. Esta fase se dá no servidor onde as configurações serão importadas (new-server).

ImportEdgeConfig.msh

O script ImportEdgeConfig.msh, localizado em \Exchange Server\Scripts, é utilizado no estágio intermediário para validar a informação no arquivo exportado e para gerar um arquivo de resposta (Answer File). Este script aceita os seguintes parâmetros: cloneConfigData, cloneConfigAnswer, isImport e key.

[cloneConfigData]

Especifica a a localização do arquivo "cloneConfigData.xml" para usar a validação e auxiliar na geração do arquivo de resposta.

[cloneConfigAnswer]

Especifica o arquivo de resposta que será criado. Este arquivo de resposta contém informações específicas diferentes entre o cloneConfigAnswer e o servidor aonde o import será executado.

[isImport]

Efetua o import. É configurado para $false no processo de validação.

[key]

Não necessário para a validação, mas alerta resultados se não fornecido.

Comando sendo executado:

[PS] C:\Program Files\Microsoft\Exchange Server\Scripts>.\ImportEdgeConfig.ps1 -cloneconfigData:"C:\CloneConfigData.xml" -cloneConfigAnswer:"C:\CloneConfigAnswer.xml" -IsImport:$false -key:"1q2w3e!Q@W#EçlkÇLKpoiPOI"

clip_image002

CloneConfigAnswer.xml

O arquivo resposta (Answer File) terá informações que estão diferentes entre o servidor onde o import será executado e a informação obtida no arquivo cloneConfigData.xml. Verifique o arquivo resposta, certifique-se que está tudo corretamente configurado e modifique o que for necessário no arquivo cloneConfigData.xml.

Informações do processo de validação também estar localizados no logfile : \Exchange Server\Logging\SetupLogs\cloneLogFile.log .

Após a validação de informações obtidas pelo arquivo de resposta e ajuste de configurações, iremos para a Fase final.

Fase 3 - Import de Configuração

Sugerimos efetuar um backup das configurações do servidor aonde o processo de import será efetuado antes de iniciar a fase 3.

Assim como a fase 2, esta fase se dá no new server, aonde as configurações serão importadas.

A fase final após a validação do arquivo de resposta é a de efetuar o import. Para efetuar a importação, utilizaremos o parâmetro isImport setado para $true.

Isto irá causar com que o script valide e importe as novas configurações usando uma combinação do cloneConfigData, cloneConfigAnswer e da key.

Comando a ser executado:

[PS] C:\Program Files\Microsoft\Exchange Server\Scripts>.\ImportEdgeConfig.ps1 -cloneconfigdata:"C:\CloneConfigData.xml" -cloneconfiganswer:"C:\CloneConfigAnswer.xml" -IsImport:$true -key:"1q2w3e!Q@W#EçlkÇLKpoiPOI"

clip_image003

As informações do processo de importação serão logadas incrementalmente no arquivo: \Exchange Server\Logging\SetupLogs\cloneLogFile.log.

Informações adicionais:

Para criar um HA com o processo de Cloning:

- Instale múltiplos Edge Transport servers;

- Clone as configurações conforme for necessário;

- Subscreva os Edge Transport servers se necessário;

- Adicione os MX records de cada Edge Transport servers.

Para um disaster recovery:

- Exporte as configurações utilizando a fase 1;

- Efetue um backup da configuração para uma mídia apropriada (SAN, NAS, DAs, Fita, etc);

- Efetue uma instalação simples do Edge Transport Server;

- Pause o Transport Service e exporte as mensagens que estão na fila;

- Aplique as configurações clonadas pelo arquivo de configuração (fase 2 e fase 3);

- Reestabeleça o edge subscription no AD (se necessário):

a) Execute o script New-EdgeSubscription;

b) Envie o arquivo de subscrição para o Hub Transport Server;

c) Execute o script New-EdgeSubscription no Hub Transport Server para adicionar a nova subscrição.

- Monte a Mail Queue.