本节介绍了为 Exchange 2016 配置 NSX Advanced Load Balancer 的不同步骤,包括创建运行状况监控器和 SSL 证书,配置池和 HTTP 策略以及创建虚拟服务。

运行状况监控器

为每个 Exchange 服务创建一个 HTTP 运行状况监控器(数量为 8 个)。使用表 1 中列出的 URL。“客户端请求数据”需要设置为 GET//healthcheck.htm HTTP/1.1。例如,为 OWA 设置的“客户端请求数据”为 GET/OWA/healthcheck.htm HTTP/1.1。

  1. 导航到模板 > 配置文件 > 监控器

  2. 输入 GET /OWA/healthcheck.htm HTTP/1.1 以作为 客户端请求数据

  3. 同样,在特定端口号上分别为 POP3、IMAP4 和 SMTP 创建一个 TCP 运行状况监控器,如表 1 中所示。



SSL 证书

  1. 导航到模板 > 配置文件 > 证书

  2. 单击创建 > 应用程序证书。导入在 Exchange Server 上创建 CSR 时导出的自签名证书。导出的 Exchange Server 证书采用 PFX 格式,需要转换为 .pem 格式才能导入到 NSX Advanced Load Balancer UI 中。可以作为“openssl pkcs12 -in cert.PFX -out cert.pem -nodes”实现该操作。



虚拟服务

  1. 导航到应用程序 > 虚拟服务。为 Exchange 服务创建一个 L7 虚拟服务,并将其与其他对象相关联,例如应用程序配置文件、运行状况监控器、SSL 等。

  2. 对于 HTTPS,将 System-Secure-HTTP 和 System-TCP-Proxy 分别作为“应用程序配置文件”和“TCP/UDP 配置文件”。注意:在使用 HTTPS 或 System-Secure-HTTP 配置文件时,请在安全性选项卡中为该 HTTP 配置文件停用安全 Cookie仅 HTTP Cookie 选项。



  3. 分别为 POP3、IMAP4 和 SMTP 创建三个 L4 虚拟服务,使用 System-L4-ApplicationSystem-TCP-Proxy,其 IP 地址与 L7 VS 相同(可选),但服务端口号与 L7 VS 不同。

注:

您可以使用不同的端口创建共享虚拟服务。

  • 可以单独对其进行访问,也可以从虚拟服务配置向导中进行访问。池是一个包含服务器、负载均衡方法、持久性方法和运行状况监控器的结构。添加用于负载均衡的服务器,然后选择“最少连接”以作为负载均衡方法。下面是为 Outlook Web Access (OWA) 服务创建的池示例。

  • 选择了上面创建的监控器以作为主动运行状况监控器。在这种情况下,这是所选的 OWA 运行状况监控器。



  • 服务器 IP 地址是解析为 lab-dc01.avitest.com 的 Exchange Server IP。



  • 使用基于表 2 的名称创建 12 个池。



HTTP 策略

可以在创建虚拟服务后选择 HTTP 策略(在编辑模式下),或者从创建虚拟服务屏幕中选择 HTTP 策略。创建一个 HTTP 策略,它包括 8 个 HTTP 请求规则,每个规则对应于一个 Exchange 服务。

要创建 HTTP 策略,请执行以下步骤:

  1. 导航到应用程序 > 虚拟服务。单击虚拟服务编辑图标。将在“编辑虚拟服务”菜单中弹出该图标。

  2. 导航到策略 > HTTP 请求

  3. 单击添加 HTTP 请求规则

  4. 输入规则名称,例如 rule-pool-oa。

  5. 选择路径开头为以作为“匹配规则”。然后,输入 /rpc。

  6. 选择内容切换以作为“操作”。然后,选择一个相应的池,例如 pool-oa。

  7. 单击保存规则

下面,我们可以看到一个为 OWA 的 L7 虚拟服务创建相同策略的示例。

下面,我们可以看到为 L7 虚拟服务创建的所有基于 HTTP 的策略。

  • 对于每个 Exchange 池,请重复这些步骤。有关 URL 和池的信息,请参阅表 2。

表 1. 表 2.Exchange 2016 服务池

CAS 服务

池名称

池上的端口

路径

Outlook Anywhere

pool-oa

80/HTTP

/rpc/

Outlook Web Access

pool-owa

80/HTTP

/owa/

Exchange Web 服务

pool-ews

80/HTTP

/ews/

Exchange 管理中心

pool-eac

80/HTTP

/ecp/

Exchange 管理 Shell

pool-ems

80/HTTP

/powershell/

AutoDiscover

pool-ad

80/HTTP

/autodiscover/

ActiveSync

pool-as

80/HTTP

/microsoft-server-activesync/

脱机通讯簿

pool-oab

80/HTTP

/oab/

消息传送应用程序编程接口

pool-mapi

80/HTTP

/mapi/

POP3

pool-pop3

995/POP3,具有 SSL

-

IMAP4

pool-imap4

993/IMAP4,具有 SSL

-

SMTP

pool-smtp

465/SMTP,具有 SSL

-

负载均衡



  • 要支持在单个 VIP 上的 Exchange Server 之间进行负载均衡,请为配置的所有池选择循环以作为负载均衡算法

  • 在所有池下添加辅助交换服务器 IP。下面显示了如何为 owa-pool 执行该操作。



验证操作

L7 服务具有一个指向 pool-as 的默认池 (ActiveSync)。下面显示的屏幕截图确认客户端在时间线中所示的 15 分钟范围内多次访问 Exchange 虚拟服务。

启用了不重要的日志,用户观察到总共有 43 个日志条目,包括成功的日志条目(返回代码 = 200)。展开以显示了最近的日志条目。其他 42 个日志条目折叠为一行,未显示在屏幕截图中。作为 rule-pool-owa 请求策略规则的结果,L7 虚拟服务成功将请求内容切换到 pool-owa 池。

NSX Advanced Load Balancer 解决方案提供有关从中发出请求的客户端的其他信息,包括客户端的操作系统 (Android)、设备类型 (Moto G Play)、浏览器 (Chrome Mobile)、SSL 版本 (TLSv1.2)、证书类型 (RSA),等等。