zoukankan      html  css  js  c++  java
  • [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的健康,会对涉及的相关对象全部执行一遍策略,可用副本,可用数据库,AGAG所在发服务。不仅仅是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个归类,每个不同目标类型,都有2errorwarning归类。列表如下:
    1.Availability database errorsAvailability 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 StateServer
    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.dashboardAG部分

    这个部分由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归类的策略报错,和2warning归类的策略报错。如果点击高亮部分可以获得详细错误信息。

    2.Availability Replicas部分

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

    3.可用数据库部分

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

  • 相关阅读:
    Web开发者需具备的8个好习惯
    全球十大搜索引擎排名
    ContextWrapper
    PackageManager
    重写equals方法的注意事项
    StackOverflow 并不只是一个问答网站
    android 中ids.xml资源的使用
    The method dismissDialog(int) from the type Activity is deprecated
    百度员工离职总结:如何做个好员工?
    Mysql 自动化任务
  • 原文地址:https://www.cnblogs.com/Amaranthus/p/4996597.html
Copyright © 2011-2022 走看看