1. 概述

本文基于Exchange Server 2010新的高可用×××DAG(Database Availability Group ),以及windows Server NLB功能,实现了两个节点的邮件服务器的负载均衡和故障转移群集,不仅实现了类似传统的双机热备,而且这两个节点还具有负载均衡的作用,避免资源浪费,非常适合中小企业邮件系统的高可用性和高性能解决方案。
p_w_picpath
 

2. 安装

EX01和Ex02都采用经典方式安装HUB\CAS\MAILBOX角色。安装方法可以参考我之前的《从Notes迁移到Exchange Server 2010 之一》中关于Exchange Server 2010的安装。
 

3. 证书

需要为2个节点申请证书,证书名需要包含公共的域名,本环境中为mail.tiger.com,具体可以参考如下:

3.1. EX01

摘要: 2 个项目。2 个成功,0 个失败。
已用时间: 00:00:01
CA-EX01
已完成
已完成的 Exchange 命令行管理程序命令:
New-ExchangeCertificate -FriendlyName 'CA-EX01' -GenerateRequest -PrivateKeyExportable $true -KeySize '2048' -SubjectName 'C=CN,S="北京",L="北京",O="中国xx有限公司",OU="IT",CN=mail.tiger.com' -DomainName 'ex01.tiger.com','ex02.tiger.com','mail.tiger.com','tiger.com','autodiscover.tiger.com' -Server 'EX01'
 
已用时间: 00:00:01
写入文件
已完成
已完成的 Exchange 命令行管理程序命令:
将二进制流写入文件“C:\Users\administrator.TIGER\Desktop\EX01-CA.req”。
已用时间: 00:00:00
摘要: 2 个项目。2 个成功,0 个失败。
已用时间: 00:00:00
读取文件
已完成
已完成的 Exchange 命令行管理程序命令:
从文件“C:\Users\administrator.TIGER\Desktop\EX01-CA.cer”读取二进制流。
已用时间: 00:00:00
EX01-CA.cer
已完成
已完成的 Exchange 命令行管理程序命令:
Import-ExchangeCertificate -Server 'EX01' -FileData '<二进制数据>'
已用时间: 00:00:00
摘要: 1 个项目。1 个成功,0 个失败。
已用时间: 00:00:02
EX01
已完成
已完成的 Exchange 命令行管理程序命令:
Enable-ExchangeCertificate -Server 'EX01' -Services 'IMAP, POP, IIS, SMTP' -Thumbprint '5058CDD48998B22D370520631C22E62C975A472B'
已用时间: 00:00:02

3.2. EX02

摘要: 2 个项目。2 个成功,0 个失败。
已用时间: 00:00:01
EX02-CA
已完成
已完成的 Exchange 命令行管理程序命令:
New-ExchangeCertificate -FriendlyName 'EX02-CA' -GenerateRequest -PrivateKeyExportable $true -KeySize '2048' -SubjectName 'C=CN,S="北京",L="北京",O="北京xx所有限公司",OU="IT",CN=mail.tiger.com' -DomainName 'ex01.tiger.com','ex02.tiger.com','mail.tiger.com','tiger.com','autodiscover.tiger.com' -Server 'EX02'
已用时间: 00:00:01
写入文件
已完成
已完成的 Exchange 命令行管理程序命令:
将二进制流写入文件“C:\Users\administrator.TIGER\Desktop\EX02-CA.req”。
已用时间: 00:00:00
摘要: 2 个项目。2 个成功,0 个失败。
已用时间: 00:00:00
读取文件
已完成
已完成的 Exchange 命令行管理程序命令:
从文件“C:\Users\administrator.TIGER\Desktop\EX02-CA.cer”读取二进制流。
已用时间: 00:00:00
EX02-CA.cer
已完成
已完成的 Exchange 命令行管理程序命令:
Import-ExchangeCertificate -Server 'EX02' -FileData '<二进制数据>'
已用时间: 00:00:00
摘要: 1 个项目。1 个成功,0 个失败。
已用时间: 00:00:02
EX02
已完成
已完成的 Exchange 命令行管理程序命令:
Enable-ExchangeCertificate -Server 'EX02' -Services 'IMAP, POP, IIS, SMTP' -Thumbprint 'F84C70292EBEE87C2D644CF465AB375BC85BC708'
已用时间: 00:00:02

4. DAG 4.1. 心跳线网卡

仅配置TCP/IP 协议即可,并取消DNS注册功能;

4.2. 配置DAG见证服务器和DAG组

见证服务器为DC01,由于DC01不属于Exchange角色,所以需
将安全组Exchange Trusted Subsystem加入为DC01的administrators组成员;
New-DatabaseAvailabilityGroup -Name 'DAG01' -WitnessServer 'DC01.TIGER.COM'
Set-DatabaseAvailabilityGroup -Identity DAG01 –DatabaseAvailabilityGroupIpAddresses 192.168.1.13
设置DAG网络为DAG网卡

4.3. 管理DAG成员

将EX01和EX02添加到DAG01组中。

4.4. 创建邮件数据库副本

在EX01上创建数据库EX01DATABASE01;
在EX02上创建数据库EX02DATABASE01;
创建EX01DATABASE01的数据库副本;
创建EX02DATABASE01的数据库副本;
 

5. NLB

推荐使用硬件NLB设备。本处为了提升性能和避免单播下的通讯问题,对NLB使用了单独的网卡。

5.1. 安装NLB功能

在Ex01和Ex02上安装NLB功能;

5.2. 配置NLB

在EX01上建立新的NLB虚拟服务器mail.tiger.com,虚拟IP为192.168.1.23,注意设置NLB网卡为NLB网卡。
将Ex01添加到mail.tiger.com,注意设置NLB网卡为NLB网卡。
 

6. 添加DNS

在DC01上添加主机A记录,mail.tiger.com,autodiscover.tiger.com指向192.168.1.23
在公网DNS管理中添加A记录mail.tiger.com,autodiscover.tiger.com指向192.168.1.23对应的公网IP;
在公网DNS管理中为tiger.com添加MX记录,指向mail.tiger.com;
 
7. 为MAPI客户端配置CAS阵列
在Exchange powershell中依次执行
创建CAS 阵列虚拟机主机
New-ClientAccessArray -FQDN "mail.tiger.com" -Name "mail.tiger.com"
为数据库指定RPC CAS服务器
get-mailboxdatabase | set-mailboxdatabase –rpcclientaccessserver  "mail.tiger.com"
检查更改:
get-mailboxdatabase | select name,rpcclientaccessserver | fl