Windows 2008 & Exchange CAS NLB
配置整理
1.
环境说明:
三台Windows 2008 ,一台客户端XPSP2
两台CAS,HUB,一台MB,也同时是AD,一台是客户端
Casone.hp.com 192.168.0.10/24 dns:192.168.0.1
Castwo.hp.com 192.168.0.11/24 dns:192.168.0.1
2.
安装NLB
ServerManagerCmd –i NLB (两台机器上都安装一下)
3.
添加A记录
(在DNS里面加一条A记录,cas.hp.com)
4.
在第一个结点上创建nlb群集cas.hp.com 注:采用的是多播方式,只需一个网卡即可,如果是单播方式, 每台机至少两块网卡!
5.
到第二个结点下把castwo加进到群集当中!
6.
测试三种方式都可以正常访问(https://casone.hp.com/owa/,https://castwo.hp.com/owa/,https://cas.hp.com/owa)
7. 单播与多播区别
单播:在每个群集成员上,NLB 覆盖网络适配器上制造商提供的 MAC 地址。NLB 对所有成员都使用相同的单播 MAC 地址。这种模式的优点是它可以无缝地与大多数路由器和交换机协同工作。缺点是到达群集的流量会扩散到交换机虚拟 LAN (VLAN) 上的所有端口,并且主机之间的通信不能通过 NLB绑定到的适配器,也即实体主机间不可以互相通信。若我们在NLB创建时选择单播的模式,在“群集IP配置”中的“网络地址”是以“02 - BF”开头,后面紧跟IP地址的十六进制表示,该网络地址与实际主机的MAC地址相同,后续加入的主机也将修改为此MAC地址。在Windows server 2003 SP1中,微软修改了NLB单播模式的驱动,从而支持阵列成员通过自己原有的专用IP地址进行通讯,详细信息请参见KB898867,Unicast NLB nodes cannot communicate over an NLB-enabled network adaptor in Windows Server 2003。
1)
单击 开始 ,单击 运行 ,键入 regedit ,然后单击 确定 。
2)
找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WLBS\Parameters\Interface\{GUID}
注意
{GUID}
占位符代表特定的 NLB 实例的 GUID。 您可以在此配置单元中使用 ClusterIPAddress 子项来标识不同的 NLB 群集。
3)
在 编辑 菜单上, 单击 新建 ,单击 DWord 值 ,然后添加以下数值数据。
收起该表格展开该表格
值名称
|
UnicastInterHostCommSupport
|
值
|
1
|
注意
如果将 UnicastInterHostCommSupport 注册表项设置为任何非零的值,单播 InterHost 通信支持将被启用。
4)
退出注册表编辑器。
5)
打开命令提示符下,然后键入以下命令:
NLB RELOAD
多播:保留原厂 MAC 地址不变,但是向网络适配器中增加了一个第 2 层多播 MAC 地址。所有入站流量都会到达这个多播 MAC 地址。优点是这种方法可以通过在交换机的“内容可寻址存储器”(CAM) 表中创建静态项,从而使得入站流量仅到达群集中的主机。缺点是因为 CAM项必须静态关联一组交换机端口,如果没有这些 CAM 项,入站流量仍然会扩散到交换机 VLAN 上的所有端口。还有一个缺点就是很多路由器不会自动将单播 IP 地址(群集的虚拟 IP 地址)与多播 MAC 地址关联起来。如果进行静态配置的话,一些路由器可以存在这种关联。若我们在NLB创建时选择多播的模式,在“群集IP配置”中的“网络地址”是以“03 -BF”开头,后面紧跟IP地址的十六进制表示。在选择多播模式时,后面还有个复选项“IGMP Multicast(IGMP多播)”,若复选此项,就像多播操作模式一样,NLB 保留原厂 MAC 地址不变,但是向网络适配器中增加了一个 IGMP 多播地址。此外,NLB 主机会发出这个组的 IGMP 加入消息。如果交换机探测到这些消息,它可以使用所需的多播地址来填充自己的 CAM 表,这样入站流量就不会扩散到 VLAN 上的所有端口。这是这种群集模式的主要优点。缺点是有一些交换机不支持 IGMP 探测。除此之外,路由器仍然支持单播 IP 地址到多播 MAC 地址的转换。在IGMP多播模式下,将采用“01 – 00 - 5E”开头的MAC地址。在多播的模式下,实体主机之间可以互相通信。
一般来说,在NLB的创建时,单网卡多播,双网卡单播。双网卡单播时,因为主机之间不能互相通信,将设置内网通讯的网卡,也就是群集设置中的心跳。在微软官方推荐在NLB设置时,首先考虑单播模式,除非单播不能满足其要求,若要解决流量扩展的方法,推荐使用VLAN。
多播:保留原厂 MAC 地址不变,但是向网络适配器中增加了一个第 2 层多播 MAC 地址。所有入站流量都会到达这个多播 MAC 地址。优点是这种方法可以通过在交换机的“内容可寻址存储器”(CAM) 表中创建静态项,从而使得入站流量仅到达群集中的主机。缺点是因为 CAM项必须静态关联一组交换机端口,如果没有这些 CAM 项,入站流量仍然会扩散到交换机 VLAN 上的所有端口。还有一个缺点就是很多路由器不会自动将单播 IP 地址(群集的虚拟 IP 地址)与多播 MAC 地址关联起来。如果进行静态配置的话,一些路由器可以存在这种关联。若我们在NLB创建时选择多播的模式,在“群集IP配置”中的“网络地址”是以“03 -BF”开头,后面紧跟IP地址的十六进制表示。在选择多播模式时,后面还有个复选项“IGMP Multicast(IGMP多播)”,若复选此项,就像多播操作模式一样,NLB 保留原厂 MAC 地址不变,但是向网络适配器中增加了一个 IGMP 多播地址。此外,NLB 主机会发出这个组的 IGMP 加入消息。如果交换机探测到这些消息,它可以使用所需的多播地址来填充自己的 CAM 表,这样入站流量就不会扩散到 VLAN 上的所有端口。这是这种群集模式的主要优点。缺点是有一些交换机不支持 IGMP 探测。除此之外,路由器仍然支持单播 IP 地址到多播 MAC 地址的转换。在IGMP多播模式下,将采用“01 – 00 - 5E”开头的MAC地址。在多播的模式下,实体主机之间可以互相通信。
一般来说,在NLB的创建时,单网卡多播,双网卡单播。双网卡单播时,因为主机之间不能互相通信,将设置内网通讯的网卡,也就是群集设置中的心跳。在微软官方推荐在NLB设置时,首先考虑单播模式,除非单播不能满足其要求,若要解决流量扩展的方法,推荐使用VLAN。
8. 单播多播选择总结
单播
在单播模式下,NLB服务会重新对每个节点中启用NLB的网卡分配MAC地址(此MAC地址称为群集MAC地址),并且所有的NLB节点均使用相同的MAC地址(均使用群集MAC地址),同时NLB会修改所有发送的数据包中的源MAC地址,这样就导致交换机不能将此群集MAC地址绑定在某个端口上。
工作在单播模式下的NLB可以在所有网络环境下正常运行(兼容性最好),但是由于它的工作特性,具有以下两个限制:
1.由于NLB所使用的群集MAC地址没有绑定在某个具体的交换机端口上,所以所有的NLB通讯均通过在交换机的所有端口上广播进行,
而不管此端口是否连接了NLB节点,这造成了额外的网络流量负担;
2.由于所有的NLB节点具有相同的MAC地址,NLB节点之间不能通过自己原有的专用IP地址进行通讯。 (例如我们见得最多的就是节点之间就无法ping通)
多播
在多播模式下,NLB不会修改NLB节点启用NLB的网络适配器的MAC地址,而是为它再分配一个二层多播MAC地址专用于NLB的通讯(此MAC地址称为群集MAC地址),这样NLB节点之间可以通过自己原有的专用IP地址进行通讯。但是在多播模式中,NLB节点发送的针对群集IP地址/MAC地址ARP请求的ARP回复会将群集IP地址映射到多播MAC地址,而许多路由器或者交换机(例如,港湾和思科的某些产品)会拒绝这一行为。如何解决呢?方法是手工在路由器或交换机上添加静态映射,将群集IP地址映射到群集的多播MAC地址
此外,Windows Server 2003提供了一个新的特性,称为IGMP 多播,它可以通过使用IGMP协议支持来使交换机只将NLB通讯发送到连接NLB节点的端口,而不是所有交换机端口。但是此特性必须要求交换机支持IGMP侦听,并且要求群集工作在多播模式下。 、
在单播模式下,NLB服务会重新对每个节点中启用NLB的网卡分配MAC地址(此MAC地址称为群集MAC地址),并且所有的NLB节点均使用相同的MAC地址(均使用群集MAC地址),同时NLB会修改所有发送的数据包中的源MAC地址,这样就导致交换机不能将此群集MAC地址绑定在某个端口上。
工作在单播模式下的NLB可以在所有网络环境下正常运行(兼容性最好),但是由于它的工作特性,具有以下两个限制:
1.由于NLB所使用的群集MAC地址没有绑定在某个具体的交换机端口上,所以所有的NLB通讯均通过在交换机的所有端口上广播进行,
而不管此端口是否连接了NLB节点,这造成了额外的网络流量负担;
2.由于所有的NLB节点具有相同的MAC地址,NLB节点之间不能通过自己原有的专用IP地址进行通讯。 (例如我们见得最多的就是节点之间就无法ping通)
多播
在多播模式下,NLB不会修改NLB节点启用NLB的网络适配器的MAC地址,而是为它再分配一个二层多播MAC地址专用于NLB的通讯(此MAC地址称为群集MAC地址),这样NLB节点之间可以通过自己原有的专用IP地址进行通讯。但是在多播模式中,NLB节点发送的针对群集IP地址/MAC地址ARP请求的ARP回复会将群集IP地址映射到多播MAC地址,而许多路由器或者交换机(例如,港湾和思科的某些产品)会拒绝这一行为。如何解决呢?方法是手工在路由器或交换机上添加静态映射,将群集IP地址映射到群集的多播MAC地址
此外,Windows Server 2003提供了一个新的特性,称为IGMP 多播,它可以通过使用IGMP协议支持来使交换机只将NLB通讯发送到连接NLB节点的端口,而不是所有交换机端口。但是此特性必须要求交换机支持IGMP侦听,并且要求群集工作在多播模式下。 、
9. 参考文档
Network Load Balancing Deployment Guide
http://technet.microsoft.com/zh-cn/library/cc754833(WS.10).aspx
http://technet.microsoft.com/zh-cn/library/cc754833(WS.10).aspx
10. 安装证书组件及RPC代理组件
1) 安装证书组件,并到每个CAS,即NLB节点上安装RPC代理组件,本例即需要在casone及castwo两个节点上安装代理组件,在此不作详细说明(本文档,证书组件安装在mb.hp.com的机器上
2)下面开始申请证书(因为是NLB方式,所以选择创建多域或证书申请 ,到任一个CAS,即NLB节点上申请
发现导入证书报错:
3)碰到上面问题解决办法参考
请将CA的根证书导出,并导入NLB 节点服务器的受信任的根证书颁发机构。请参考下面的步骤。
1 . 登陆CA服务器。
2 . 运行MMC,添加/删除管理单元,选择证书。
3 . 选择计算机证书,本地计算机。
4 . 控制台根节点 –〉证书 –〉受信任的根证书颁发机构。
5 . 选择你的CA根证书,然后根据默认选项导出成cer文件。
6 . 在节点1上,双击安装到受信任的根证书颁发机构。
然后尝试导入证书,看看错误是不是仍然存在。
第二个错误提示证书里没有私钥,我建议您检查New-ExchangeCertificate的时候有没有加参数-privatekeyexportable:$true。这里我们先解决第一个问题,如果第一个问题解决了,您可以参考下面的两篇文章重新申请,导入证书。
安装指南模板 - 客户端访问服务器 (配置商业证书一节 )
http://technet.microsoft.com/zh-cn/library/cc742379.aspx
Load Balancing Exchange 2007 Client Access Servers using Windows Network Load-Balancing Technology – Part 3: Creating Certificates and Testing Client Services
http://www.msexchange.org/articles_tutorials/exchange-server-2007/high-availability-recovery/load-balancing-exchange-2007-client-access-servers-windows-network-technology-part3.html
1 . 登陆CA服务器。
2 . 运行MMC,添加/删除管理单元,选择证书。
3 . 选择计算机证书,本地计算机。
4 . 控制台根节点 –〉证书 –〉受信任的根证书颁发机构。
5 . 选择你的CA根证书,然后根据默认选项导出成cer文件。
6 . 在节点1上,双击安装到受信任的根证书颁发机构。
然后尝试导入证书,看看错误是不是仍然存在。
第二个错误提示证书里没有私钥,我建议您检查New-ExchangeCertificate的时候有没有加参数-privatekeyexportable:$true。这里我们先解决第一个问题,如果第一个问题解决了,您可以参考下面的两篇文章重新申请,导入证书。
安装指南模板 - 客户端访问服务器 (配置商业证书一节 )
http://technet.microsoft.com/zh-cn/library/cc742379.aspx
Load Balancing Exchange 2007 Client Access Servers using Windows Network Load-Balancing Technology – Part 3: Creating Certificates and Testing Client Services
http://www.msexchange.org/articles_tutorials/exchange-server-2007/high-availability-recovery/load-balancing-exchange-2007-client-access-servers-windows-network-technology-part3.html
11. 启用RPC OVER HTTP(注:两个CAS,HUB上面都得启用)
客户端安装根证书即可!测试连接OK!如下,并且关掉其中任一台,收发信就OK!
补充:
上面证书申请部分:两个结点都申请了一次,虽申请时,域名可以保持相同,但客户导入证书时,要选择导入根证书!这点比较重要,根证书会自动向下信任!
我的想法:在其中任一节点申请一次,其它结点导入就可以,方法如下:
a.
到CA服务器上,打开MMC,本地计算机-----个人----证书,导出(带私钥的)
b.
COPY到NLB的两个节点上,MMC,本地计算机-----个人----证书,都导入
c.
到其中一个节点,申请证书,导入,启用,、
d.
COPY申请的证书到另一个节点,导入
在第一个节点上,导出带私钥的申请的证书
COPY到第二个节点上去,导入启用!
上面的命令行方式操作,也可以通过MMC----本地计算机----个人---证书,导入即可!(注:这里是导入到个人哦)
到此上面就完成了,少申请一次,呵呵,成功!!!!