Implementação do SCR no Exchange Server 2007 SP1

Alexandre Belchior MCT, MCSE, MCTS, MCSA, MCP Agosto 2008

Tecnologias: Microsoft Exchange Server 2007 SP1 / Standby Continuous Replication

Sumário: Neste artigo estaremos abordando a implementação do sistema de replicação SCR que foi implementado no Exchange Server 2007 como uma alternativa a soluções de recuperação em desastres.

Conteúdo

arrow_down.gifIntrodução
arrow_down.gifTerminologias
arrow_down.gifPré-requisitos de instalação do Exchange SP1?
arrow_down.gifImplementação, configuração e operações básicas - Standby Continuous Replication
arrow_down.gifConclusão
arrow_down.gifReferência
arrow_down.gifSobre o Autor

Introdução

O Standby Continuous Replication (SCR) é uma nova funcionalidade implementada no Exchange Server 2007 Service Pack 1, que tem como propósito disponibilizar uma solução para situação de uma falha completa em um site/servidor rodando o Exchange 2007. Isto é possível através de funcionalidades existentes no sistema de replicação do Exchange, o qual faz uso dos mecanismos de Cluster Continuous Replication (CCR) e Local Continuous replication (LCR). Para o caso do SCR o mesmo é utilizado para replicação de dados para destinos diferentes.

A principal caracteristica da solução de SCR é a não dependência da funcionalidade de cluster, o que permite que não existam quaisquer limitações técnicas que envolvam o uso do serviço de cluster. Outro ponto importante sobre o SCR é que este permite que se façam multiplas  cópias dos dados a serem replicados o que permite que possamos ter várias origens (dados de produção) em um único target (dados de réplica).

arrow_up.gifInício da página

Terminologias

Seguem abaixo alguns termos que poderão ser utilizados neste documento.

EMC – Exchange Management Console. Interface gráfica utilizada na administração dos principais componentes do Exchange Server 2007

EMS – Exchange Management Shell. Nova ferramenta implementada a partir do Exchange 2007 que permite a administração dos componentes do exchange através de linha de comando ou scripts automatizados. A mesma usa como componente principal o Windows Powershell.

Pré-requisitos de instalação do Exchange SP1?

1- O nível de funcionalidade de todos os domínios na floresta onde o Exchange Server 2007 será instalado deve ser no mínimo Windows 2000 Native ou superior.

2- O DNS deve estar devidamente configurado e funcional e deve estar integrado ao Active Directory.

3- Efetue a instalação dos componentes .NET Framework 2.0, MMC 3.0 (já presente no Windows Server 2003 R2) e Windows Powershell.

4- Devem ser instaladas também as atualizações do .NET Framework 2.0 (KB926776) e também da atualização de timezone (KB933360).

5- WWW, SMTP, NNTP.

arrow_up.gifInício da página

Implementação, configuração e operações básicas – Standby Continuous Replication

Pré-requisitos

Os pré-requisitos para a implementação do SCR são:

1.Tanto os caminhos (paths) de origem dos databases (source data) e de destino (target data) precisão ser identicos (isso vale também para o caminho de instalação), assim sendo devemos verificar no processo de criação dos Mailboxes databases eventuais ambiguidades nos nomes.

2.Deve existir um mapeamento 1:1 entre os SG e Databases, ou seja, o Storage Group a ser implementado deverá conter somente um Mailbox Database, assim sendo poderá ser necessário dividir os EDB do First Storage Group em diferentes SGs.

3.Os Sistemas Operacionais (source e target) deverão ser os mesmos

4.Os elementos de origem e destino devem estar dentro do mesmo dominio no Active Directory

5.O Storage Group a ser replicado deverá possuir somente um Mailbox Database.

Processo de implementação do SCR

Nesta estapa será mostrado o processo de criação de um targe SCR desde a criação de um novo Storage Group para a replicação até a implementação do SCR.

Neste caso, estaremos fazendo a replicação do First Storage Group, juntamente com os Mailboxes Databases já criados anteriormente no item 4.4 no servidor de origem (TESTE01), onde o mesmo terá sua réplica criada no servidor de destino (TESTE02)

Para habilitarmos a réplica do SCR devemos:

1.Abrir o Exchange Server Management Shell

2.Executar o comando Enable-StorageGroupCopy conforme mostra o exemplo abaixo:

[PS] C:\>Enable-StorageGroupCopy –Identity SCR_Replica_TST01_SG1 -StandbyMachine teste02.teste.local -Replay

LagTime 0.0:10:0Enable-StorageGroupCopy –Identity SCR_Replica_TST01_SG1 –StandbyMachine teste02.teste.local–ReplayLagTime 0.0:10:0

Neste exemplo foi definido que o tempo de delay de replicação é de 10 min.

3.Uma vez habilitado o uso do SCR, é ncessário termos algum tipo de informação sendo gerada para podernos visualizar a geração dos arquivos de log (total de 50 arquivos).

arrow_up.gifInício da página

Validação da réplica

Para validarmos se o processo de replicação do SCR está funcionando ou não é necessário executarmos o seguinte comando no Exchange Management Shell

1.Executar o comando Get-StorageGroupCopyStatus conforme mostra o exemplo abaixo:

[PS] C:\>Get-StorageGroupCopyStatus -Identity SCR_Replica_TST01_SG1 -StandbyMachine teste02.teste.local |fl

Ativação do SCR

Este procedimento poderá ser utilizado tanto para efetuar os testes de uso dos mailboxes em um cenário de falha programada, quanto para quando formos efetuar a migração de dados para um novo servidor.

Nesta primeira etapa, veremos o processo de ativação do SCR onde o banco de dados de origen ainda existe (failover planejado ou no caso da migração para um novo servidor). Este procedimento faz o uso da funcionalidade de portabilidade do banco de dados do Exchange habilitando a alteração do home mailbox server do usuário para um novo servidor, neste caso o servidor destino do SCR.

O primeiro passo para ativação do SCR é a criação do Storage Group (SG) e Database (DB) no servidor de destino. Este deverá ser criado em um novo caminho (que não deve ser o mesmo do caminho utilizado pela cópia do SCR no servidor de destino). Após a criação do Storage Group e dos Mailboxes Databases e a montagem automática dos mesmo, estes deverão ser desmontados. Uma vez que você efetuou a desmontagem dos Mailboxes Databases, os arquivos de databases e logs deverão apagados.

 

1.) Comando em powershell para criação do Storage Group

[PS] C:\>New-StorageGroup -Server TESTE02 -Name SCR_Restore_SG01 -LogFolderPath C:\SCR_Restore\SG01 -SystemFolderPath C:\SCR_Restore\SG01

Name                      Server            Replicated        Recovery

----                      ------            ----------        --------

SCR_Restore_SG01          TESTE02       None              False

2.) Ex. Comando em powershell para criação do Mailbox Database

[PS] C:\>New-MailboxDatabase -StorageGroup TESTE02\SCR_Restore_SG01 -Name SCR_DB01 -EdbFilePath C:\SCR_Restore\SG01\SCR_DB01.edb

Name                 Server          StorageGroup         Recovery

----                 ------          ------------         --------

SCR_DB01             TESTE02     SCR_Restore_SG01     False

3.) Ex. Comando em powershell para montagem do Mailbox Database

[PS] C:\>Mount-Database -Identity TESTE02\SCR_DB01

4.) Comando em powershell para desmontagem do Mailbox Database

[PS] C:\>Dismount-Database -Identity TESTE02\SCR_DB01 –Confirm:$False

5.) Em seguida, devemos deletar todos os arquivos no diretório abaixo:

C:\SCR_Restore\SG01\ (excluir também o folder do catálogo)

Importante:

Devemos repetir as etapas de 1 a 5 para os demais Mailboxes Databases conforme segue abaixo

[PS] C:\>New-StorageGroup -Server TESTE02 -Name SCR_Restore_SG02 -LogFolderPath C:\SCR_Restore\SG02 -SystemFolderPath C:\SCR_Restore\SG02

Name                      Server            Replicated        Recovery

----                      ------            ----------        --------

SCR_Restore_SG02          TESTE02       None              False

[PS] C:\>New-StorageGroup -Server TESTE02 -Name SCR_Restore_SG03 -LogFolderPath C:\SCR_Restore\SG03 -SystemFolderPath C:\SCR_Restore\SG03

Name                      Server            Replicated        Recovery

----                      ------            ----------        --------

SCR_Restore_SG03          TESTE02       None              False

[PS] C:\>New-StorageGroup -Server TESTE02 -Name SCR_Restore_SG04 -LogFolderPath C:\SCR_Restore\SG04 -SystemFolderPath C:\SCR_Restore\SG04

Name                      Server            Replicated        Recovery

----                      ------            ----------        --------

SCR_Restore_SG04          TESTE02       None              False

[PS] C:\>New-StorageGroup -Server TESTE02 -Name SCR_Restore_SG05 -LogFolderPath C:\SCR_Restore\SG05 -SystemFolderPath C:\SCR_Restore\SG05

Name                      Server            Replicated        Recovery

----                      ------            ----------        --------

SCR_Restore_SG05          TESTE02       None              False

[PS] C:\>New-MailboxDatabase -StorageGroup TESTE02\SCR_Restore_SG02 -Name SCR_DB02 -EdbFilePath C:\SCR_Restore\SG02\SCR_DB02.edb

Name                 Server          StorageGroup         Recovery

----                 ------          ------------         --------

SCR_DB02             TESTE02     SCR_Restore_SG02     False

[PS] C:\>New-MailboxDatabase -StorageGroup TESTE02\SCR_Restore_SG03 -Name SCR_DB03 -EdbFilePath C:\SCR_Restore\SG03\SCR_DB03.edb

Name                 Server          StorageGroup         Recovery

----                 ------          ------------         --------

SCR_DB03             TESTE02     SCR_Restore_SG03     False

[PS] C:\>New-MailboxDatabase -StorageGroup TESTE02\SCR_Restore_SG04 -Name SCR_DB04 -EdbFilePath C:\SCR_Restore\SG04\SCR_DB04.edb

Name                 Server          StorageGroup         Recovery

----                 ------          ------------         --------

SCR_DB04             TESTE02     SCR_Restore_SG04     False

[PS] C:\>New-MailboxDatabase -StorageGroup TESTE02\SCR_Restore_SG05 -Name SCR_DB05 -EdbFilePath C:\SCR_Restore\SG05\SCR_DB05.edb

Name                 Server          StorageGroup         Recovery

----                 ------          ------------         --------

SCR_DB05             TESTE02     SCR_Restore_SG05     False

[PS] C:\>Mount-Database -Identity TESTE02\SCR_DB02

[PS] C:\>Mount-Database -Identity TESTE02\SCR_DB03

[PS] C:\>Mount-Database -Identity TESTE02\SCR_DB04

[PS] C:\>Mount-Database -Identity TESTE02\SCR_DB05

[PS] C:\>Dismount-Database -Identity TESTE02\SCR_DB02 –Confirm:$False

[PS] C:\>Dismount-Database -Identity TESTE02\SCR_DB03 –Confirm:$False

[PS] C:\>Dismount-Database -Identity TESTE02\SCR_DB04 –Confirm:$False

[PS] C:\>Dismount-Database -Identity TESTE02\SCR_DB05 –Confirm:$False

Em seguida, após finalizarmos as atividades no servidor de destino, devemos efetuar a desmontagem dos bancos de dados no servidor de produção.

6.) Comando em powershell para desmontagem do Mailbox Database

[PS] C:\>Dismount-Database -Identity TESTE01\Exch_Mail_Data_1 –Confirm:$False

[PS] C:\>Dismount-Database -Identity TESTE01\Exch_Mail_Data_2 –Confirm:$False

[PS] C:\>Dismount-Database -Identity TESTE01\Exch_Mail_Data_3 –Confirm:$False

[PS] C:\>Dismount-Database -Identity TESTE01\Exch_Mail_Data_4 –Confirm:$False

[PS] C:\>Dismount-Database -Identity TESTE01\Exch_Mail_Data_5 –Confirm:$False

Uma vez que o Storage Group de origem foi desmontado com sucesso, é necessário que se habilite o database de destino para montagem e se assegure de que todos os arquivos de log foram devidamente copiados entre os servidores. Para isso devemos executar o seguinte comando:

7.) Comando em powershell para inicio do processo de restore

[PS] C:\>Restore-StorageGroupCopy TESTE01\SCR_Replica_TST01_SG1 –StandbyMachine TESTE02

Se você encontrou algum erro nesta etapa os mesmos deverão ser investigados cuidadosamente pois isto normalmente significa que os arquivos de log não foram copiados corretamente entre os servidores, o que poderá ocasionar PERDA DE DADOS. Tal exemplo pode ser visualizado na figura abaixo.

Uma vez que o processo de cópia foi finalizado corretamente, você será notificado através da prompt de comandos. A partir desta etapa, é necessário a conclusão das atividades a seguir para que possamos trazer o banco de dados online novamente

Primeiro é necessário verificarmos se as cópias do Database (procedimento este no servidor de destino) estão OK e também o estado de shutdown das mesmas, conforme é mostrado abaixo:

 

Executar no servidor de destino

[PS] C:\>ESEUTIL /mh 'C:\Program Files\Microsoft\Exchange Server\Mailbox\SCR_Replica_TST01_SG1\Exch_Mail_Data_1.edb' | findstr StateESEUTIL /mh c:\SCR_Restore_TST01\DB\SCR_Restore_DB01 | findstr State

Repetir o mesmo comando para todos os Databases

Você irá visualizar que o Database está com status de DIRTY Shutdown e para que o mesmo passe para o estado de clean devemos executar o comando ESEUTIL conforme segue:

Cd 'C:\Program Files\Microsoft\Exchange Server\Mailbox\SCR_Replica_TST01_SG1’

            ESEUTIL /r E05 (o início do arquivo de LOG deve ser validado)

Uma vez finalizado o ESEUTIL devemos executar novamente o comando para verificar o estado do Database.

       [PS] C:\>ESEUTIL /mh 'C:\Program Files\Microsoft\Exchange Server\Mailbox\SCR_Replica_TST01_SG1\Exch_Mail_Data_1.edb' | findstr StateESEUTIL /mh c:\SCR_Restore_TST01\DB\SCR_Restore_DB01 | findstr State

Repetir o mesmo comando para todos os Databases

Em seguida devemos alterar o caminho do Storage Group e Database Group definido no servidor de destino para o caminho definido no processo de criação de cópia do SCR criado anteriomente, conforme segue abaixo:

[PS] C:\>Move-StorageGroupPath TESTE02\SCR_Restore_SG01 -SystemFolderPath 'C:\Program Files\Microsoft\Exchange Server\Mailbox\SCR_Replica_TST01_SG1' -Logfol

derPath 'C:\Program Files\Microsoft\Exchange Server\Mailbox\SCR_Replica_TST01_SG

1' –ConfigurationOnly –Confirm:$False

[PS] C:\>Move-DatabasePath TESTE02\SCR_Restore_SG01\SCR_DB01 -EdbFilePath 'C

:\Program Files\Microsoft\Exchange Server\Mailbox\SCR_Replica_TST01_SG1\Exch_Mai

l_Data_1.edb' –ConfigurationOnly –Confirm:$False

Finalmente, antes de efetuarmos a montagem do Database devemos definir que o mesmo está pronto para ser sobrescrito durante o restore, conforme segue:

[PS] C:\>Set-MailboxDatabase TESTE02\SCR_Restore_SG01\SCR_DB01 -AllowFileRestore:$True

Para validarmos que o mesmo está ok devemos executar o comando abaixo onde a saída será o valor do campo AllowFileRestore que deverá ser igual a True:

[PS] C:\>Get-MailboxDatabase TESTE02\SCR_Restore_SG05\SCR_DB05 |fl |findstr AllowFileRestore

AllowFileRestore               : True

 

Uma vez finalizado devemos então montar o banco de dados:

[PS] C:\>Mount-Database -Identity TESTE02\SCR_Restore_SG01\SCR_DB01 -confirm:$False

[PS] C:\>Mount-Database -Identity TESTE02\SCR_Restore_SG02\SCR_DB02 -confirm:$False

[PS] C:\>Mount-Database -Identity TESTE02\SCR_Restore_SG03\SCR_DB03 -confirm:$False

[PS] C:\>Mount-Database -Identity TESTE02\SCR_Restore_SG04\SCR_DB04 -confirm:$False

[PS] C:\>Mount-Database -Identity TESTE02\SCR_Restore_SG05\SCR_DB05 -confirm:$False

[PS] C:\>   

A partir deste ponto, o Database no servidor de destino está restaurado e pronto para ser utilizado. Assim sendo, estaremos efetuando a alteração da configuração dos mailboxes dos usuários para que os mesmos passem agora a utilizar o novo servidor.

Este processo é feito conforme segue:

[PS] C:\>Get-Mailbox -Database TESTE01\SCR_Replica_TST01_SG1\Exch_Mail_Data_

1 |where {$_.ObjectClass -NotMatch '(SystemAttendantMailbox|ExOleDbSystemMailbox

)'}| Move-Mailbox -ConfigurationOnly -TargetDatabase TESTE02\SCR_Restore_SG0

1\SCR_DB01 -Confirm:$False

Após completarmos os passos descritos devemos validar se os usuários conseguem acessar o email apontando para o novo servidor. Em alguns casos será necessário sair e abrir o Outlook novamente para que as modificações passem a valer.

arrow_up.gifInício da página

Conclusão

Neste artigo abordamos a implementação do sistema de recuperação de desastres denominado Standby Continuous Replication que foi disponibilizado no Service Pack 1 do Exchange Server 2007

Referências + Tópicos Relacionados

Para maiores informações a respeito do SCR, favor consultar o site da Microsoft no link a seguir:

https://technet.microsoft.com/en-us/library/bb676502.aspx

Sobre o Autor

Alexandre Belchior atua como Consultor Técnico em plataformas Microsoft pela Tele Design de Campinas/SP. Com mais de 15 anos de experiência profissional, sendo desse total 13 anos focado em produtos e tecnologias Microsoft nas áreas de Mensageria, Virtualização, Alta Disponibilidade, Datacenter e Armazenamente. Possui as credencias MCT, MCSE, MCTS, MCSA fazendo parte do programa de certificação da Microsoft desde 1999. Participa como membro influenciador da comunidade Microsoft TechNet onde faz parte do time de moderadores/apresentadores de Webcasts, e também na elaboração de artigos técnicos

Email:

Twiter:

arrow_up.gif Início da página