我们有 1 个 Active Directory 林和域。我们有 1 个 Exchange 2010 服务器(在 Windows Server 2008 SP2 上)管理所有电子邮件(发送、接收和邮箱存储)。我们计划向此设置添加另一个 Exchange 2010 服务器,以便我们可以将邮箱的负载分配到第二台服务器。准确地说,假设有 10 个邮箱,我们希望将 5 个存储在一台服务器上,将 5 个存储在第二台新添加的服务器上。此设置是否需要 DAG 设置?
根据我对 DAG 文档的推断,DAG 更像是一种容错设置。它涉及在 DAG 中的所有“节点”上完全复制您的邮箱存储。如果一个邮箱存储发生故障或暂时不可用,则将使用第二个邮箱存储。在我的示例中,这意味着两个服务器都将拥有全部 10 个邮箱。对吗?
我的问题是,我们是否可以将邮箱 50/50 地分布在两台服务器上,并让一半的用户连接到第二个交换箱,但仍然可以向组织中的其他人发送电子邮件。那会是什么样的设置?有人有指南、演练等的链接吗?
- DAG——数据库可用性组
答案1
每个安装了邮箱角色的 Exchange 服务器都可以有一个或多个邮箱数据库,因此如果您只需要分担数据库负载,则需要在新服务器上创建一个邮箱数据库并将一些邮箱移至该数据库;故事就结束了。当然,这意味着如果用户在 ServerA 上有一个邮箱,而 ServerA 发生故障,则将有不容错;邮箱在 ServerB 上的用户没有问题,但邮箱在 ServerA 上的用户将无法访问它们。
如果您想要冗余,则需要数据库可用性组;在 DAG 中,每个邮箱数据库在不同的服务器上都有一个或多个副本,在给定时刻只有一个副本处于活动状态;如果邮箱数据库的活动副本所在的服务器发生故障,则另一个副本将变为活动状态,用户将自动重定向到该副本。这样做的缺点是,您至少需要两倍的磁盘空间(因为每个数据库至少有两个副本),并且服务器的一些处理能力将用于数据复制。
您还需要考虑到 Exchange 不仅仅是由邮箱数据库构成的:为了使其正常工作,您还需要至少一台可运行的服务器来运行其他两个主要角色,即集线器传输和客户端访问。集线器传输服务器会自动进行负载平衡和冗余,因此您只需要在新服务器上安装该角色,一切就都好了。不是对于客户端访问来说也是如此:除了安装角色之外,您还需要在负载平衡配置中创建客户端访问阵列,这需要在 IP 级别进行处理。通常,您可以使用 Windows 的内置网络负载平衡服务来实现这一点,但对于像您这样的双服务器场景,有一个警告:数据库可用性组依赖于故障转移群集,这是不是与网络负载平衡兼容。
最终的结果是,如果您想要一个完全冗余的设置,您将需要两个多角色(邮箱、集线器传输、客户端访问)服务器、一个数据库可用性组、一个客户端访问阵列和外部硬件负载均衡器,如果没有它,您将需要放弃数据库或客户端访问角色的冗余。
答案2
是的,您可以创建第二个邮箱服务器(带有新的邮箱数据库)并将一半的邮箱存储在该服务器上。您不需要 DAG 即可执行此操作。您只需将第二台服务器设置为 Exchange 2010 邮箱服务器。在其中创建一个新的邮箱数据库。然后将 5 个邮箱移动到该新数据库。
创建 DAG 可让两个邮箱服务器相互提供容错功能。在这种情况下,您可能会有 MX1 和 DB1(5 个邮箱),MX2 和 DB2(5 个其他邮箱)。MX1 将拥有 DB2 的被动(或主动)副本,MX2 将拥有 DB1 的被动(或主动)副本。如果 MX2 不可用,邮箱位于 DB2 中的 5 个用户将开始连接到 MX1 以获取 DB2 数据库(如果是被动的,它将变为主动的)。
答案3
只要您有足够的存储空间,DAG 就很好。您说得对:在 2 节点 DAG 设置中,两个服务器都会拥有两个数据库的完整副本。
如果您试图分离没有容错复制的数据库,那么您只需在第二台服务器上安装邮箱角色并移动一些邮箱即可。
至于连接到服务器,该部分由 CAS(客户端访问服务器)角色处理。在 CAS 角色之间拆分邮箱访问权限可能很棘手,但本指南为您提供了一些想法:MSExchange.org - 负载平衡 CAS