DAG

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

时间: 2024-10-08 08:21:08

DAG的相关文章

Tip:Exchange DAG部署的时候自动安装群集组件

我们在启用DAG高可用性组的时候,不需要手动先去安装failover cluster组件,在启用DAG的时候会自动安装该组件,如图. 该组件自动安装后,再继续配置DAG. ==============================================

POJ - 3249 Test for Job (DAG+topsort)

Description Mr.Dog was fired by his company. In order to support his family, he must find a new job as soon as possible. Nowadays, It's hard to have a job, since there are swelling numbers of the unemployed. So some companies often use hard tests for

简单Dp----最长公共子序列,DAG最长路,简单区间DP等

/* uva 111 * 题意: * 顺序有变化的最长公共子序列: * 模板: */ #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int a[100]; int mu[100]; int Dp[100][100]; int main() { int n,x; scanf("%d", &n

有向无环图(DAG)的最小路径覆盖

DAG的最小路径覆盖 定义:在一个有向图中,找出最少的路径,使得这些路径经过了所有的点. 最小路径覆盖分为最小不相交路径覆盖和最小可相交路径覆盖. 最小不相交路径覆盖:每一条路径经过的顶点各不相同.如图,其最小路径覆盖数为3.即1->3>4,2,5. 最小可相交路径覆盖:每一条路径经过的顶点可以相同.如果其最小路径覆盖数为2.即1->3->4,2->3>5. 特别的,每个点自己也可以称为是路径覆盖,只不过路径的长度是0. DAG的最小不相交路径覆盖 算法:把原图的每个点

UVA - 10131Is Bigger Smarter?(DAG上的DP)

题目:UVA - 10131Is Bigger Smarter? (DAG) 题目大意:给出一群大象的体重和IQ.要求挑选最多的大象,组成一个序列.严格的体重递增,IQ递减的序列.输出最多的大象数目和这些大象的序列(当中一种就能够). 解题思路:DAG上的DP.和之前的一篇相似.uva437 - The Tower of Babylon(DAG上的DP).就是将每两仅仅大象满足上面的序列要求的形成一条有向边. 之后就是DAG上的DP.然后再路径输出. 代码: #include <cstdio>

Exchange2013/2016 DAG高可用性组成员服务器灾难恢复

我们前面介绍了很多关于Exchange相关配置介绍及灾难恢复的相关介绍,但是对于企业来说,环境内为了提高服务的稳定性,肯定会部署多台Exchange服务器,如果环境有服务出现灾难性我们如果恢复呢,所以呢,我们就在此次文章中介绍,Exchange2013 DAG可用性组成员服务器的灾难恢复介绍:作为数据库可用性组 (DAG) 成员的邮箱服务器丢失,或发生故障且无法恢复并需要进行替换时,可执行服务器恢复操作.Microsoft Exchange Server 2013 安装程序包含可用于执行服务器恢

uva103 - Stacking Boxes(DAG)

题目:uva103 - Stacking Boxes(DAG) 题目大意:给出N个boxes, 并且给出这些箱子的维度,要求找一个最长的序列,能够使得下面的箱子一定能够有个维度序列大于上面的那个箱子的维度序列.例如:A箱子(2 3 4),B箱子(3 4 5),因为有个序列2 3 4 , 3 4 5使得B每个维度的值都大于A,所以A可以在B上面 . 解题思路:DAG.将这些箱子哪个能在哪个上面处理出有向图出来,这里判断是否可以在上面的情况,只要将这两个箱子的维度都从小到大排下序,然后比较一下是否对

uva437 - The Tower of Babylon(DAG上的DP)

题目:uva437 - The Tower of Babylon(DAG上的DP) 题目大意:给你一些立方体,给出长宽高XYZ.现在希望你将这些立方题叠起来,使得最后的高度最大,并且这些立方体是可以无限次使用的,但是一个立方体要在另一个立方体的上面的话是需要满足这个立方体的底面是可以完全包含在下面的那个立方体的底面. 解题思路:其实这里的无限次使用没有什么用,因为一个立方体最多使用三次就不可能是再用.输入的一个立方体其实可以变成三个确定长宽高的立体.然后将这些立方体先做预处理,如果立方体j能够放

powershell脚本自动检核DAG

经常检查DAG复制是Exchange邮箱管理员日常任务之一,以前每天上去看也挺烦的,尤其数据库比较多的情况下.下图就是"好心"的台北同事经常提醒我检查,我的天,这要是通过EMC看还不累死.还CC我领导,搞的人怪没面子的. 几条需要注意: 一.此脚本放在exchange任一台主机运行即可. 二.Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 添加Exchange管理模块 三.用Get-MailboxDatabase

DAG图的拓扑排序 python

在DAG中DFS中顶点的出栈顺序即逆拓扑序. def topological_sort( graph ): is_visit = dict( ( node, False ) for node in graph ) li = [] def dfs( graph, start_node ): for end_node in graph[start_node]: if not is_visit[end_node]: is_visit[end_node] = True dfs( graph, end_n