Avamar:使用 -exchvssavtar (avtar) 进行 ADMe-Exchange BU 恢复
Summary: ADMe 可以将 Exchange 备份恢复到通用 Windows 暂存服务器,而无需 Exchange 软件或 Avamar Exchange 插件。 在这种情况下,必须使用 Eseutil 针对 edb 文件手动重播事务日志,以便使其进入干净关闭状态。以下过程记录了重播事务日志所需的 Eseutil 步骤。
Instructions
用于将 Exchange 备份转移到通用 Windows 暂存服务器而无需 Microsoft Exchange 软件或 Avamar Exchange 插件的典型 ADMe 作业策略应类似于以下示例。
调用此过程所需的 ADMe 选项是“-exchvssavtar”,必须将其分配给 Migration Flags 行或字段,如图所示。
================< 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) =====================================================================================================
测试-1:
在此实验测试中,使用 ADMe 选项“-exchvssavtar”将 Exchange 备份 #293 暂存到名为 C:\ADME3\exch01 的目标文件夹。
向下导航到 edb、日志文件和控制文件所在的路径名称,在此示例中可以看到突出显示的路径。
在此示例中,edb 和日志文件位于通用目录中,但在客户环境中,edb 和日志几乎始终位于不同驱动器号上的单独文件夹中。
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
在具有管理员权限的命令提示符下,转至包含 edb 和日志文件的目录。
列出 edb 和日志文件位置的文件夹内容,并将内容复制并粘贴到记事本以供参考,特别是时间戳和可用日志文件名。
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/11/2023 05:22 PM 142,671,872 DB1.edb<========注意,edb 文件时间戳是从 2023 年 1 月 11 日开始的,即 VSS Exchange 备份的时间。
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
使用“Eseutil”命令确认 edb 的关闭状态。
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
State:脏关机<==== 请注意,EDB 显示为处于异常关闭状态,因为它是使用 VSS 快照备份的,这是完全预期的,除非 Exchange 数据库在业务部门时间处于空闲状态,并且没有待处理的日志可应用。
将目录更改为日志目录,然后使用 Eseutil 确认所有必需的日志都可用且状态良好,然后再针对 edb 文件重播这些日志。
此示例中的 E01 表示日志文件前缀或基值,尤其是当给定的 Exchange 实例中包含多个 Exchange edb DB 时,此值会有所不同。
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.
将目录更改为包含要修复的 edb 文件的文件夹。
使用“Eseutil”,在一行中运行如下所示的语法,以重播日志并更新 edb 文件。
选项“/l <指向日志路径> /d <指向 edb 路径>”将每个路径名称括在双引号内,因为各种目录名称可能包含空格。
如果您为 Eseutil 指定了不正确的路径名称,则可能会导致 E01.chk 文件和其他文件被更新(与原始文件时间戳相比),从而阻止日志成功应用,即使在更正路径名后也是如此。建议对所涉及的文件夹进行复制,以便在出现这种情况时快速将原始文件放回原位。
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.
成功重放日志后,重新验证 edb 的关闭状态,它现在应处于 Clean Shutdown 状态。
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
State:干净关机<========= 请注意,在成功重放日志后,EDB 现在显示处于干净关闭状态。
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 ============================================================================================================================================
测试-2
下一个示例使用 Avamar UI 使用 Exchange 插件恢复 Exchange 备份,但禁用日志重放。它已恢复到文件夹名称 C:\ADAM4 和上述在 Test-01 场景中使用的相同“Eseutil”命令序列。
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
至少在一种情况下,包含 x4 edb 文件的备份的合并公用日志文件夹导致日志前缀值重叠并覆盖某些最终无法成功应用于 edb 文件的日志文件。这是 Avamar 的故障,因为 Exchange 为每个 edb 维护单独的日志目录,而备份内容反映单独的日志文件夹。请参阅 Esc https://jira.cec.lab.emc.com/browse/AVAMARESC-271 了解详细信息并访问插件二进制更新,该更新将与每个 edb 相关的日志恢复到其原始的单独文件夹名称中。
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.
返回到包含 edb 文件的文件夹。
使用“Eseutil”在一行中运行以下语法以重播日志并更新 edb 文件,其中选项“/l <指向日志路径> /d <指向 edb 路径>”。
将每个路径名称括在双引号内,因为各种目录名称可能包含空格。
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
State:干净关机<========= 请注意,EDB 现在显示处于完全关闭状态。
Additional Information
非戴尔链接
以下链接仅供参考。Internet 上有许多链接讨论使用 Eseutil 修复 edb 文件。
记录使用 /p 选项(这是一项硬修复)的链接可作为修复 edb 的最后手段。
https://social.technet.microsoft.com/wiki/contents/articles/52087.exchange-extensible-storage-engine-utility-eseutil.aspx
还有一些专业工具可用于修复与此 lin 类似的 edb 文件。
https://www.systoolsgroup.com/updates/exchange-dirty-shutdown-state/