![Exchange 2010 DAG 自动故障转移测试/问题。并非总是根据安装服务器的方式自动故障转移到健康的数据库副本](https://linux22.com/image/508085/Exchange%202010%20DAG%20%E8%87%AA%E5%8A%A8%E6%95%85%E9%9A%9C%E8%BD%AC%E7%A7%BB%E6%B5%8B%E8%AF%95%2F%E9%97%AE%E9%A2%98%E3%80%82%E5%B9%B6%E9%9D%9E%E6%80%BB%E6%98%AF%E6%A0%B9%E6%8D%AE%E5%AE%89%E8%A3%85%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E6%96%B9%E5%BC%8F%E8%87%AA%E5%8A%A8%E6%95%85%E9%9A%9C%E8%BD%AC%E7%A7%BB%E5%88%B0%E5%81%A5%E5%BA%B7%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E5%89%AF%E6%9C%AC.png)
好的,我有 2 台运行客户端访问/集线器传输/邮箱角色的 Exchange 2010 服务器,还有一台仅运行客户端访问/集线器传输角色并充当我的桥头堡的 Exchange 2010 服务器。两台邮箱服务器正在 DAG 中运行一个数据库设置。服务器 A 显示数据库已安装,服务器 B 显示正常。如果我通过 Windows GUI 重新启动服务器 A,服务器 B 将从正常状态切换到已安装状态,使用 Outlook 2007 时我几乎看不到任何服务中断。服务器 A 显示“服务关闭”,然后显示“失败”,然后显示“正常”,并将数据库安装在服务器 B 上。这就是它应该如何工作的,到目前为止一切顺利。
现在,如果我测试服务器 A 冷关机,或从网络拔下两个网卡以模拟故障,服务器 B 将从“健康”切换为“已安装”,服务器 A 切换为“服务已关闭”,但我的 Outlook 客户端永远不会连接到安装在服务器 B 上的数据库!我可以连接到服务器 C(客户端访问/集线器传输)并获取我的电子邮件,甚至可以发送新电子邮件,但传入的电子邮件不会传递,直到服务器 A 重新联机并且其数据库恢复到“健康”状态。
所以我不明白为什么当我重新启动已安装 DB 副本的服务器时它会自动故障转移,这几乎不会导致 Outlook 2007 出现任何问题。但是当我关闭或 DC 已安装的 DB 服务器时,它确实会安装健康副本,但 Outlook 2007 客户端无法连接。
我希望我试图描绘的画面能让人理解,它让我有点抓狂。任何帮助我都会感激不尽!
答案1
我认为您需要设置一个 cas 阵列。然后设置数据库以使用此阵列。然后使用硬件负载平衡器或 2 个带有 nlb 的专用 cas 服务器进行负载平衡。稍后我将在计算机上编辑此内容以提供更多详细信息。不过这应该足以让您进行谷歌搜索。
答案2
我认为该问题与客户端访问服务器角色有关,特别是 RPC 客户端访问服务器。
我目前在我的环境中看到了与您的原始帖子相同的内容。如果我停止一台服务器 B 上的 Microsoft Exchange RPC 客户端访问服务,那么无论安装了哪个 DAG 成员,我都无法访问邮箱。
不幸的是,我还没有一个明确的解决方案。我认为诀窍涉及对客户端访问服务器角色进行负载平衡,但是您不应该在同一台服务器上拥有 NLB 和 DAG。因此,您要么需要将 CAS 角色移动到另外两台服务器,要么使用硬件设备进行负载平衡。
答案3
对于 Exchange 2010,您需要创建一个 CAS 阵列,它将处理传入的用户流量,还需要一些其他设置。详细说明这里。