Exchange2010部署多台CAS&HUB Server实现NLB(CAS阵列)
Exchange2010大家都知道,有5个角色,但是最长用的最普遍用的也就只有3个:CAS 、HUB 、MAILBOX,也不是说其他两个觉得不用,在这重要说明的是,如果搭建一个普通的Exchange 环境通过以上三种角色就能运行起来。但是运行起来容易,如果当其中一个CAS服务角色故障那所有的服务将会停止,为了解决这个问题今天我们要在环境内部署两台CAS/HUB服务器,并且把两台CAS/HUB服务器合并为一个CAS阵列。在Exchange2003时代,用户可以直接访问Exchange的邮箱服务器。但是从Exchange2007开始,用户就不能直接访问邮箱服务器了,用户必须访问CAS服务器才可以连接到自己的邮箱。这样CAS服务器就成为用户访问Exchange服务器所必须面对的一个前台接待。一旦CAS服务器出现问题,用户访问Exchange服务器就会有问题。想要避免这种场景,最好的手段就是把多台CAS服务器组成一个CAS阵列,这样就可以起到负载平衡及容错的作用;我们要在两台CAS/HUB服务器上配置负载平衡。NLB需要在主机之间传递心跳信号,所以我们需要在CAS/HUB服务器上安装两块网卡。一块网卡传递心跳信号,一块网卡用于生产环境。
开始内容是实现NLB(CAS阵列)的前期工作安装部署CAS&HUB工作;以下图示为我的环境拓补图:
1. 环境介绍
2. 配置服务信息(网卡信息)
3. 安装Exchange所需角色,部署环境内的第一台CAS&HUB服务器
4. 安装Exchange所需角色,部署环境内的第二台CAS&HUB服务器
5. 配置NLB功能
6. 创建CAS阵列
7. 测试及确认NLB功能
一、环境介绍:
Domain name:tencent.com
Hostname:Tencent-DC :192.168.100.2 255.255.255.0 192.168.100.1 192.168.100.2
Roels:CA 、DC、DNS、DAG见证服务器
Hostname:Tencent-TMG :192.168.100.1 255.255.255.0 192.168.100.1 192.168.100.2
Roles:Gateway
Hostname:Tencent-CH01:192.168.100.10 255.255.255.0 192.168.100.1 192.168.100.2
Heart network: 192.168.200.50
Roles:CAS&HUB-01
Hostname:Tencent-CH02: 192.168.100.11 255.255.255.0 192.168.100.1 192.168.100.2
Heart network: 192.168.200.51
Roles:CAS&HUB-02
NLB群集虚拟ip:192.168.100.201(NLB.tencent.com)
Hostname:Tencent-MB01 192.168.100.20 255.255.255.0 192.168.100.1 192.168.100.2
Heart network: 192.168.200.100
Roles:Mailbox
Hostname:Tencent-MB02 192.168.100.21 255.255.255.0 192.168.100.1 192.168.100.2
Heart network: 192.168.200.101
Roles:Mailbox
DAG群集虚拟ip:192.168.100.200(DAG.tencent.com)
二、配置服务器网络信息:
修改心跳线网络配置:
去勾选:Microsfot 网络客户端、网络负载均衡(NLB)、QOS数据包计划程序、Microsoft网络的文件和打印机共享、Internet协议版本6等组件
配置心跳线地址:192.168.200.50
然后单击高级-DNS选项,去勾选附加主DNS后缀的父后缀及在DNS中注册此链接的地址
切换到Wins标签;去勾选启用LMHOSTS查找及禁用TCP/IP上的Netbios
然后大家组织下-----布局---勾选菜单栏----单击高级
通过该选项将本地连接的优先级别调高,心跳线的优先级别调低,然后确认
三、安装Exchange所需角色,部署环境内的第一台CAS&HUB服务器
使用Power Shell安装的功能及角色是Exchange2010的CAS和HUB两个角色所需要的,如果要使用命令行安装Exchange服务器的其他角色,可以参考下表。
.CAS, HUB, MBX |
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy -Restart |
b.CAS, HUB, MBX, UM |
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy,Desktop-Experience -Restart |
c.CAS, HUB |
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy -Restart |
d.HUB, MBX |
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server -Restart |
e.CAS, MBX |
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy -Restart |
f.CAS |
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy -Restart |
g.HUB or MBX |
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server -Restart |
h.UM |
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Desktop-Experience -Restart |
i.EGE |
Add-WindowsFeature NET-Framework,RSAT-ADDS,ADLDS -Restart |
以管理员运行windows powershell管理工具;如果使用windows powershell安装windows角色及功能,提前需要将服务器管理工具导入到powershell里面;命令为:
Import-Module ServerManager;运行需要安装觉得的名称:对于该命令名称根据以上列表可选择;因为我只部署CAS&HUB,所以按照以上列表中的信息选择需要安装的组件即可
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy -Restart
粘贴进去后确认,开始安装,该过程是很快的,因为在组件后添加了命令-restart,安装后会自动重启
所有安装组件的信息及状态
角色安装完成后Tencent-CH1服务器会自动重启,重启后要运行下列命令,该命令的作用是把NetTCpPortSharint服务的启动类型设置为自动启动命令为:Set-service NetTcpPortSharing -startuptype automatic
通过运行services.msc查看NetTcpPortSharing服务状态及类型
屏幕剪辑的捕获时间: 2012/9/3 17:30
完成了准备工作后,我们接下来要进行Exchange2010服务器的安装了,安装前需要安装Microsoft Filter Pack2.0组件。
那我们就先开始安装该组件
安装成功该组件后,下一步工作就是安装CAS&HUB角色
我们将Exchange2010的安装程序打开,运行setup.exe,语言选项从DVd安装即可,然后运行选择安装Microsoft Exchange
我们选择自定义Exchange Server安装
我们选择服务角色,再此我只选择CAS和HUB角色,然后下一步安装
设置Exchange组织名称;因为的当前的Domain name为Tencent,所以我再此也设置为:Tencent
安装前检测及确认安装
在大概15分钟的时候该服务已安装完成。
安装完成后运行EMS,通过运行Get-exchangeserver | ft查看我当前Exchange环境下的服务器状态,当前环境内只有一台Exchange server,所以会看见一条信息
四、安装Exchange所需角色,部署环境内的第二台CAS&HUB服务器
首先是配置服务器网络信息:
修改心跳线网络配置:
去勾选:Microsfot 网络客户端、网络负载均衡(NLB)、QOS数据包计划程序、Microsoft网络的文件和打印机共享、Internet协议版本6等组件
配置心跳线地址:192.168.200.51
然后单击高级-DNS选项,去勾选附加主DNS后缀的父后缀及在DNS中注册此链接的地址
切换到Wins标签;去勾选启用LMHOSTS查找及禁用TCP/IP上的Netbios
然后大家组织下-----布局---勾选菜单栏----单击高级
通过该选项将本地连接的优先级别调高,心跳线的优先级别调低,然后确认
2.具体方法跟部署环境内的第一台CAS&HUB服务器一样,首选是安装必需软件,再此也是通过powershell工具安装,以管理员运行windows powershell管理工具;如果使用windows powershell安装windows角色及功能,提前需要将服务器管理工具导入到powershell里面;命令为 :Import-Module ServerManager;运行需要安装觉得的名称:对于该命令名称根据以上列表可选择;因为我只部署CAS&HUB,所以按照以上列表中的信息选择需要安装的组件即可Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy –Restart
角色安装完成后Tencent-CH2服务器会自动重启,重启后要运行下列命令,该命令的作用是把NetTCpPortSharint服务的启动类型设置为自动启动命令为:Set-service NetTcpPortSharing -startuptype automatic
完成了准备工作后,我们接下来要进行Exchange2010服务器的安装了,安装前需要安装Microsoft Filter Pack2.0组件。
那我们就先开始安装该组件
安装成功该组件后,下一步工作就是安装CAS&HUB角色
我们将Exchange2010的安装程序打开,运行setup.exe,语言选项从DVd安装即可,然后运行选择安装Microsoft Exchange
也是安装CAS和HUB服务角色
安装前准备,满足安装条件及开始安装
大概在10分钟的时间该服务器也安装成功
五、配置NLB设置
1. 首先测试两台CAS服务器的两个心跳线是否能互通
2. 提前分配一个群集虚拟IP同时在DNS服务器上创建一条A记录;该群集IP必需跟链接网络是同一网段
群集虚拟IP:192.168.100.201
名称为:NLB.tencent.com
然后尝试解析:解析正常,通过ping域名能解析出正常的IP:192.168.100.201
3. 安装NLB组件;
我们打开powershell后先导入服务器管理工具,具体命令见下:
Import-Module ServerManager
Add-WindowsFeature NLB
4. 在Tencent-ch1服务器上运行NLBMGR如下图出现网络负载平衡管理器,点击“新建”按钮,准备创建一个负载平衡群集。
输入Tencent-ch1(我第一台CAS服务器的FQDN),然后单击链接;因为我该服务器有两块网卡,一块生产链路,一块心跳线,所以心跳线
接下来要为群集主机设置优先级,由于Tencent-CH1服务器是群集内的第一台服务器,因此优先级为默认为1
接下来要设置群集的虚拟地址,Tencent-CH1服务器的IP为192.168.100.10 心跳网络为:192.168.200.50,Tencent-CH2服务器的IP为192.168.100.11,心跳网络为:192.168.200.51;我们设置群集的虚拟IP为192.168.100.201。
群集操作模式选择:多播
将第二台CAS加入到该阵列
六、创建CAS阵列:创建一个CAS阵列,其实就是让Exchange2010服务器支持负载平衡。
1.为了方便设置我先将AD默认站点的名称更改为:First-Site(可选)
我们在Tencent-ch1服务器上打开Exchange Management Shell,如下图,运行“New-clientaccessarray -fqdn NLB.tencent.com -name CASarray.tencent.com -site First-Site”。其中的NLB.tencent.com是Exchange服务器CAS阵列的完全合格域名,CASarray.tencent.com是CAS阵列的阵列名称,First-Site是Active Directory的站点名称。
New-clientaccessarray -fqdn NLB.tencent.com -name CASarray.tencent.com -site First-Site
通过Get-clientaccessarray查看当前的CAS阵列状态
然后通过Get-MailboxDatabase | fl命令查看当前的两台CAS(Tencent-ch1、Tencent-ch2)服务器的RPCclientaccessserver是否是指向我的CAS阵列地址(NLB.tencent.com=192.168.100.201):该CAS阵列(NLB.tencent.com=192.168.100.201)地址包含两个服务器(Tencent-ch1、Tencnet-ch2)
通过查看我当前的第二台CAS(Tencnet-ch2)的RPCClientaccessserver还是我当前的主机
通过命令查看当前RPCserver的地址换是我当前的cas服务器本地,而不是我的CAS群集服务器,所以通过一下两条命令更改mailbox的rpcclientaccessserver值
我当前环境内有两个mailbox;分别为mailbox01 mailbox02;两个服务器均要更改Nlb.tencent.com,该地址为我的NLB群集虚拟IP:192.168.100.201
Set-MailboxDatabase -Identity "mailbox01" -RpcClientAccessServer "Nlb.tencent.com"
Set-MailboxDatabase -Identity "mailbox02" -RpcClientAccessServer "Nlb.tencent.com"
七、NLB服务测试
1. 分别在两个mailbox上新建用户,同时测试收发邮件,如果测试成功后,先测试将cas1(Tencent-ch1)将关机,然后再次测试关机
Bob用户数据库隶属于Mailbox2
gaowenlong用户数据库隶属于Mailbox1
2.查看NLB运行状态;均正常
现在我们将Tencnet-ch1(CAS-1)服务器关机,查看NLB状态及邮件收发情况,具体信息见下
首先看到的是CAS服务器已经断开
现在开始测试邮件的收发;因为在exchange2010开始,收发邮件必需经过CAS服务器
我们Exchange服务器指向的是CAS阵列(Nlb.tencnet.com)而不是单独的CAS服务器,然后开始配置outlook进行测试
用户账户bob、gaowenlong
我们首先用bob给gaowenlong发一份测试邮件
通过在gaowenlong用户下能正常收到bob发送的测试邮件
收到邮件后,我们在通过gaowenlong给bob用户回复
通过查看bob的用户邮箱,也收到了gaowenlong的所发送的邮件
通过以上的测试结果证明,NLB(CAS阵列是运行正常的);最后现在将Tencnet-ch1开机启动查看NLB的状态