[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.重啓集羣服務。

相關文章
相關標籤/搜索