博主QQ:819594300
博客地址:http://zpf666.blog.51cto.com/
有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!
前言:我们在以前学习过很多种类的群集,例如linux的lvs,haproxy、keepalived等。主要作用就是当服务器发生故障的时候不影响用户的访问,做到高可用以及负载均衡。今天给大家介绍的就是exchange的高可用,当其中一台服务器出现故障,不会影响用户邮件的正常收发。
一、理论部分:
1、为什么部署服务器的高可用性
防止服务器突然停机,保证服务的连续性,使服务器实现冗余。
2、Exchange高可用性技术
1)通过部署一组服务器实现服务的连续性
2)对数据进行一定的保护
3、Exchange Server 2007 的高可用性——CCR
1)CCR的工作原理
- 通过群集技术实现
- 需要先安装故障转移群集
- 在群集内的安装多个邮箱服务器角色
- 其他服务器角色只能安装在其他服务器上
- 服务器级别的故障转移
- 只能配置两个节点
- 只有一台服务器进行工作
- 某一个数据库发生故障则将所有工作转移到群集内的其他节点
2)CCR的缺点
- 严重浪费服务器资源
- 一旦出现故障必须转移全部工作
- 需要另外搭建其他服务器角色(不适合小型企业)
- 完全依赖故障转移群集
- CCR建立在故障转移群集之上
- 最多支持两个节点
4、ExchangeServer 2010—DAG (Database Availability Groups)
1)DAG工作原理
- 数据库级别的故障转移
- 只转移出现故障的数据库
- 群集节点可以安装多个Exchange角色
- 一个DAG最多可以有16个节点
- 数据库级别的故障转移
- 不用先部署故障转移群集
- 只转移出现故障的数据库
- 可以进行异地备份
- 通过心跳线进行数据复制
2)DAG的特点
- 属于数据库级别的容错
- 只把出现故障的数据库转移到其他节点上
- 不过多的依赖于故障转移群集
- 使用了部分功能如见证和心跳线
- 易于扩展
- 可以随时添加新的节点
- 最多可以扩展到16个节点
- 与其他服务器角色共存
- 可以再节点上安装多个服务器角色
- 无需群集的管理经验
- 因为是在管理控制台(EMC)中进行管理
- 支持异地备份
- 可以将两个节点加入到同一个域中,分别建立不同的站点
- 不需要共享存储
- 只需要在每个节点本地配置存储即可
- 连续复制日志
- 所有的日志都会同步到其他备份节点上
3)DAG安装前的先决条件
- DNS服务必须运行
- 分配给DAG的名称必须不超过15个字符
- 节点都需要加入到域环境
- 两个节点均进行Exchange sp3的典型安装
- 安装故障转移群集功能
- 服务器版本必须相同
- 每个DAG成员具有相同数量的网络
- 节点必须是典型安装的Exchange sp3
4)注意事项
- 节点需要配置双网卡
- MAPI网络(面向用户)
- 复制网络(用于心跳线)
- 见证服务器加入域
- 见证服务器需要大于等于两个分区
- 其中一个分区用于存放见证的数据
- 服务器的版本必须相同
- 不能混合部署,否则在添加成员是可能会出现错误
5)创建DAG
- 为Exchange Trusted Subsystem组设置权限
- 受信任的子系统
- 让见证服务器管理DAG进行调度
- 为DAG设置群集的IP地址
- 添加DAG组的成员
- 配置DAG的网络
- 启动Microsoft Exchange信息存储服务
- 验证DAG的创建是否成功
6)验证数据库的转移
- 创建一个邮箱
- 将存在用户的数据库文件删除
- 观察控制台的变化
- 在进行收发邮件,看一下是否正常
7)DAG的增量部署、支持异地灾备 。
DAG的增量部署 :
- 无需事先部署Windows故障转移群集
- 从“典型安装”的单服务器即可开始部署DAG
- 随时扩充新节点,最多为16个
- 节点为偶数时需要见证,为奇数是不需要
- 添加新的数据库时,必须创建副本否则不能复制
- 可以直接部署本地存储,无需在部署网络存储
二、实验部分
实验案例:DAG实现邮件系统高可用性
1、实验环境和需求描述:
公司现在只有一台exchange2010的典型安装的邮件服务器(存在三个角色:邮箱服务器角色,集线器传输角色和客户端访问角色),现在希望避免单点故障和实现邮箱数据库的冗余,公司决定通过部署双节点的DAG实现Exchange邮件系统的高可用性。
网卡的配置:
MAPI网络(面向用户):192.168.10.0
复制网络(用于心跳线):10.0.0.0
服务器操作系统均采用windows server 2008r2版本
需要三台服务器:一台DC/DNS/见证服务器,两个节点服务器(Exchange服务器),已有一台典型安装的服务器还需要再部署一台服务器(典型安装),已有的是mailserver01.benet.com,现在新加入了一台exchange服务器是mailserver02.benet.com。
2、实验思路
1) 准备实验环境
2) 新建数据库可用性组
3) 添加数据库可用性组成员
4) 新建邮箱数据库
5) 添加邮箱数据库副本
6) 验证
3、安装另一台exchange2010的实验步骤
都必须是exchange sp3,否则会出错。
安装exchange2010,这里不再赘述了,如果不会,请参考我的博文:
exchange系列(一)exchange2010邮件服务器的安装与规划
下面正式开始本次的实验:
Exchange部署完成了,接下来开始部署今天的实验配置服务器的高可用性————DAG(Database Availability Groups)数据库可用性组。
虚拟机环境图:
域benet.com :192.168.10.10
mailserver01 : 192.168.10.20
mailserver02 : 192.168.10.30
DAG虚拟IP :192.168.10.100
1)首先将三台计算机都关闭计算机,在DC上添加一块硬盘,分一个分区用于存放认证服务器的数据。
2)两台Exchange服务器在添加一块网卡用于复制数据,添加完成之后进行开机。
3)打开两台服务器的网卡进行配置,mapi网络已经配置好了,不懂动了(使用vm1通信)。
4)配置新添加的网卡用于复制数据(两块网卡使用VM8通信)。
下图是复制网络(心跳线)网段10.0.0.0
DNS指向域控制器所在的服务器(即DC)。
5)配置WINS,按照下图进行配置
点击上图中的“高级”
6)将mapi网卡的优先级调到最高
mailserver02也是一样的操作:
7)配置见证服务器的存储,这里见证服务器就和域控制器在一起(因为是实验环境,这里只添加40G磁盘空间就可以了)。
分区已经建好(第一步已说了),现在是在分区里面新建一个文件夹叫DAG,这个文件夹用于存放见证服务器的文件。
8)因为这台DC还是见证服务器,所以需要将Exchange Trusted Subsystem组加入到管理员组,以可以获取相当于管理员的权限,如果不加,那么后面的配置DAG组时可能会出现问题
对“Administrators”右键点击→选择“属性”:
至此,见证服务器就配置完成了。
9)在maiserver01服务器上创建两个邮箱数据库名为mailbox01和mailbox02。
大家想一想为什么会有两个默认的已建好的数据库(第1个和第2个)和一个已存在的公共文件夹数据库(第5个),这是因为随着Exchange安装就创建好的数据库,那为什么默认的数据库是两个呢,这是因为一个域里面有两台exchange服务器,所以是两个默认的,但是无论怎么样,公共的文件夹数据路只能有一个。
10)邮箱数据库创建好了之后,我们来创建DAG(数据库可用性组)
注:(默认是不存在DAG组的)
先去看一下DC的完整计算机名称:
接着返回到mailserver01这里来:
注意:组名称一定要起一个形象一点的,因为这个组名决定了在DNS服务器(即DC)中的FQDN名,我们需要通过这个FQDN名访问OWA客户端系统。
指定见证服务器文件存放的目录,就是刚才创建的目录。
见证服务器其实是起到了一个仲裁的作用,如果上面的那个组没有添加到管理员组,这里是创建不成功的。
11)为DAG组配置IP地址,这里定义为192.168.10.100,需要打开EMShell进行操作,执行下面命令:
看不清截图的可以看下面:
Set-DatabaseAvailabilityGroup-Identity DAG
-DatabaseAvailabilityGroupIpAddresses 192.168.10.100
使用命令查看:Get-DatabaseAvailabilityGroup | fl name,*ip*
可以看见DAG组的IP地址:
12)接下来在组中添加成员
这有个警告是正常的,不用理会,继续下面的操作。
13)接下来配置DAG组的网络
其实默认就可以了,但是我们这里为了提升性能,把不用来复制的其他网络就不让他启用复制功能了,将启用复制的对勾去掉就可以了。
确认下图中的服务启动(两台服务器都要启动,否则无法完成复制)
14)接下来验证一下(三种检验方法)
①可以看见DNS服务器已经将DAG创建了A记录:
②在AD用户与计算机中的computers里面可以看见DAG:
③可以在群集管理器中,查看存在的节点:
如果上述的三种方法都确认了,则说明创建成功了。
上述的三种方法确认创建成功了。
15)配置第二部分“邮箱数据库的副本”
在配置之前向mailbox01中添加一个用户为user1
创建好了之后为邮箱数据库创建副本:(如果右键点击看不见“添加邮箱数据库副本”几个字,则多按几次F5刷新即可)
上图中可以看出,mailbox01在mailserver01上是已装入状态,在mailserver02上是正常(在复制完成的时候就可以对副本进行激活)
说明:实际上就是mailserver01为主动,mailserver02为被动,被动已经连接正常,在mailbox02也是完成一样的操作。
16)测试DAG
①使用user1通过客户端登录https://DAG.benet.com/owa
②使用user1登录,给自己发一封邮件进行测试
③将邮箱数据库的文件彻底删除掉,来模拟数据库损坏,需要先将数据库卸载掉,因为如果不卸载的话,数据库文件是使用状态下是不能删除的。对mailbox01点击右键卸除数据库库,进入到C:\ProgramFiles\Microsoft\Exchange Server\V14\Mailbox
我们可以看一下数据库和副本的状态:
现在mailserver01是已卸除状态;mailserver02是正常状态。
现在去
C:\ProgramFiles\Microsoft\Exchange Server\V14\Mailbox删除mailserver01:
④再对数据库右键进行装入会报错误,提示数据库文件不存在
⑤mailbox01已经在mailserver01上是卸载状态了,但是mailserver02还没有进入到装入状态,是因为这个副本还没有激活,我们对其点击右键进行激活(选择最佳可用性)
这时mailserver02就是已装入状态。
⑥我们再登录邮箱看一下是否正常
至此,实验完毕了,user1还能正常的发送邮件,这就证明了我们的整个搭建的过程是没有任何问题的。
总结:可以看到始终我们都没有登录到mailserver02上进行操作(除了启动一下服务之外)。
这就说明了,一个站点下在一台服务器上就可以完成所有操作。