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