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的高可用。所使用的拓扑图,如下图所示:

Exchange

 

      特此说明,此篇文章,此介绍如何实现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上操作。

p_w_picpath

 

     步骤3:单台服务器上安装CAS+HUB角色。使用exadmin用户登录到Cashub01上,以管理员身份运行安装Microsoft Office Filter Packs,这个步骤很简单,只需要双击执行,然后根据提示安装即可,如下图所示:

p_w_picpath

       步骤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。

p_w_picpath

p_w_picpath

       步骤5.  启用服务器的远程管理功能,包括TCP端口的自动共享、服务器的远程管理以及为远程管理开放防火墙端口设置。此功能应在所有的Exchange Server 2010服务器角色上进行设置。确认Net.Tcp Port Sharing Service服务的启动类型设置为“自动”。

      将Net.Tcp Port Sharing Service服务的启动类型设置为“自动”,以管理员权限运行CMD命令行,运行sc config NetTcpPortSharing start= auto。如下图所示:

p_w_picpath

      配置WinRM,以管理员权限在命令行输入:winrm quickconfig,并同意所做更改,输入"y"回车。如下图所示:

p_w_picpath

      以管理员权限运行CMD命令行,在CMD命令行中运行:Netsh advfirewall firewall set rule name=” Windows 远程管理 - 兼容模式(HTTP-In)” new enable=yes

p_w_picpath

       步骤6. AD DS域扩展,在CasHub01上放入Exchange 安装介质(也可以直接在DC上进行此步扩展工作),使用 Setup /ps、Setup /p、Setup /pd命令,如果是进行Exchange2003的迁移操作,则还需要在这三个命令前执行Setup /pl。也可以在Exchange Server安装过程中直接安装。

p_w_picpath

p_w_picpathp_w_picpathp_w_picpath

       步骤7. Exchange Server 2010 SP1的安装。当前用户应该是exadmin,放入Exchange Server 2010 SP1安装光盘,会自动弹出安装界面,一般在此步骤1和步骤2已经满足条件,所以在此直接点击步骤3,选择Exchange语言选项,如果是在中文版操作系统上安装中文版Exchanger,则直接选择仅从DVD安装语言,如果安装的是其他语言的Exchange,则需要选择语言包。在此我们选择:仅从DVD安装语言。再点击步骤4:安装Microsoft Exchange,接着接受许可以及是否发送错误报告之后,出现如下图所示:

p_w_picpath

下一步之后,我们选择所要安装的组件,在此我们选择客户端访问角色和集线器传输角色,管理工具会默认选中。如下图所示:

p_w_picpath

      下一步之后,出现下图所示的界面,需要我们指定客户端访问服务器所使用的外部域,在此我使用mail.uec.com。

p_w_picpath

     接着还会进行一些状态检查,主要是检查安装的先决条件,如果没有问题,就等待安装吧。如果看到下图就说明,这台CAS+HT我们就安装成功了。

p_w_picpath

      步骤8,配置IIS PowerShell虚拟目录权限。此时,第一台CAS+HT就安装完成了,再配置IIS默认站点中PowerShell虚拟目录权限,此虚拟目录默认都是禁用状态,现在需要启用Windows 身份验证,禁用匿名身份验证。如下图所示:

p_w_picpath

      经过以上种种操作,就完成了第一台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

p_w_picpath

      此命令的意思是只安装Exchange2010的CAS角色和HUB角色,当然系统默认还会安装管理工具。,Exchange2010将安装默认目录下,外部域名是mail.uec.com。

       步骤7:配置IIS PowerShell虚拟目录权限。启用Windows 身份验证,禁用匿名身份验证。如下图所示:

p_w_picpath

      部署完两台Exchange2010的CAS/HUB服务器之后,接下来我们就配置CAS阵列。打起精神,继续吧。后面的内容不多了!

      配置CAS 阵列

      首先我们需要创建和配置负载平衡。NLB需要在主机之间互通心跳信号,一般使用使用两块网卡。一块网卡用于心跳信号,一块网卡用于业务通讯。如果条件限制只有一块网卡也可以,即用于业务通讯又用于心跳。在此我们使用两块。如果只有一块,则在设置NLB时只支持多播,如果两块网卡则可以支持单播。

    步骤1:以exadmin身份登录到系统新建NLB。两台机器都需要先安装NLB,方法打开“服务器管理器”--“添加功能”,选择“网络负载平衡”。然后进行安装,如下图所示:

p_w_picpath

步骤2:配置NLB,我们在Cashub01上操作。通过管理工具,打开网络负载平衡器,然后右键“新建群集”,如下图所示:

p_w_picpath

      接下来,在主机框中,输入第一台服务器的计算机名,然后点击连接,同时选择一个用于NLB群集的网卡,也就是业务所用的网卡,然后设置优先级。因为我的机器上有两块网卡所以会显示有两个网络连接,如下图所示:

p_w_picpath

      在此,优先级不要相同,然后下一步继续,如下图所示:

p_w_picpath

      在此设置群集IP地址,也就是客户端访问服务器所用到的IP地址。

p_w_picpath

        群集IP设置完成后,还要设置群集的域名,这个域名对应的是此邮局系统在公网上使用的域名。当然,设置完群集域名后,还需要在DNS服务器中把mail.uec.com对应的IP修改为群集的虚拟IP(192.168.10.20)。群集操作模式我选择的是多播。

p_w_picpath

      在端口规则设置界面,我们直接默认,然后完成返回到NLB的主界面,当前只有CASHUB1在这个NLB里,我们还需要把CASHUB2加入到NLB中。还是在CASHUB1上的NLB上,点击“添加主机到群集”,如下图所示:

p_w_picpath

     打开“添加主机到群集”后,就会让你输入第二个节点的主机名,选择业务使用的网卡、优先级等。

p_w_picpath

  完成之后,返回到NLB的主界面,如果显示状态为“已聚合”则说明NLB配置成功。

p_w_picpath

      创建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的站点名称。如下图所示:

p_w_picpath

      这样,创建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中,上述三条记录应该指向的是防火墙的公网地址。好了,时间不早了,洗洗睡

===========================================================

在一篇文章中,我们详细介绍了CAS+HT角色的高可用,今天我们就来解决邮箱服务器的高可用问题,Exchange Server2010的DAG技术可以满足此需求。DAG的全称是Database Availability Group,可以提供数据库级别的容错,并且不需要昂贵的专业存储,理论上使用普通本地硬盘即可。并且在组成DAG的服务器数据库之间会自动实现数据同步。在任何一台Exchange服务器上对邮件数据库进行增、改、删的操作都会同步到其他服务器上。下面,咱们就具体看一下如何实现DAG。今天我们使用的拓扑结构还是上一篇文章中的相同,如下图所示:

p_w_picpath

      部署DAG服务器要求至少有两块网卡,一块用于其他Exchange角色与MBX角色通信使用,相当于故障转移群集中的PUBLIC,在此称为MAPI网络;另一块用于两个DAG成员之间的通讯,相当于故障转移群集中的HEART,在此称为复制网络。

      下面我们就开始在DAG1上进行第一台MBX邮箱服务器的安装,MBX邮箱服务器角色也需要安装 Microsoft Filter Packs组件(这是MBX角色和HT角色所需要的);安装IIS组件(角色不同,组件的内容不同);配置远程管理功能,包括TCP端口的自动共享、服务器的远程管理以及为远程管理开放防火墙端口设置(所有角色都需要)。

      步骤1:安装Microsoft Filter Packs组件。使用exadmin用户登录到DAG1上,以管理员身份运行安装Microsoft Office Filter Packs,截图略。

      步骤2:安装IIS组件。在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 –Restart。系统重启后进行下面的步骤,如下图所示:

p_w_picpath

      步骤3:安装远程管理组件。以管理员权限运行CMD命令行,运行下面三条命令sc config NetTcpPortSharing start= auto;winrm quickconfig;Netsh advfirewall firewall set rule name=” Windows 远程管理 - 兼容模式(HTTP-In)” new enable=yes,截图略。

      步骤4:安装MBX角色。经过以上的准备工作之后,就可以进行MBX角色的安装了,我们在DAG1中放入Exchange安装光盘,运行安装程序。在此步骤1和步骤2已经满足条件,所以在此直接点击步骤3,选择Exchange语言选项,如果是在中文版操作系统上安装中文版Exchanger,则直接选择仅从DVD安装语言,如果安装的是其他语言的Exchange,则需要选择语言包。在此我们选择:仅从DVD安装语言。再点击步骤4:安装Microsoft Exchange,接着接受许可以及是否发送错误报告之后,出现如下图所示:

p_w_picpath

      下一步之后,我们选择所要安装的组件,在此我们选择邮箱角色,管理工具会默认选中。如下图所示:

p_w_picpath

      下一步之后,将进行客户端设置,如下图所示:

p_w_picpath

    这个界面主要是询问,组织中有没有用户使用Outlook2003之前的版本。如果有的话,Exchange将为这些用户创建公用文件夹。如果用户使用的Outlook版本都是Outlook2007之后的版本,就在此选择否。接着还会进行一些状态检查,主要是检查安装的先决条件,如果没有问题,就等待安装吧。如果看到下图就说明,这台MBX角色就安装成功了。

 

      这个步骤也可以使用命令完成,而且一般为了更便捷,建议两台DAG成员都使用命令行安装:

      Setup.com /mode:Install /roles:m /targetdir:c:\exchange2010 /EnableLegacyOutlook /mdbname:staff /dbfilepath:e:\DB\staff.edb /logfolderpath:e:\stafflog

      步骤5:配置IIS站点的PowerShell虚拟目录权限。启用Windows 身份验证,禁用匿名身份验证,如下图所示:

p_w_picpath

      到这儿为止,第一台MBX角色就安装配置结束了。请使用同样的方法在DAG2上进行安装,完成上述的步骤1---步骤5的操作。因为整个操作完全一样,就不再进行介绍。

      创建DAG

      当DAG1和DAG2两台高可用组成员都完成相应的安装配置后,就可以进行创建DAG了。大家在这里可以把DAG想像成一个逻辑概念,就是一个数据复制的边界,只有在同一个DAG组内的MBX服务器上面的数据库之间才可以相互复制,需要在每台MBX服务器上都有一套完全相同的邮箱数据库。另外一点需要注意的就是DAG底层借助Windows故障转移群集。

      下面我们就开始创建DAG了,可能通过EMC图形界面,也可以通过EMS命令行。在此我就以EMC图形界面为例,后面会给出命令行的实现方法。我们就在DAG1上,打开EMC管理控制台----组织配置----邮箱,从中间窗格中切换到“数据库可用性组”选项卡。空白处右键“新建数据库可用性组”,出现如下图所示的界面:

 

      在此输入DAG的名称,注意我在此使用的是DAG01,此名称会在DNS中进行注册。我的两个成员名是DAG1、DAG2,不要混淆。见证服务器一般指定MBX角色之外的服务器,一般使用HT或者是CAS。在此我们就使用CASHUB1。另外还会在见证服务器上创建一个见证目录。如果是多数节点的模式下,则不需要见证服务器和见证目录。

p_w_picpath

      在完成界面里,可以看到相应的命令行。下面我们需要设置DAG的群集IP地址,方法是在新建的DAG名称上右键“属性”---切换到"IP地址"选项卡,添加即可。如下图所示:

p_w_picpath

          添加数据库可用性组IP地址之,点击“确定”,但现在我们的DAG组中还没有成员,还需要继续操作向DAG中添加成员,也就是把DAG1和DAG2加入到可用性组中。方法是:在新建的DAG名称上右键“管理数据库可用性组成员身份”,然后添加DAG1和DAG2。如下图所示:

p_w_picpath

p_w_picpath

      当点击“确定”、“管理”后,需要稍等片刻,因为系统在加入成员的同时还需要在成员机器上安装Windows的故障转移群集服务。

p_w_picpath

      从这个图中看到DAG2上有一个警告,这是正常的,因为此时群集的IP地址资源是在DAG1上。到这一步为止,DAG组就创建完成了。  使用命令创建DAG组显得更简单:

New-DatabaseAvailabilityGroup -name dag01 -WitnessServer cashub1 -WitnessDirectory c:\witness -DatabaseAvailabilityGroupIpAddresses 192.168.10.30

      这条命令的意思是创建一个名为DAG01的数据库高可用组,使用CASHUB1服务器作为自己的见证服务器,用c:\dag01文件夹作为见证目录,同时群集IP地址是192.168.10.30,再通过下面的命令加入成员:

Add-DatabaseAvailabilityGroupServer dag01 -MailboxServer hq-dag1

Add-DatabaseAvailabilityGroupServer dag01 -MailboxServer hq-dag2

    验证DAG部署

     先看一下见证服务器上见证目录是否创建成功,我们的见证服务器是CASHUB1,见证目录是C:\Witness,如下图所示:

 再打开子目录,可以看到里面的文件信息,如下图所示:

         接下来,再看一下故障转移群集中的资源,我们可以到任意一个节点上打开故障转移群集管理器,从下图中可以看到群集名就是我们在DAG部署中指定的DAG01.uec.com。群集中两个节点都处于正常状态。

 

 创建邮箱数据库副本

    下面我们需要为总部员工创建邮箱数据库staff,为分支机构员工创建邮箱数据库brach,两台机器都有 E盘和F盘。Staff在DAG1上主动数据库,在DAG2上存放副本;Branch在DAG2上是主动数据库,在DAG1上存放副本。

    我们先在DAG1上新建数据库staff,如下图所示:(在此案例中,可以同时在DAG2上新建数据库Branch,数据库文件路径及日志文件夹路径为F:,让DAG1成为它的副本,因操作过程相似,在此不再另行说明)。

p_w_picpath

       此时在DAG1上Staff为主动数据库,还需要在DAG2上生成Staff数据库的副本。这样两台邮箱服务器上才能都有一个名为Staff的数据库。右键点击Staff数据库,选择“添加邮件数据库副本”。选择在服务器上DAG2上添加数据库副本。

p_w_picpath

p_w_picpath

       这样,Staff数据库就有一个副本。当用户访问Staff上的邮箱时会连接DAG1服务器,如果DAG1服务器出现问题,CAS服务器将检测到故障,并在1分钟内将用户连接重定向到DAG2服务器的Staff数据库。从上图中可以看到Staff在DAG1上是主动的,我们也可以手动将DAG2设置为主动。方法是:右键Staff数据库,点击“移动活动邮箱数据库”,然后选择要承载活动邮箱数据库副本的邮箱服务器, 也就是DAG2。

p_w_picpath

      此时,我们再去查看Staff邮箱数据库的状态,DAG2已经是主动的。而DAG1为副本。如下图所示:

p_w_picpath

      如果考查文件信息可以看到,在DAG1的E:和DAG2的E盘都有Staff邮箱数据库的文件夹和文件信息,也就是说同一个邮箱数据库,在所有DAG成员服务器上的盘符路径是相同的。如下图所示:

p_w_picpath

     到了,写到这儿,关于DAG的创建就介绍完了,相信您也一定看明白了,下一篇文章我们将介绍针在此高可用环境下的相关配置工作。