Exchange server 2010 实现高可用性


防伪码:书山有路勤为径,学海无涯苦作舟。


前言:我们在以前学习过很多种类的群集,例如linuxlvshaproxykeepalived等。主要作用就是当服务器发生故障的时候不影响用户的访问,做到高可用以及负载均衡。今天给大家介绍的就是exchange的高可用,当其中一台服务器出现故障,不会影响用户邮件的正常收发。

 

一、理论部分:

       1、为什么部署服务器的高可用性

              防止服务器突然停机,保证服务的连续性,使服务器实现冗余。

       2Exchange高可用性技术

              1)通过部署一组服务器实现服务的连续性

              2)对数据进行一定的保护

       3Exchange Server 2007 的高可用性——CCR

       1CCR的工作原理

n  通过群集技术实现

n  需要先安装故障转移群集

n  在群集内的安装多个邮箱服务器角色

n  其他服务器角色只能安装在其他服务器上

n  服务器级别的故障转移

n  只能配置两个节点

n  只有一台服务器进行工作

n  某一个数据库发生故障则将所有工作转移到群集内的其他节点

wKioL1hSGmvyG6m7AAHanHb4Obg665.png

2CCR的缺点

n  严重浪费服务器资源

n  一旦出现故障必须转移全部工作

n  需要另外搭建其他服务器角色(不适合小型企业)

n  完全依赖故障转移群集

n  CCR建立在故障转移群集之上

n  最多支持两个节点

 

4Exchange Server 2010—DAG Database Availability Groups

       1DAG工作原理

n  数据库级别的故障转移

n  只转移出现故障的数据库

n  群集节点可以安装多个Exchange角色

n  一个DAG最多可以有16个节点

n  数据库级别的故障转移

n  不用先部署故障转移群集

n  只转移出现故障的数据库

n  可以进行异地备份

n  通过心跳线进行数据复制

wKiom1hSGoPA0X6bAAF7Zh_fK1Q126.png

wKioL1hSGpLh4qlyAAGQYY5IE90771.png

2DAG的特点

n  属于数据库级别的容错

n  只把出现故障的数据库转移到其他节点上

n  不过多的依赖于故障转移群集

n  使用了部分功能如见证和心跳线

n  易于扩展

n  可以随时添加新的节点

n  最多可以扩展到16个节点

n  与其他服务器角色共存

n  可以再节点上安装多个服务器角色

n  无需群集的管理经验

n  因为是在管理控制台(EMC)中进行管理

n  支持异地备份

n  可以将两个节点加入到同一个域中,分别建立不同的站点

n  不需要共享存储

n  只需要在每个节点本地配置存储即可

n  连续复制日志

n  所有的日志都会同步到其他备份节点上

 

3DAG安装前的先决条件

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  在进行收发邮件,看一下是否正常

 

7DAG的增量部署、支持异地灾备。

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通信)。

wKiom1hSG17QwYv2AABIGwotxPc299.png

上图是复制网络(心跳线)网段172.16.0.0DNS指向域控制器所在的服务器。

5)配置WINS,按照下图进行配置。

wKiom1hSG36jD_RVAABHqHqP6kw616.png

6)将mapi网卡的优先级调到最高

wKioL1hSG6CDapHVAABGuf0M8Kk881.png

注意:两台服务器配置一样,ip不能冲突

7)配置见证服务器的存储,这里见证服务器和域控制器在一起

wKioL1hSG-DDDbFZAAC6_CcJ5tg660.png

在分好的分区,新建立一个文件夹DAG,用于存放见证服务器的文件。

wKiom1hSHA-zEvDjAABrBT2fnzo233.png

因为这台还是见证服务器,所以需要将Exchange Trusted Subsystem组加入到管理员组,以可以获取相当于管理员的权限,如果不加下面的配置DAG组时可能会出现问题

wKioL1hSHC6xTt6IAACYQPwGG3E983.png

找到管理员组,点击上边的成员选项卡,点击下边的添加

wKiom1hSHFCCAmquAACfBXJUD0M157.png

到此为止见证服务器这边就配置完成了

8)在server01服务器上创建两个邮箱数据库名为mailbox01mailbox02

wKiom1hSHHCjZpBXAACPST0m0SQ843.png

这是随着Exchange安装就创建好的数据库,为什么有两个,因为这是一个站点存在两台邮箱服务器角色,公共文件夹数据库只能有一个。

wKiom1hSHKmzkDzgAAHbgWZpNrI072.png

点击上面的数据库管理选项卡,邮件新建邮箱数据库,选择存放数据库的服务器选择server01,mailbox01也放在这台服务器上

wKiom1hSHMriXngEAADVFbgtmSo655.png

创建好了,在创建时勾选了创建完成后装入数据库,所以数据库已经装入了。

9)邮箱数据库创建好了之后,我们来创建DAG(数据库可用性组)

wKioL1hSHOiBL7wgAACKBwVEMr0826.png

还是在组织配置的邮箱中,找到数据库可用性组,右边会出现新建数据库可用性组(默认是不存在DAG组的)。

wKiom1hSHQeCIKMzAAK_dJP9gM8681.png

注意:组名一定要起一个形象一点的,因为这个组名决定了在DNS服务器中的FQDN名,我们需要通过这个FQDN名访问OWA客户端系统。

指定见证服务器文件存放的目录,就是刚才创建的目录。

见证服务器其实是起到了一个仲裁的作用,如果上面的那个组没有添加到管理员组,这里是创建不成功的。

wKiom1hSHTTjJXkRAAGqQ5Znc7k273.png

这里会出现一个警告信息,说的是见证服务器所在的计算机不是exchange安全组的一部分,一般我们都会用HUB服务器角色来担任这个见证服务器,所以说这里有警告正常

wKiom1hSHVHB0Xh-AACF_qcG5xM826.png

10)为DAG组配置IP地址,这里定义为192.168.4.66,需要打开EMS进行操作,执行下面命令:

Set-DatabaseAvailabilityGroup -Identity DAG -DatabaseAvailabilityGroupIpAddresses192.168.4.66

使用命令查看ip:Get-DatabaseAvailabilityGroup| fl name,*ip*可以看见DAG组的

IP地址

wKioL1hSHXbSFSSlAABXeq22lBk832.png

11)接下来添加组中的成员

对DAG组点击右键会弹出管理可用性组的成员身份

wKioL1hSHZSAADKeAAJA1gxfY5E728.png

再将server02添加。

wKioL1hSHbuwz0lwAABEIoMpj70418.png

上图也可以看见成员服务器

12)接下来配置DAG组的网络

其实默认就可以了,但是我们这里为了提升性能,把不用来复制的其他网络就不让他启用复制功能了,将启用复制的对勾去掉就可以

wKiom1hSHdywuIPCAACHV4AW9Oc887.png

保证下图中的服务启动(两台服务器都要启动,否则无法完成复制)

wKiom1hSHfmTQTsvAADb1iqAFyk559.png

13)接下来验证一下

wKioL1hSHhaDEW71AADeinjcHD8355.png

可以看见DNS服务器已经将DAG创建了A记录wKiom1hSHjLSyWJ_AACUw2iWwYM704.png

可以在群集管理器中,查看存在的节点,

wKioL1hSHmrgSw_IAABtN2X6IQs294.png

上述的三种方法确认创建成功了。

14)配置第二部分“邮箱数据库的副本”

在配置之前向mailbox01中添加一个用户为user1

wKiom1hSHorhek2xAAKyENJamOI075.png

wKioL1hSHqWS49sWAALKSHmAw_Y260.png

创建好了之后为邮箱数据库创建副本

wKiom1hSHsTAZFAQAAEel0ejAuA067.png

副本就是将这个数据库文件复制给谁一份,之后就通过副本进行数据的复制

wKiom1hSHuiSW2OiAAIRRqs9wOo167.png

wKioL1hSHwDh4lrLAAKMyfPTZp8487.png

wKiom1hSHxzi2-g3AADPGdUyUi8587.png

可以看见,mailbox01在server02上是已装入状态,在server03上是正常(在复制完成的时候就可以对副本进行激活)

实际上就是server02为主动,server03为被动,被动已经连接正常

mailbox02也是一样的操作

3、测试DAG

1)使用user1通过客户端登录https://DAG.benet.com/owa

2)使用user1登录,给自己发一封邮件进行测试

wKioL1hSHz7B8DLwAABye_zUONg504.png

wKiom1hSH1vzNgSYAAF_HmtMZFc648.png

3)将邮箱数据库的文件彻底删除掉,来模拟数据库损坏,需要先将数据库卸载掉,因为如果不卸载的话,数据库文件是使用状态下是不能删除的。对mailbox01点击右键卸除数据库库,进入到C:\ProgramFiles\Microsoft\Exchange Server\V14\Mailbox

wKiom1hSH3zBMb4AAAClfQ_0xO4287.png

将mailbox01彻底删除

4)在对数据库右键进行装入会报错误,提示数据库文件不存在

wKiom1hSH57iUQ8wAAC9zasrtA8845.png

wKioL1hSH7uyhU6AAADWhaAGsQ8886.png

5)mailbox01已经在server01上是卸载状态了,但是server02还没有进入到装入状态是因为,这个副本还没有激活,我们对其点击右键进行激活(选择最佳可用性)

wKiom1hSH93CQV80AADYOwAJsJg415.png

wKiom1hSH_GRzqItAAAWEVKjtzE127.png

这时server02就是已装入状态

6)我们再登录邮箱看一下是否正常 

wKiom1hSIBGB5Ix7AAFp31hhSgo082.png

这就证明了我们的整个搭建的过程是没有任何问题的

总结:可以看到始终我们都没有登录到server02上进行操作(除了启动一下服务之外)。这就说明了,一个站点下在一台服务器上就可以完成所有操作。