基本上,我们有一个具有 CAS 和邮箱角色的主站点 Exchange 2013,并且应该所有用户都从他们的 Outlook 连接到这个交换。
现在我们在 DR 站点安装了另一个 Exchange 2013。我们的总部和 DR 站点通过 Layer2 桥接器连接,因此两个 Exchange 连接到同一个域,并且也位于同一个网络子网中。因此,两个 Exchange 服务器各自有一个网卡,即 LAN/域网络。
我们创建了 DAG,并且数据库的复制工作正常...但我们目前面临的问题是,一些用户使用他们的 Outlook 从我们的总部直接连接到 DR Exchange,这不是我们想要的。我们希望 DR 托管数据库的副本,并且仅当主站点出现某些问题时才激活,我们必须手动切换 DR 站点上的所有内容。
当我们检查他们的 Outlook 上的连接状态时,我们注意到了这个问题,并注意到他们连接到的代理服务器是 DR 交换。
请问我们该如何解决这个问题呢?
答案1
Exchange 可以识别 AD 站点。您需要将两个站点放入单独的 AD 站点。然后为每个站点设置唯一的 URL。然后客户端将连接到与其邮箱位于同一 AD 站点的服务器,而不是通过 WAN。目前,Exchange 不知道它位于两个不同的站点上,因此将所有内容视为一个大型 LAN。我预计您还会发现 Windows 计算机也在使用另一个位置的域控制器 - 除非您使用了一些防火墙技巧来阻止它(而不是正确使用站点和服务)。
答案2
正如在本文来自 Exchange 团队博客在 Exchange 2013 中,CAS 服务器充当邮箱数据库服务器的无状态代理,请求的邮箱当前在该服务器上处于活动状态。因此,即使回答客户端请求的 CAS 位于 DR 站点,连接也始终代理到主站点中的邮箱服务器(前提是您的所有数据库副本都在主站点中激活)。
如果您想阻止任何与辅助站点中的 CAS 的“随机”连接,则必须部署一个“绑定”命名空间模型,每个站点都有单独的命名空间。
但是,如果您可以让大约一半的连接由 DR CAS 服务器代理(并且由于您使用的是延伸 VLAN,我认为延迟和带宽不是大问题),那么通过保持命名空间统一,您就可以大大简化您的环境。
或者,如果您不想在 DR 之外使用辅助 CAS 服务器,并且愿意在需要时手动更新配置,则可以将 DNS 条目仅指向主站点中的 CAS 服务器,将其设置为较低的 TTL,并在需要时将其更新为指向辅助 DNS 中的 CAS 服务器。在这种情况下,您可能还希望阻止激活辅助站点中的邮箱数据库:
Set-MailboxServer <secondary mailbox server> –DatabaseCopyAutoActivationPolicy Blocked
但同样,这会从故障转移机制中删除任何自动化功能,因此,如果您在主站点中只有一个邮箱或 CAS 服务器并且其中任何一个出现故障,那么您的用户将无法连接,直到您手动更新配置。
我还将通过运行以下命令确保所有数据库当前都在主数据中心处于活动状态:
Get-MailboxDatabaseCopyStatus -Identity <Main Exchange Database Server> | Format-List
如果Status
与任何给定数据库的安装不同,则该数据库在不同的服务器上处于活动状态,可能在辅助站点中。
最终,这在很大程度上取决于您部署了多少个 Exchange 服务器(以及它们是否是多角色的)、您使用的命名空间模型以及您采用的在它们之间分配负载的机制(DNS 循环、硬件负载平衡器等)。
最后要注意的是,如果你还没有这样做,你应该看看配置数据中心激活协调模式