健康模型概述

在成功部署AG之后,跟踪和维护健康状况是很重要的。

1.AG健康模型概述

AG的健康模型是基于策略管理(Policy Based Management PBM)的。如果不熟悉这个特性,可以查看:使用基于策略的管理来管理服务器

PBM的核心是策略,策略有以下部分组成:

1.目标,策略运行在有一组或者一个对象上。
2.条件,条件是bool表达式,指定目标的状态。如果条件false,就会发生错误。
3.归类,归类是对策略的简单归类

一旦你定义了一个策略,PBM会提供引擎来执行这些策略,获取结果。健康模型的核心是收集BPM策略,可以再管理->策略->系统策略里面找到。策略使用的条件可以查看管理->策略->条件->系统条件。

所有策略并不是相同的,有些策略错误比其他策略要严重的多。为了支持这个,我们提供了PBM的归类机制。重要的策略会放入Error归类,不太重要的会放入Warning。

当策略执行计算目标的健康:

1.执行对象上所有的策略。
2.如果有策略是在Error归类上,那么报告对象错误
3.如果是Warning归类,那么报告对象警告状态
4.否则就是健康的。

这个时候,计算AG的健康,会对涉及的相关对象全部执行一遍策略,可用副本,可用数据库,AG,AG所在发服务。不仅仅是AlwaysOn dashboard上的行为,在所有对象上执行策略,然后组织结果,还可以使用Powershell的命令 Test-SqlAvailabilityGroupTest-SqlAvailabilityReplica, 和 Test-SqlDatabaseReplicaState
来访问健康模型。

2. 健康模型在哪里运行

AlwayOn是多服务系统,问题就是,这些服务在哪里运行?答案是通常在当前primary副本上运行。因为primary副本有所有的必要的用来计算健康状况的数据。Secondary副本只知道自己的和primary的健康状况。这就是hub and
spoke模型

当然然也可以在secondary上评估副本,策略在本地对象上运行,但是总体的结果会是unknown。因为健康模型报告无法准确的确定AG的状态,因为数据不够。

3.AlwaysOn健康模型归类

注意我们使用PBM的归类(category)机制来判断一个策略的敏感程度。但是不单单如此,我们也基于对象类型使用归类来组织策略。不仅如此,我们也把这些归档作为探索机制。当确定使用什么策略,健康模型明确的查找这些归类中的策略。在发布2012的时候,定义了8个归类,每个不同目标类型,都有2个error和warning归类。列表如下:
1.Availability database errors\Availability database warnings
在这个归类下的策略的对象是可用数据库。相关的方面是Database
Replica State
2. Availability group errors (any replica role)\ Availability group warnings
(any replica role)
在这些归类的策略使用在可用组上。Any
replica role表示这些策略可以可以运行在AG的任意副本上。比如在secondary上运行dashborad,这个归类下的策略就会被评估。注意这个归类下的有些策略目标是服务对象。有必要去验证WSFC集群的属性。相关方面:Availability
Group State,Server。
3. Availability group errors (primary replica only)\ Availability group
warnings (primary replica only)
这个归类内的策略用于AG,但是要运行在primary副本上
4. Availability replica errors\ Availability replica warnings
这个归类的策略是运行在可用副本的。相关方面Availability Replica

下面介绍dashboard的各个部分:

1.dashboard的AG部分

这个部分由4个归类:
1.Availability Group errors(any replica role)
2.Availability Group warnings(any replica role)
3.Availability Group errors(primary replica role)
4.Availability Group Warnings(primary replica role)
注意如果你从secondary运行dashboard,只有前面2个归类会被考虑。如图就表示有1个严重错误和2个警告,表示有一个error归类的策略报错,和2个warning归类的策略报错。如果点击高亮部分可以获得详细错误信息。

2.Availability Replicas部分

健康状态计算使用2个策略归类,Availability
replica errors\ Availability replica warnings。当dashboard在secondary上运行,只能看到本地的可用副本。通过点击warning可以获得详细的错误信息。

3.可用数据库部分

可用数据库的健康状态的计算使用2个策略归类Availability
database errors\Availability database warnings。当dashboard在secondary副本,你只能查看本地数据库。

[AlwaysOn Availability Groups]健康模型 Part 1——概述的更多相关文章

  1. [AlwaysOn Availability Groups] 健康模型 Part 2 ——扩展

    健康模型扩展 第一部分已经介绍了AlwayOn健康模型的概述.现在是创建一个自己的PBM策略,然后设置为制定的归类.创建这些策略,创建之后修改一下配置,dashboard就会自动评估这些策略. 场景, ...

  2. [AlwaysOn Availability Groups]AG排查和监控指南

    AG排查和监控指南 1. 排查场景 如下表包含了常用排查的场景.根据被分为几个场景类型,比如Configuration,client connectivity,failover和performance ...

  3. [AlwaysOn Availability Groups]DMV和系统目录视图

    DMV和系统目录视图 这里主要介绍AlwaysON的动态管理视图,可以用来监控和排查你的AG. 在AlwaysOn Dashboard,你可以简单的配置的GUI显示很多可用副本的DMV和可用数据库通过 ...

  4. [AlwaysOn Availability Groups]排查:AG配置

    排查AG配置 本文主要用来帮助排查在AG配置时出现的问题,包括,AG功能被禁用,账号配置不正确,数据库镜像endpoint不存在,endpoint不能访问. Section Description A ...

  5. [SQL in Azure] Tutorial: AlwaysOn Availability Groups in Azure (GUI)

    http://msdn.microsoft.com/en-us/library/azure/dn249504.aspx Tutorial: AlwaysOn Availability Groups i ...

  6. [AlwaysOn Availability Groups]使用Powershell监控AlwayOn健康

    使用Powershell监控AlwayOn健康 1.基本命令概述 AlwayOn Dashboard是很有用的查看整体AG健康状况的工具.但是这个工具不是用于7*24监控的.如果应用程序夜间发送严重的 ...

  7. [AlwaysOn Availability Groups]AlwaysOn健康诊断日志

    AlwaysOn健康诊断日志 为了监控primary可用副本的健康状况,SQL Server资源DLL使用SQL Server2012的过程sp_server_diagnostics. SQL Ser ...

  8. [AlwaysOn Availability Groups]监控AG性能

    监控AG性能 AG的性能的性能方面,在关键任务数据库上进行语句级维护性能是很重要的.理解AG如何传输日志到secondary副本对评估RTO和RPO,表明AG是否性能不好. 1. 数据同步步骤 为了评 ...

  9. [AlwaysOn Availability Groups]排查:Primary上的修改无法在Secondary体现

    排查:Primary上的修改无法在Secondary体现 客户端进程在primary上修改成功,但是在Secondary上却无法看到修改结果.这个case假设你的可用性组有同步的健康问题.很多情况下这 ...

随机推荐

  1. Ignite性能测试以及对redis的对比

    测试方法 为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像.测试方法很简单主要是下面几点: 不作参数优化,默认 ...

  2. TODO:GitHub创建组织的步骤

    TODO:GitHub创建组织的步骤 使用GitHub进行团队合作,写这个步骤主要作用是为了OneTODO作为一个团队组织进行代码的分享,让更多人来参与. 使用帐号.密码登录GitHub 2.右上角加 ...

  3. category中重写方法?

    问:可以在category中重写方法吗? 答:代码上可以实现 在category中重写方法,但在实际开发中,不建议这样做.如果确实需要重写原有方法也建议使用子类进行重写. category是为了更方便 ...

  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统(55)-Web打印

    系列目录 前言 1.本次主要弥补工作流,用户表单数据的打印 2.使用JQprint做为web打印插件 3.兼容:FireFox,Chrome,IE. 4.没有依赖也没有配置,使用简单 代码下载:htt ...

  5. C#中将DataTable导出为HTML的方法

    今天我要向大家分享一种将DataTable导出为到HTML格式的方法.有时我们需要HTML格式的输出数据, 以下代码就可以帮助我们达到目的,. 首先,我们要绑定DataTable和 DataGridV ...

  6. 高效而稳定的企业级.NET Office 组件Spire(.NET组件介绍之二)

    在项目开发中,尤其是企业的业务系统中,对文档的操作是非常多的,有时几乎给人一种错觉的是”这个系统似乎就是专门操作文档的“.毕竟现在的很多办公中大都是在PC端操作文档等软件,在这些庞大而繁重的业务中,单 ...

  7. 2016/12/28_javascript

    今天学习的主要内容: javascript: 1.if语句,switch语句,while循环以及for循环: 1)if语句 if(boolean){}; if(boolean){} else if(b ...

  8. 在Centos下搭建git并可以通过windows客户端访问

    亲测在本地虚拟机和远程服务器上无问题,如有不懂请留言. 注意事项:以下所有操作是在root权限下操作的.1.Centos服务器版本centos6.5 2.首先安装git,使用yum在线安装 yum i ...

  9. 解决开启服务器防火墙导致ftp不能连接的问题

    在防火墙设置的"高级"选项卡中的"网络连接设置"--"本地连接"--"设置"中添加了"FTP服务器" ...

  10. CYQ.Data V5 从入门到放弃ORM系列:教程 - MProc类使用

    MProc介绍 MProc:是一个用于执行SQL或存储过程的数据库操作类,它轻量高性能地类似于Dapper. MProc:它出现的场景很少,因为MAction自身就能处理掉90%-100%的数据操作( ...