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
.gif)
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
.gif)
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.
.gif)
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
.gif)
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:
http://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:
Início da página