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
Introdução
Terminologias
Pré-requisitos de instalação do Exchange SP1?
Implementação, configuração e operações básicas - Standby Continuous Replication
Conclusão
Referência
Sobre 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).
Iní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.
Iní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).
Iní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.
Iní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
Início da página