Exchange Server 2010使用基于角色的管理模型。多角色服务器的安装及配置,我们在前面的文章中已经做过介绍。本案例中根据高可用性要求,我们需要把服务器角色部署在分开的服务器上面,并且实现CAS、HT、MBX角色的高可用。在此,我的计划是首先部署两台CAS/HUB服务器,再把这两台CAS/HUB服务器组成一个CAS Array,用于提供客户端访问服务和集线器传输服务。有了CAS阵列后,可以通过配置让CAS阵列成为企业邮件系统的核心服务器,所有进出邮局的邮件必须先经过CAS阵列。然后再部署两台MBX服务器,再把这两台MBX服务器组成一个DAG,用于装载邮箱数据库、公共文件夹数据库同时负责产生脱机通讯录;以及地址列表、邮件保留策略等基于邮箱数据库级别的管理。微软推荐Exchange Server 2010服务器角色以下面的顺序部署:客户端访问服务器、集线器传输服务器、邮箱服务器、边缘传输服务器、统一消息服务器。在此例中不涉及到边缘传输服务器和统一消息服务器,那么下面就介绍的CAS+HT高可用性。
一般来说CAS、HT的高可用性使用的是Windows的NLB功能,这是最常规,也是最经济的一个用法。但NLB其实是有弊端的,因为NLB是工作于第三层(网络层),如果上层服务出现问题它就不知道了。它可能还会去进行尝试通讯,那么用户体验会受到影响。另一方面NLB基于源IP来分配流量,那么如果两个很大的网络在进行通讯的时候。在NAT网络环境下1000人过来访问可能是一个或10个IP地址,那就有可能都送到一台服务器。所以微软建议使用的是硬件负载均衡。因为可以进行第七层的数据包分析。一个包过来之后,硬件负载均衡可以把它拆来,读懂相应的网络协议,例如,是否加密等。解开之后再丢给后面的服务器,处理完之后再传给用户。当然硬件负责均衡也有不好之处,例如成本高贵、配置复杂。鉴于以上种种,在此还是使用Windows的NLB实现CAS+HU的高可用。所使用的拓扑图,如下图所示:
特此说明,此篇文章,此介绍如何实现CAS+HT的高可用性,至于DAG的高可用性以及相关配置,将在后面的文章中陆续介绍。梳理CAS+HT高可用性的部署步骤,为下面具体操作做好充分准备。
PS:在进行任何操作之前,需要为所有的计算机安装最新的Service Pack或补丁,并对系统、网络、防火墙等进行常规设置,计算机名以及网络设置请参考上图自行设置。
AD DS域环境准备。在此我们准备两台服务器,在上面部署AD DS并且这两台服务器同时承担DNS服务,在编写此文章时,我只会涉及到DC01。
准备安装账户。在此我们使用一个exchange管理员帐户。
单台安装CAS+HUB角色的安装。这也是两台服务器,每台服务器上部署CAS+HUB角色。每台机器上需要进行相应的配置。
配置Windows NLB。
创建CAS阵列。
准备好了,我们就开始了。
步骤1:AD DS域控制器的安装。Exchange Server和 活动目录紧密结合,必须做好AD DS的部署工作。如果是在现有 AD DS域环境下工作,请确认DC数据库、操作主机、GC等都处于正常状态。具体的升域、加域的过程,在此就不再详细介绍。可以参考《Exchange Server2010系列之二:三合一角色(CAS+HUB+MBX)》。
步骤2:准备安装账户,此账户至少具有的权限:schema admins, enterprise admins,domain admins, Organization Management(该权限在完成扩展架构后自动添加),所有的Exchange 2010安装配置操作将由该账户进行。如下图所示,此用户名称是exadmin,算是exchange的管理员。注意一定要在DC上操作。
步骤3:单台服务器上安装CAS+HUB角色。使用exadmin用户登录到Cashub01上,以管理员身份运行安装Microsoft Office Filter Packs,这个步骤很简单,只需要双击执行,然后根据提示安装即可,如下图所示:
步骤4:利用PowerShell安装IIS组件。先开启Windows PowerShell命令行环境,在完成Import-Module ServerManager命令的执行之后,便可以开始针对不同Exchange Server 2010服务器角色的安装需求,来执行不同的命令与参数。在此因为是CAS+HT角色,使用的命令如下:import-module servermanager; 然后再执行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,Web-Asp-Net,Web-Client-Auth,Web-Dir-Browsing,Web-Http-Errors,Web-Http-Logging,Web-Http-Redirect,Web-Http-Tracing,Web-ISAPI-Filter,Web-Request-Monitor,Web-Static-Content,Web-WMI,RPC-Over-HTTP-Proxy –Restart,如下图所示:在此注意,需要以域管理员身份启用PowerShell。
步骤5. 启用服务器的远程管理功能,包括TCP端口的自动共享、服务器的远程管理以及为远程管理开放防火墙端口设置。此功能应在所有的Exchange Server 2010服务器角色上进行设置。确认Net.Tcp Port Sharing Service服务的启动类型设置为“自动”。
将Net.Tcp Port Sharing Service服务的启动类型设置为“自动”,以管理员权限运行CMD命令行,运行sc config NetTcpPortSharing start= auto。如下图所示:
配置WinRM,以管理员权限在命令行输入:winrm quickconfig,并同意所做更改,输入"y"回车。如下图所示:
以管理员权限运行CMD命令行,在CMD命令行中运行:Netsh advfirewall firewall set rule name=” Windows 远程管理 - 兼容模式(HTTP-In)” new enable=yes
步骤6. AD DS域扩展,在CasHub01上放入Exchange 安装介质(也可以直接在DC上进行此步扩展工作),使用 Setup /ps、Setup /p、Setup /pd命令,如果是进行Exchange2003的迁移操作,则还需要在这三个命令前执行Setup /pl。也可以在Exchange Server安装过程中直接安装。
步骤7. Exchange Server 2010 SP1的安装。当前用户应该是exadmin,放入Exchange Server 2010 SP1安装光盘,会自动弹出安装界面,一般在此步骤1和步骤2已经满足条件,所以在此直接点击步骤3,选择Exchange语言选项,如果是在中文版操作系统上安装中文版Exchanger,则直接选择仅从DVD安装语言,如果安装的是其他语言的Exchange,则需要选择语言包。在此我们选择:仅从DVD安装语言。再点击步骤4:安装Microsoft Exchange,接着接受许可以及是否发送错误报告之后,出现如下图所示:
下一步之后,我们选择所要安装的组件,在此我们选择客户端访问角色和集线器传输角色,管理工具会默认选中。如下图所示:
下一步之后,出现下图所示的界面,需要我们指定客户端访问服务器所使用的外部域,在此我使用mail.uec.com。
接着还会进行一些状态检查,主要是检查安装的先决条件,如果没有问题,就等待安装吧。如果看到下图就说明,这台CAS+HT我们就安装成功了。
步骤8,配置IIS PowerShell虚拟目录权限。此时,第一台CAS+HT就安装完成了,再配置IIS默认站点中PowerShell虚拟目录权限,此虚拟目录默认都是禁用状态,现在需要启用Windows 身份验证,禁用匿名身份验证。如下图所示:
经过以上种种操作,就完成了第一台CAS+HT服务器的基本配置。接下来将进行第二台CAS+HT服务器的部署和配置,其操作和第一台服务器基本相同,只是我们将在第二台服务器的部署上使用命令行的方式。
部署第二台CAS+HT服务器,如果是和第一台相同的操作,我们就不再截图说明:
步骤1:安装Microsoft Office Filter Packs。使用exadmin用户登录到Cashub02上安装Microsoft Office Filter Packs,这一步和第一台的安装完全一样。
步骤2:安装所需要的组件准备:这一步也完全一样。使用exadmin用户登录到系统后,使用管理员开启Windows PowerShell命令行环境,先运行Import-Module ServerManager命令,然,再执行如下的命令: 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,Web-Asp-Net,Web-Client-Auth,Web-Dir-Browsing,Web-Http-Errors,Web-Http-Logging,Web-Http-Redirect,Web-Http-Tracing,Web-ISAPI-Filter,Web-Request-Monitor,Web-Static-Content,Web-WMI,RPC-Over-HTTP-Proxy –Restart
步骤3:将Net.Tcp Port Sharing Service服务的启动类型设置为“自动”,以管理员权限运行CMD命令行,运行sc config NetTcpPortSharing start= auto。
步骤4:配置WinRM,以管理员权限在命令行输入:winrm quickconfig。
步骤5:在防火墙上启用过程管理,以管理员权限运行CMD命令行,在CMD命令行中运行:Netsh advfirewall firewall set rule name=” Windows 远程管理 - 兼容模式(HTTP-In)” new enable=yes。
步骤6:安装Exchange CAS+HT。以exadmin登录到Cashub02上,然后执行下面的命令:
Setup.com /mode:Install /roles:CA,HT /ExternalCASServerDomain:mail.uec.com
此命令的意思是只安装Exchange2010的CAS角色和HUB角色,当然系统默认还会安装管理工具。,Exchange2010将安装默认目录下,外部域名是mail.uec.com。
步骤7:配置IIS PowerShell虚拟目录权限。启用Windows 身份验证,禁用匿名身份验证。如下图所示:
部署完两台Exchange2010的CAS/HUB服务器之后,接下来我们就配置CAS阵列。打起精神,继续吧。后面的内容不多了!
配置CAS 阵列
首先我们需要创建和配置负载平衡。NLB需要在主机之间互通心跳信号,一般使用使用两块网卡。一块网卡用于心跳信号,一块网卡用于业务通讯。如果条件限制只有一块网卡也可以,即用于业务通讯又用于心跳。在此我们使用两块。如果只有一块,则在设置NLB时只支持多播,如果两块网卡则可以支持单播。
步骤1:以exadmin身份登录到系统新建NLB。两台机器都需要先安装NLB,方法打开“服务器管理器”--“添加功能”,选择“网络负载平衡”。然后进行安装,如下图所示:
步骤2:配置NLB,我们在Cashub01上操作。通过管理工具,打开网络负载平衡器,然后右键“新建群集”,如下图所示:
接下来,在主机框中,输入第一台服务器的计算机名,然后点击连接,同时选择一个用于NLB群集的网卡,也就是业务所用的网卡,然后设置优先级。因为我的机器上有两块网卡所以会显示有两个网络连接,如下图所示:
在此,优先级不要相同,然后下一步继续,如下图所示:
在此设置群集IP地址,也就是客户端访问服务器所用到的IP地址。
群集IP设置完成后,还要设置群集的域名,这个域名对应的是此邮局系统在公网上使用的域名。当然,设置完群集域名后,还需要在DNS服务器中把mail.uec.com对应的IP修改为群集的虚拟IP(192.168.10.20)。群集操作模式我选择的是多播。
在端口规则设置界面,我们直接默认,然后完成返回到NLB的主界面,当前只有CASHUB1在这个NLB里,我们还需要把CASHUB2加入到NLB中。还是在CASHUB1上的NLB上,点击“添加主机到群集”,如下图所示:
打开“添加主机到群集”后,就会让你输入第二个节点的主机名,选择业务使用的网卡、优先级等。
完成之后,返回到NLB的主界面,如果显示状态为“已聚合”则说明NLB配置成功。
创建CAS阵列
到了这一步基本上就是万事俱备了,最后创建CAS阵列,让Exchange2010 CAS+HT服务器角色支持负载平衡。在CASHUB1服务器上打开Exchange Management Shell,运行下面的命令:
New-clientaccessarray -fqdn mail.uec.com -name CASarray.uec.com –site Default-First-Site-Name 。其中的mail.uec.com是CAS阵列的完全合格域名,CASarray.uec.com是CAS阵列的阵列名称,Default-First-Site-Name 是Active Directory的站点名称。如下图所示:
这样,创建CAS 阵列的操作就结束,如果希望查看已经部署的CAS阵列,可以使用命令:Get-Clientaccessarray; 如果CAS阵列出现故障,也可以使用下面的命令删除阵列:Remove-ClientAccessArray –Identity Mail.uec.com。
DNS记录的更新
最后大家可千万不要忘记在DNS中将mail.uec.com的A记录对应到192.168.10.20这个NLB群集IP地址上。至少需要保证DNS中有以下的记录,内网DNS中有一个autodiscover.uec.com的A记录指向Cas Array的IP地址也就是192.168.10.20;有一个mail.uec.com的A记录和MX记录指向Cas Array的IP地址也192.168.10.20。在外网DNS中,上述三条记录应该指向的是防火墙的公网地址。好了,时间不早了,洗洗睡!
本文转自 dufei 51CTO博客,原文链接:http://blog.51cto.com/dufei/1168058,如需转载请自行联系原作者