- 時間發生點:2017 年 四月底五月初之間
- OS:Windows Server 2016 Datacenter
- 發生事件:
- 叢集節點出現 Event Id 1146 RHS程序已終止
經過
起初,以為是叢集方面的設定有誤,以致於發生這樣的錯誤
透過微軟工程師的協助
蒐集了相關 Log:
- Cluster log
- 使用 Powershell 指令產生所有節點的 cluster log
- Get-ClusterLog [-destination] [file location]
- Event log
- 蒐集所有節點的 Event Log。
- 儲存位置 : C:\Windows\System32\winevt\Logs
- ClusterDiagnosticInfo
- 使用 Powershell 指令產生所有節點的 ClusterDiagnosticInfo
- Get-ClusterDiagnosticInfo [-WriteToPath] [FileLocation]
Memory Dump
Memory Dump 設定
CrashDumpEnabled
1
2
3
4HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl
Name:CrashDumpEnabled
Data Type:REG_DWORD
Data value:1CrashOnCtrlScroll
1
2
3
4HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
Name:CrashOnCtrlScroll
Data Type:REG_DWORD
Data value:1After setting memory dump, restart computer
- 在問題發生時手動產生 Dump
- 重現問題,手動產生dump,將鍵盤右邊的 Ctrl 鍵按住不放、連續按 ScrollLock 鍵兩次。成功的話您將看到藍底白字當機畫面。
- 檔案將產生於%SystemRoot%\MEMORY.DMP
結果
經微軟工程師從現有資料檢視到問題來自於
iSCSI initiator(cluster node) 持續向 storage 建立連線,但不明原因出現連線失敗的狀況,而這些 iSCSI thread 並未被 OS 清除,導致最後出現 server hang。
此問題已被微軟產品組判定為 bug,目前正針對此問題進行修正中。
自我檢視的部份,也確認是因為 iSCSI initiator 上有嘗試跟不存在的 iSCSI target 做連線,最後將那些清除後,問題解決!