年底了,服务器也开始闹情绪了,最近不知道咋回事,由于各种原因(如底层存储系统上的硬件故障),数据库副本可能处于失败状态。解决数据库副本失败的根本原因之后,您需要重新生成副本,副本是通过复制承载健康副本的另一个DAG成员的数据来创建数据库的新副本的过程。
为了演示如何重新设置失败的数据库副本,我首先导致了其中一个数据库的失败,这可以在Get-MailboxDatabaseCopyStatus cmdlet 的输出中看到。
准备重新调整数据库副本
-
重新播种数据库副本时有许多考虑因素。
-
首先,重新填充所需的时间将取决于数据库的大小以及源服务器和目标服务器之间的网络性能。
-
默认情况下,种子将使用托管活动数据库副本的DAG成员作为源。
-
如果数据库的大小为500Gb,那么需要通过网络复制500Gb的数据库,再加上该数据库的事务日志文件和内容索引。这可能会增加大量需要通过网络传输的数据。
-
如果DAG成员仅存在于通过高速LAN连接的单个站点内,则这不太可能成为问题。
-
但是,如果DAG成员存在于多个WAN中的多个站点,那么这可能是一个更大的问题。
- 幸运的是,您可以为数据库重新指定一个源服务器,从而允许您选择一个具有更好连接性的服务器,例如与具有失败的数据库副本的服务器位于同一站点中的另一个DAG成员。
使用Exchange管理中心重新发送数据库副本
- 打开Exchange管理中心并导航到服务器 - >数据库。选择具有失败副本的数据库。
- 在显示为失败的数据库副本上,单击更新链接。
- 您可以单击“ 浏览”并根据需要指定源服务器,否则请单击“保存”以从承载活动数据库副本的服务器重新设置种类。
- 等待再次操作完成。
使用Exchange命令行管理程序重新发送数据库副本
-
我们还可以使用Update-MailboxDatabaseCopy cmdlet 执行重新播种。
- 要重新输入的数据库以“数据库名称服务器名称”格式输入,例如:
[PS] C:\>Update-MailboxDatabaseCopy "Mailbox Database 2E15MB1"
- 要指定源类型的源服务器,请使用-SourceServer参数。
[PS] C:\>Update-MailboxDatabaseCopy "Mailbox Database 2E15MB1" -SourceServer EXMB3
- 如果收到日志文件已存在于数据库的事务日志路径中的错误消息,则可以使用-DeleteExistingFiles参数告知Exchange服务器在开始重新设置种子之前删除这些文件。
[PS] C:\>Update-MailboxDatabaseCopy "Mailbox Database 2E15MB1" -DeleteExistingFiles
-
最后,对于您不希望保持Exchange命令行管理程序处于打开状态,或者脚本重新编写并且不希望脚本必须等待重新编辑完成的冗长备份,可以使用-BeginSeed参数。
[PS] C:\>Update-MailboxDatabaseCopy "Mailbox Database 2E15MB1" -BeginSeed
- 当然这些参数可以相互结合使用,例如:
[PS] C:\>Update-MailboxDatabaseCopy "Mailbox Database 2E15MB1" -DeleteExistingFiles -BeginSeed -SourceServer E15MB3
监视数据库副本健康
说到监控啊,我在TechNet库里发现了2个比较霸气的脚本,大家可以玩玩。
脚本链接:
https://gallery.technet.microsoft.com/office/Database-Availability-9a25e9a1
脚本链接:
https://gallery.technet.microsoft.com/scriptcenter/Generate-Health-Report-for-19f5fe5f
本文转自 zyliday 51CTO博客,原文链接:http://blog.51cto.com/itsoul/2048410