[AlwaysOn Availability Groups]健康模型 Part 1——概述
健康模型概述
在成功部署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-SqlAvailabilityGroup, Test-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——概述的更多相关文章
- [AlwaysOn Availability Groups] 健康模型 Part 2 ——扩展
健康模型扩展 第一部分已经介绍了AlwayOn健康模型的概述.现在是创建一个自己的PBM策略,然后设置为制定的归类.创建这些策略,创建之后修改一下配置,dashboard就会自动评估这些策略. 场景, ...
- [AlwaysOn Availability Groups]AG排查和监控指南
AG排查和监控指南 1. 排查场景 如下表包含了常用排查的场景.根据被分为几个场景类型,比如Configuration,client connectivity,failover和performance ...
- [AlwaysOn Availability Groups]DMV和系统目录视图
DMV和系统目录视图 这里主要介绍AlwaysON的动态管理视图,可以用来监控和排查你的AG. 在AlwaysOn Dashboard,你可以简单的配置的GUI显示很多可用副本的DMV和可用数据库通过 ...
- [AlwaysOn Availability Groups]排查:AG配置
排查AG配置 本文主要用来帮助排查在AG配置时出现的问题,包括,AG功能被禁用,账号配置不正确,数据库镜像endpoint不存在,endpoint不能访问. Section Description A ...
- [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 ...
- [AlwaysOn Availability Groups]使用Powershell监控AlwayOn健康
使用Powershell监控AlwayOn健康 1.基本命令概述 AlwayOn Dashboard是很有用的查看整体AG健康状况的工具.但是这个工具不是用于7*24监控的.如果应用程序夜间发送严重的 ...
- [AlwaysOn Availability Groups]AlwaysOn健康诊断日志
AlwaysOn健康诊断日志 为了监控primary可用副本的健康状况,SQL Server资源DLL使用SQL Server2012的过程sp_server_diagnostics. SQL Ser ...
- [AlwaysOn Availability Groups]监控AG性能
监控AG性能 AG的性能的性能方面,在关键任务数据库上进行语句级维护性能是很重要的.理解AG如何传输日志到secondary副本对评估RTO和RPO,表明AG是否性能不好. 1. 数据同步步骤 为了评 ...
- [AlwaysOn Availability Groups]排查:Primary上的修改无法在Secondary体现
排查:Primary上的修改无法在Secondary体现 客户端进程在primary上修改成功,但是在Secondary上却无法看到修改结果.这个case假设你的可用性组有同步的健康问题.很多情况下这 ...
随机推荐
- NodeJs之Path
Path模块 NodeJs提供的Path模块,使得我们可以对文件路径进行简单的操作. API var path = require('path'); var path_str = '\\Users\\ ...
- 当忘记mysql数据库密码时如何进行修改
因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...
- JavaScript动画-拖拽改变元素大小
▓▓▓▓▓▓ 大致介绍 拖拽改变元素大小是在模拟拖拽上增加了一些功能 效果:拖拽改变元素大小 ▓▓▓▓▓▓ 拖拽改变元素大小原理 首先这个方块得知道我们想要改变这个它的大小,所以我给它设定一个范围,当 ...
- OpenCV人脸识别LBPH算法源码分析
1 背景及理论基础 人脸识别是指将一个需要识别的人脸和人脸库中的某个人脸对应起来(类似于指纹识别),目的是完成识别功能,该术语需要和人脸检测进行区分,人脸检测是在一张图片中把人脸定位出来,完成的是搜寻 ...
- 那些年【深入.NET平台和C#编程】
一.深入.NET框架 1..NET框架具有两个组件:CLR(公共语言运行时)和FCL(框架类库),CLR是.NET框架的基础 2.框架核心类库: System.Collections.Generic: ...
- eclipse — 导入android项目后识别成java项目的问题及解决
最近在eclipse导入android项目的时候遇到了奇葩问题,再此记录 遇到的问题就是:将完好的android项目导入到eclipse的时候,原本这是一个很容易的事情,但是导入成功后发现,,,靠ec ...
- iOS开源项目周报1229
由OpenDigg 出品的iOS开源项目周报第三期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. Ma ...
- Maven(一)linux下安装
1.检查是否安装JDK,并且设置了环境变量(JAVA_HOME): echo $JAVA_HOME java -version 运行结果: 显示jdk的安装路径,和java的版本,如: #jdk路径 ...
- Microsoft Visual Studio 2015 下载、注册、安装过程、功能列表、问题解决
PS:请看看回复.可能会有文章里没有提到的问题.也许会对你有帮助哦~ 先上一张最终的截图吧: VS2015正式版出了,虽然没有Ultimate旗舰版,不过也是好激动的说.哈哈.可能有的小伙伴,由于工作 ...
- Linux监控工具介绍系列——vmstat
说来惭愧,玩Linux这么久了,居然没有玩转vmstat这个命令,对很多指标的具体意义都有点模糊不清,花了点时间好好学习.整理一下这个命令的相关资料.因为这个命令确实比较重要,而且频繁用到. 命令 ...