Avamar: Recuperação de BU do ADMe-Exchange usando -exchvssavtar (avtar)
Summary: O ADMe pode recuperar backups do Exchange em um servidor genérico de preparo do Windows sem a necessidade do Exchange S/W ou do plug-in do Avamar Exchange. Os logs de transação, nesse caso, devem ser reproduzidos manualmente nos arquivos edb usando o Eseutil para colocá-lo em um estado de desligamento limpo. Os procedimentos a seguir documentam as etapas do Eseutil necessárias para reproduzir os logs de transação. ...
Instructions
Uma política de trabalho ADMe típica usada para preparar o backup do Exchange para um servidor genérico de preparo do Windows sem a necessidade de software Microsoft Exchange nem do plug-in do Avamar Exchange deve ser semelhante ao exemplo a seguir.
A opção do ADMe necessária para invocar esse processo é "-exchvssavtar", que deve ser atribuída à linha ou campo Migration Flags, conforme mostrado.
================< Job Policy Contents >================= Environment_Number:: 1 Base_Group_Name:: exch01 Sub_Group_Numbers:: 0 Select_Flags:: -d -last -exchvss View_Flags:: -d Migration_Flags:: -d -stageonly -D -m -exchvssavtar (include -stageonly only if you plan to confirm the eseutil steps) =====================================================================================================
TESTE-1:
Neste teste de laboratório, o backup #293 do Exchange foi preparado para uma pasta de destino chamada C:\ADME3\exch01 usando a opção "-exchvssavtar" do ADMe.
Navegue pelo nome do caminho até onde existem o edb, os arquivos de log e os arquivos de controle que, neste exemplo, são o caminho destacado.
Neste exemplo, os arquivos edb e logs estavam em um diretório comum, mas, em um ambiente do cliente, edb e logs estão quase sempre em pastas separadas em letras de unidade separadas.
C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox>cd DB1
Em um prompt de comando com privilégio de administrador, vá para o diretório que contém os arquivos edb e log.
Liste o conteúdo da pasta para os locais dos arquivos edb e de log e copie e cole o conteúdo no bloco de notas para referência, especialmente para os registros de data e hora e os nomes de arquivos de log disponíveis.
C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1> dir Directory of C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1
11/01/2023 17:22 142.671.872 DB1.edb<========Observe que o registro de data e hora do arquivo edb é de 11 de janeiro de 2023, a hora do backup do Exchange do VSS.
01/12/2023 03:22 AM 8,192 E01.chk 01/12/2023 03:13 AM 1,048,576 E0100016666.log 01/12/2023 03:22 AM 1,048,576 E0100016667.log 01/12/2023 03:22 AM 1,048,576 E0100016668.log 01/12/2023 05:23 PM 1,048,576 E0100016669.log 01/13/2023 03:01 AM 1,048,576 E010001666A.log 01/13/2023 03:02 AM 1,048,576 E010001666B.log 01/13/2023 03:12 AM 1,048,576 E010001666C.log 01/14/2023 03:01 AM 1,048,576 E010001666D.log 01/14/2023 03:01 AM 1,048,576 E010001666E.log 01/14/2023 03:16 AM 1,048,576 E010001666F.log 01/16/2023 03:01 AM 1,048,576 E0100016670.log 01/16/2023 03:01 AM 1,048,576 E0100016671.log 01/16/2023 03:27 AM 1,048,576 E0100016672.log 01/17/2023 03:02 AM 1,048,576 E0100016673.log 01/17/2023 03:10 AM 1,048,576 E0100016674.log 01/17/2023 03:11 AM 1,048,576 E0100016675.log 01/18/2023 03:01 AM 1,048,576 E0100016676.log 01/18/2023 03:02 AM 1,048,576 E0100016677.log 01/18/2023 03:18 AM 1,048,576 E0100016678.log 01/18/2023 08:52 AM 1,048,576 E0100016679.log 01/18/2023 08:53 AM 1,048,576 E010001667A.log 01/18/2023 08:55 AM 1,048,576 E010001667B.log 01/18/2023 09:23 AM 1,048,576 E010001667C.log 01/18/2023 09:23 AM 1,048,576 E01tmp.log
Confirme o estado de desligamento do edb usando o comando "Eseutil".
C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1>eseutil /mh DB1.edb | findstr State
Estado: Desligamento< sujo==== note o EDB mostra como estando em um estado de desligamento sujo porque foi feito backup usando um snapshot VSS, isso é totalmente esperado, a menos que o banco de dados do Exchange estivesse ocioso no momento da BU sem registros pendentes para aplicar.
Altere o diretório para o diretório de log usando o Eseutil para confirmar se todos os logs necessários estão disponíveis e em bom estado antes que eles sejam reproduzidos no arquivo edb.
E01 neste exemplo representa o prefixo do arquivo de log ou o valor base, isso varia especialmente quando vários DBs edb do Exchange estão contidos em uma determinada instância do Exchange.
C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1>eseutil /ml E01
Verifying log files...
Base name: E01
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016666.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016667.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016668.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016669.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E010001666A.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E010001666B.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E010001666C.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E010001666D.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E010001666E.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E010001666F.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016670.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016671.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016672.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016673.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016674.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016675.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016676.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016677.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016678.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E0100016679.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E010001667A.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E010001667B.log - OK
Log file: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1\E010001667C.log - OK
No damaged log files were found. <============ verification step to ensure all logs are in a ready to use state
Operation completed successfully in 0.984 seconds.
Altere o diretório para a pasta que contém o arquivo edb a ser reparado.
Usando "Eseutil", execute a sintaxe como exibido passando tudo em uma linha para reproduzir os logs e atualizar o arquivo edb.
As opções "/l <points to log path> /d <points to edb path>", coloquem cada nome de caminho entre aspas duplas, pois vários nomes de diretório podem conter espaços.
Se você especificar nomes de caminho incorretos para o Eseutil, isso poderá resultar na atualização do arquivo E01.chk e possivelmente em outros (em comparação com os registros de data e hora do arquivo original), impedindo que os logs sejam aplicados com sucesso, mesmo depois da correção dos nomes de caminho. É aconselhável fazer uma cópia das pastas envolvidas para permitir colocar os arquivos originais de volta no lugar rapidamente se esta situação surgir.
C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1> eseutil /r E01 /l "C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1" /d "C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1"
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server Version 14.03 Initiating RECOVERY mode... Logfile base name: E01 Log files: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1 System files: <current directory> Database Directory: C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1 Performing soft recovery... <========= this is the step which will update the edb Restore Status (% complete) 0 10 20 30 40 50 60 70 80 90 100 |----|----|----|----|----|----|----|----|----|----| ................................................... Operation completed successfully in 0.812 seconds.
Depois que os logs tiverem sido reproduzidos com sucesso, verifique novamente o estado de desligamento do edb, que agora deve estar em um estado de desligamento limpo.
C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1>eseutil /mh DB1.edb | findstr State
Estado: Desligamento< limpo========= Observe que o EDB agora mostra estar em um estado de desligamento limpo depois de reproduzir os logs com sucesso.
C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1>dir Directory of C:\ADME3\exch01\BYDATE\srv2008-exch10.nicktest.local\2023-01-18-08-59-34-293\srv2008-exch10_00000000\C\Program Files\Microsoft\Exchange Server\V14\Mailbox\DB1
01/23/2023 04:03 PM <DIR> . 01/23/2023 04:03 PM <DIR> .. 01/23/2023 04:03 PM 142,671,872 DB1.edb <========note the edb & chk file timestamps have now been updated to Jan 23, 2023 from Jan 11, 2023 as documented at the start of this process ============================================================================================================================================
Teste-2
Este próximo exemplo usa a interface do usuário do Avamar para recuperar o backup do Exchange usando o plug-in do Exchange, mas desabilitando a reprodução dos logs. Ele foi recuperado para a pasta de nome C:\ADAM4 e as mesmas sequências de comando "Eseutil" usadas conforme descrito acima no cenário Test-01.
c:\ADAM4>dir Directory of c:\ADAM4 01/23/2023 04:54 PM <DIR> . 01/23/2023 04:54 PM <DIR> .. 01/11/2023 05:22 PM 142,671,872 DB1.edb <============= note the edb file timestamp is from Jan 11, 2023 the time of the VSS Exch backup 01/23/2023 04:54 PM <DIR> _restoredLogs <============ The Avamar plugin recovers all logs to a common folder as shown
Houve pelo menos um caso em que a pasta de log comum consolidada para um backup contendo arquivos edb x4, resultando na sobreposição do valor do prefixo de log e sobregravação de alguns arquivos de log que, em última análise, não puderam ser aplicados com sucesso ao arquivo edb. Essa falha foi do Avamar, pois o Exchange mantém diretórios de log separados para cada edb e o conteúdo do backup reflete as pastas de log separadas. Consulte Esc https://jira.cec.lab.emc.com/browse/AVAMARESC-271 para obter detalhes e acesso a uma atualização binária de plug-in que recupera logs referentes a cada edb em seus nomes de pastas originais separados.
C:\ADAM4> eseutil -mh DB1.edb | findstr State
01/23/2023 04:03 PM 8,192 E01.chk 01/23/2023 04:03 PM 1,048,576 E01.log 01/12/2023 03:13 AM 1,048,576 E0100016666.log 01/12/2023 03:22 AM 1,048,576 E0100016667.log 01/12/2023 03:22 AM 1,048,576 E0100016668.log 01/12/2023 05:23 PM 1,048,576 E0100016669.log 01/13/2023 03:01 AM 1,048,576 E010001666A.log 01/13/2023 03:02 AM 1,048,576 E010001666B.log 01/13/2023 03:12 AM 1,048,576 E010001666C.log 01/14/2023 03:01 AM 1,048,576 E010001666D.log 01/14/2023 03:01 AM 1,048,576 E010001666E.log 01/14/2023 03:16 AM 1,048,576 E010001666F.log 01/16/2023 03:01 AM 1,048,576 E0100016670.log 01/16/2023 03:01 AM 1,048,576 E0100016671.log 01/16/2023 03:27 AM 1,048,576 E0100016672.log 01/17/2023 03:02 AM 1,048,576 E0100016673.log 01/17/2023 03:10 AM 1,048,576 E0100016674.log 01/17/2023 03:11 AM 1,048,576 E0100016675.log 01/18/2023 03:01 AM 1,048,576 E0100016676.log 01/18/2023 03:02 AM 1,048,576 E0100016677.log 01/18/2023 03:18 AM 1,048,576 E0100016678.log 01/18/2023 08:52 AM 1,048,576 E0100016679.log 01/18/2023 08:53 AM 1,048,576 E010001667A.log 01/18/2023 08:55 AM 1,048,576 E010001667B.log 01/18/2023 09:23 AM 1,048,576 E010001667C.log 01/23/2023 04:03 PM 1,048,576 E01res00001.jrs 01/23/2023 04:03 PM 1,048,576 E01res00002.jrs 01/23/2023 04:03 PM 1,048,576 E01tmp.log State: Dirty Shutdown <========= note the EDB shows as in a dirty shutdown state because it was backed up using a VSS snapshot, this is fully expected unless the exchg DB was totally idle at BU time.
C:\ADAM4\_restoredLogs>eseutil /ml E01
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server Initiating FILE DUMP mode... Verifying log files... Base name: E01 Log file: c:\ADAM4\_restoredLogs\E0100016666.log - OK Log file: c:\ADAM4\_restoredLogs\E0100016667.log - OK Log file: c:\ADAM4\_restoredLogs\E0100016668.log - OK Log file: c:\ADAM4\_restoredLogs\E0100016669.log - OK Log file: c:\ADAM4\_restoredLogs\E010001666A.log - OK Log file: c:\ADAM4\_restoredLogs\E010001666B.log - OK Log file: c:\ADAM4\_restoredLogs\E010001666C.log - OK Log file: c:\ADAM4\_restoredLogs\E010001666D.log - OK Log file: c:\ADAM4\_restoredLogs\E010001666E.log - OK Log file: c:\ADAM4\_restoredLogs\E010001666F.log - OK Log file: c:\ADAM4\_restoredLogs\E0100016670.log - OK Log file: c:\ADAM4\_restoredLogs\E0100016671.log - OK Log file: c:\ADAM4\_restoredLogs\E0100016672.log - OK Log file: c:\ADAM4\_restoredLogs\E0100016673.log - OK[1][2] Log file: c:\ADAM4\_restoredLogs\E0100016674.log - OK Log file: c:\ADAM4\_restoredLogs\E0100016675.log - OK Log file: c:\ADAM4\_restoredLogs\E0100016676.log - OK Log file: c:\ADAM4\_restoredLogs\E0100016677.log - OK Log file: c:\ADAM4\_restoredLogs\E0100016678.log - OK Log file: c:\ADAM4\_restoredLogs\E0100016679.log - OK Log file: c:\ADAM4\_restoredLogs\E010001667A.log - OK Log file: c:\ADAM4\_restoredLogs\E010001667B.log - OK Log file: c:\ADAM4\_restoredLogs\E010001667C.log - OK No damaged log files were found. <============ verification step to ensure all logs are in a ready to use state Operation completed successfully in 1.125 seconds.
Retorne para a pasta que contém o arquivo edb.
Usando "Eseutil", execute a seguinte sintaxe, tudo em uma linha, para reproduzir os logs e atualizar o arquivo edb, onde a opção "/l <points to log path> /d <points to edb path>".
Coloque cada nome de caminho entre aspas duplas, pois vários nomes de diretório podem conter espaços.
c:\ADAM4>eseutil /r E01 /l "c:\ADAM4\_restoredLogs" /d "c:\ADAM4"
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server Version 14.03 Initiating RECOVERY mode... Logfile base name: E01 Log files: c:\ADAM4\_restoredLogs System files: <current directory> Database Directory: c:\ADAM4 Performing soft recovery... <========= this is the step which will update the edb Restore Status (% complete) 0 10 20 30 40 50 60 70 80 90 100 |----|----|----|----|----|----|----|----|----|----| ................................................... Operation completed successfully in 0.515 seconds.
c:\ADAM4>dir Directory of c:\ADAM4 01/23/2023 05:35 PM <DIR> . 01/23/2023 05:35 PM <DIR> .. 01/23/2023 05:35 PM 142,671,872 DB1.edb <==note the edb & chk file timestamps have now been updated to Jan 23, 2023 from Jan 11, 2023 as documented at the start of this process 01/23/2023 05:35 PM 8,192 E01.chk
C:\ADAM4>eseutil /mh DB1.edb | findstr State
Estado: Desligamento< limpo========= note que o EDB agora mostra estar em um desligamento limpo.
Additional Information
Links que não são da Dell
Os links a seguir são fornecidos apenas para fins de referência. Existem inúmeros links disponíveis na Internet discutindo o uso do Eseutil para reparar um arquivo edb.
Um link documentando o uso da opção /p , que é um reparo forçado, está disponível como último recurso para reparar uma edb.
https://social.technet.microsoft.com/wiki/contents/articles/52087.exchange-extensible-storage-engine-utility-eseutil.aspx
Há também ferramentas profissionais disponíveis para reparar arquivos edb semelhantes ao deste lin.
https://www.systoolsgroup.com/updates/exchange-dirty-shutdown-state/