天天看点

[AlwaysOn Availability Groups]CLUSTER.LOG(AG)CLUSTER.LOG(AG) 2.冗余AlwaysOn日志 3.AG Resource事件 3. 隔离的调试AlwaysOn资源DLL

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

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

有2个方式生产集群日志:

2.使用Get-ClusterLog powershell命令,好处是可以指定所有节点生产到什么目录上。好处是不能指定日志的详细级别。

以下Powershell命令生产最近15分钟的cluster log,并放入到当前日志文件。运行这个命令需要管理员权限

Import-Modeul FailoverClusters 

Get-ClusterLog –TimeSpan 15 –Destination .

可以通过以下操作,设置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

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)

最好的调试配置是,集群独立的使用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.重启集群服务。

    本文转自 Fanr_Zh 博客园博客,原文链接:http://www.cnblogs.com/Amaranthus/p/4984541.html,如需转载请自行联系原作者