[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副本,你只能查看本地数据库。

posted on 2015-11-26 09:18 Fanr_Zh 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/Amaranthus/p/4996597.html

[AlwaysOn Availability Groups]健康模型 Part 1——概述相关推荐

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

    [AlwaysOn Availability Groups] 健康模型 Part 2 --扩展 健康模型扩展 第一部分已经介绍了AlwayOn健康模型的概述.现在是创建一个自己的PBM策略,然后设置为 ...

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

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

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

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

  4. [AlwaysOn Availability Groups]CLUSTER.LOG(AG)

    CLUSTER.LOG(AG) 作为故障转移资源,在SQL Server和windows故障转移集群服务的资源DLL(hadrres.dll)之间有额外的内部交流,DLL无法被SQL Server监控 ...

  5. [AlwaysOn Availability Groups]排查:AG超过RTO

    排查:AG超过RTO 自动故障转移或者手动转移之后,没有数据都是,你可能会发现切换时间超过了你的RTO.或者当你评估切换时间同步提交secondary副本,发现超过了你的RTO. 1. 通常原因 通常 ...

  6. 大模型技术发展概述 -(四)

    文本内容参考论文<A Survey of Large Language Models> 论文标题:A Survey of Large Language Models 论文链接:https: ...

  7. SQL Server AlwaysON从入门到进阶(6)——分析和部署AlwaysOn Availability Group

    本文属于SQL Server AlwaysON从入门到进阶系列文章 前言: 本节是整个系列的重点文章,到现在,读者应该已经对整个高可用架构有一定的了解,知道独立的SQL Server实例和基于群集的S ...

  8. Spark详解(三):Spark编程模型(RDD概述)

    1. RDD概述 RDD是Spark的最基本抽象,是对分布式内存的抽象使用,实现了以操作本地集合的方式来操作分布式数据集的抽象实现.RDD是Spark最核心的东西,它表示已被分区,不可变的并能够被并行 ...

  9. 太空夜景_太空深度学习的模型压缩技术概述

    太空夜景 By Hannah Peterson and George Williams (gwilliams@gsitechnology.com) 汉娜·彼得森 ( Hannah Peterson)和 ...

最新文章

  1. HTTP 2.0与OkHttp
  2. css海浪动画代码,不行一行代码,纯css实现海浪动态效果!
  3. linux swap 内存交换分区调整
  4. sysbench mysql oltp_用sysbench进行数据库OLTP基准测试
  5. why we need a undefined parameter in function signature
  6. C#动态加载dll,dll目录指定
  7. JAVA Servlet API简介及接口与类的用法
  8. pythongui做计算器_python 实现简单的计算器(gui界面)
  9. 在Tomcat启动时直接创建servlet(二)
  10. GDB 调试命令讲解-转
  11. vs2012 ultimate 密钥
  12. 【IDM】IDM下载器安装
  13. sepic电路MATLAB,cuk电路matlab仿真
  14. 吴翰清:云计算安全是“皇帝的新装”么?
  15. 碧蓝航线服务器维护到几点,碧蓝航线9月26日更新官方公告及内容汇总 维护到几点 碧蓝航线什么时候能玩_蚕豆网新闻...
  16. linux命令练习题
  17. 采购系统是如何管理供应商的?
  18. 如何写好一份解决方案?
  19. 史上第一张黑洞真身照片终于问世——原来黑洞不是黑的...
  20. 五一出游-徒步旅行主旋律

热门文章

  1. html选择同级的元素,jquery获取同级元素
  2. java视频教程enet网络,流媒体技术原理及播放方式(浅显易懂)
  3. ApacheBench测试Web并发
  4. C语言练字用小软件 — Practise_Calligraphy_1.0(ANSI)
  5. java子线程切换到主线程_Android子线程切换到UI线程方法总结
  6. matlab实验论文,毕业论文--基于MATLAB的光学实验仿真
  7. android jni java call c字符串乱码,JNI系列入门之C语言中文字符串乱码问题
  8. java 文件下载预览_javaweb简单的实现文件下载及预览
  9. 苹果笔记本能学二级计算机吗,怎么辨别苹果笔记本是不是翻新机
  10. 猜数游戏--MOOC中习题