博主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上进行操作(除了启动一下服务之外)。
这就说明了,一个站点下在一台服务器上就可以完成所有操作。