CLUSTER.LOG(AG)

作为故障转移资源,在SQL Server和windows故障转移集群服务的资源DLL(hadrres.dll)之间有额外的内部交流,DLL无法被SQL Server监控。WSFC log,CLUSTER.LOG可以诊断WSFC集群或者SQL Server Resource DLL的问题。

以下演示了SQL Server和windows集群管理的关系。windows集群管理用来初始化AG资源创建,释放或者状态修改。

1.生产集群日志

有2个方式生产集群日志:
1.在命令行使用cluster /log /g命令。集群日志会生成在\windows\cluster\reports目录的每个WSFC节点下。这个方法的有点是你可以指定生成日志详细程度的级别,通过/level选项。坏处是不能指定生成什么目录下面,具体可以看: How to
create the cluster.log in Windows Server 2008 Failover Clustering
.
2.使用Get-ClusterLog
powershell命令,好处是可以指定所有节点生产到什么目录上。好处是不能指定日志的详细级别。

以下Powershell命令生产最近15分钟的cluster log,并放入到当前日志文件。运行这个命令需要管理员权限
Import-Modeul FailoverClusters
Get-ClusterLog
–TimeSpan 15 –Destination .

2.冗余AlwaysOn日志

可以通过以下操作,设置CLUSTER.LOG的冗余程度:
1.启动故障转移集群管理器
2.展开集群和服务和应用节点,点击AG名
3.右击AG资源点击属性
4.点击属性tab
5.修改VerboseLogging属性,默认为0,取值从0到2.
6.点击确定
7.右击AG资源点击,Take this
resource offline
8. 右击AG资源点击,Bring this resource online

3.AG Resource事件

表如下可以显示CLUSTER.LOG下的关于AG资源的不同事件,更多关于 Resource Hosting Subsystem (RHS) 和 Resource Control
Monitor (RCM) in WSFC的信息查看:Resource
Hosting Subsystem (RHS) In Windows Server 2008 Failover Clusters
.

Identifier

Source

Example from CLUSTER.LOG

Messages prefixed with RES and '[hadrag]'

hadrres.dll (AlwaysOn Resource DLL)

00002cc4.00001264::2011/08/05-13:47:42.543 INFO [RES] SQL
Server Availability Group <ag>: [hadrag] Offline request.

00002cc4.00003384::2011/08/05-13:47:42.558 ERR [RES] SQL
Server Availability Group <ag>: [hadrag] Lease Thread terminated

00002cc4.00003384::2011/08/05-13:47:42.605 INFO [RES] SQL
Server Availability Group <ag>: [hadrag] Free SQL statement

00002cc4.00003384::2011/08/05-13:47:42.902 INFO [RES] SQL
Server Availability Group <ag>: [hadrag] Disconnect from SQL Server

Messages prefixed with [RHS]

RHS.EXE (Resource Hosting Subsystem, host process of
hadrres.dll)

00000c40.00000a34::2011/08/10-18:42:29.498 INFO [RHS] Resource
ag has come offline. RHS is about to report resource status to RCM.

Messages prefixed with [RCM]

Resource Control Monitor (Cluster Service)

000011d0.00000f80::2011/08/05-13:47:42.480 INFO [RCM]
rcm::RcmGroup::Move: Bringing group 'ag' offline first...

000011d0.00000f80::2011/08/05-13:47:42.496 INFO [RCM]
TransitionToState(ag) Online-->OfflineCallIssued.

RcmApi/ClusAPI

An API call, which mostly means SQL Server is requesting the
action

000011d0.00000f80::2011/08/05-13:47:42.465 INFO [RCM] rcm::RcmApi::MoveGroup:
(ag, 2)

3. 隔离的调试AlwaysOn资源DLL

最好的调试配置是,集群独立的使用AlwaysOn资源DLL(hadrres.dll)。默认WSFC集群所有的资源DLL在独立的实例rhs.exe上运行。所有集群里的资源会共享给通一个rhs.exe实例。当你试图使用调试器调试hadrres.dll使用定点暂停可能会导致其他共享了rhs.exe.的实例也中断了。当你在集群中使用多个AG组,当你在调试器定点调试,一样的配置会导致所有的AG都会中断。

为了隔离其他资源DLL,包括其他AG,在独立的rhs.exe使用以下步骤:
1.打开注册表,找到HKEY_LOCAL_MACHINE\Cluster\Resources。这个key包含了所有资源的key,每个都有不同的GUID。
2.找到一个key包含了AG名的。
3.修改SeparateMonitor =1
4.重启集群服务。

[AlwaysOn Availability Groups]CLUSTER.LOG(AG)的更多相关文章

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

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

  2. [AlwaysOn Availability Groups]排查:AG超过RPO

    排查:AG超过RPO 在异步提交的secondary上执行了切换,你可能会发现数据的丢失大于RPO,或者在计算可以忍受的数据都是超过了RPO. 1.通常原因 1.网络延迟太高,网络吞吐量太低,导致Pr ...

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

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

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

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

  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]DMV和系统目录视图

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

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

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

  8. [AlwaysOn Availability Groups]AG扩展事件

    AG扩展事件 SQL Server 2012定义了一些关于AlwaysOn的扩展事件.你可以监控这些扩展事件来帮助诊断AG的根本问题.你也可以使用以下语句查看扩展事件: SELECT * FROM s ...

  9. [AlwaysOn Availability Groups]SQL Server错误日志(AG)

    SQL Server错误日志(AG) SQL Server错误日志会记录影响AG的时间,比如: 1.和Windows故障转移集群交互 2.可用副本的状态 3.可用数据的状态 4.AG endpoint ...

随机推荐

  1. __weak 和 __block 区别

    Blocks理解: Blocks可以访问局部变量,但是不能修改 如果修改局部变量,需要加__block __block int multiplier = 7; int (^myBlock)(int) ...

  2. iOS chart 图表完美解决方案 基于swift

    如果打算在app中使用图标功能,这个框架基本能够满足90%的需求 下边是作者的框架的下载地址 ,基于swift2.0 https://github.com/danielgindi/ios-charts ...

  3. centos-5.5安装vmvare tools

    centos-5.5安装vmvare tools 虚拟机管理,安装tools 找到VMwareTools压缩包 解压到Desktop,桌面 终端进入桌面 执行程序# ./vmware-install. ...

  4. jQuery效率提升建议

    jQuery简洁通用的方法集把编码者从繁重的工作中解脱出来,也拉低了进入javascript的门槛,初学者对浏览器兼容性一无所知的情况下,几行代码就可以写出超炫的特效.网上有一篇文章转载比较泛滥,已经 ...

  5. MVC学习系列14--Bundling And Minification【捆绑和压缩】--翻译国外大牛的文章

    这个系列是,基础学习系列的最后一部分,这里,我打算翻译一篇国外的技术文章结束这个基础部分的学习:后面打算继续写深入学习MVC系列的文章,之所以要写博客,我个人觉得,做技术的,首先得要懂得分享,说不定你 ...

  6. git学习之branch分支

    作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...

  7. 自己实现简单的AOP(四)自动初始化代理对象

    前面三篇随笔,已经完成了AOP的核心功能,但 代理对象的初始化还是有些麻烦,本文将解决该问题. Demo 片段如下: public class HomeController : Controller ...

  8. Android 不一样的原生分享

    Android做分享功能百度一下就两种方案,其一是用系统原生的Activity,最终弹出一个对话框,下面这种的还好,像右图的那种就嫌弃了,上面提供的应用也相对杂,还记得有次测试还给鄙人提了个Bug:建 ...

  9. 【JAVA并发编程实战】5、构建高效且可伸缩的结果缓存

    首先创建一个借口,用来表示耗费资源的计算 package cn.xf.cp.ch05; public interface Computable<A, V> { V compute(A ar ...

  10. golang中如何使用http,socket5代理

    Golang Http use socket5 proxy 因为最近想爬取一些网站上的视频,无奈网站在墙外,只能通过代理进行爬取,因此在网上搜索关于golang使用代理的方法. 功夫不负有心人,最后我 ...