[AlwaysOn Availability Groups]CLUSTER.LOG(AG)

CLUSTER.LOG(AG)

做为故障转移资源,在SQL Serverwindows故障转移集群服务的资源DLL(hadrres.dll)之间有额外的内部交流,DLL没法被SQL Server监控。WSFC logCLUSTER.LOG能够诊断WSFC集群或者SQL Server Resource DLL的问题。web

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

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命令,好处是能够指定全部节点生产到什么目录上。好处是不能指定日志的详细级别。windows

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

2.冗余AlwaysOn日志

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

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.spa

Identifier命令行

Source调试

Example from CLUSTER.LOG日志

Messages prefixed with RES and '[hadrag]'orm

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.重启集群服务。

相关文章
相关标签/搜索