こんにちは。
平素は弊社製品をご愛顧いただき誠にありがとうございます。
運用を頂いておりますお客様のクラスター環境は問題無く動作しておりますでしょうか。高可用性を謳うフェールオーバー クラスター製品ですが、長く運用を頂く中で外部的な要因も含め、クラスターが障害を検知したりフェールオーバーが発生する場合もあるかと存じます。
障害調査依頼として弊社にお問い合わせを頂く場合、お伺いした現象や障害に対して調査の為の情報取得をお願いすることがあります。この記事では初期調査を行なううえで最低限必要になる情報をご案内します( 実際の調査ではその過程においてあらためて現象の確認や追加情報のお願いをさせていただく場合があります。お手数をお掛けする事となりますが何卒、ご理解と共にご協力を頂けますようよろしくお願い申し上げます)。
一般的にフェールオーバー クラスターの調査では部分的なエラー情報だけではなく構成や動作を確認する必要がありますので、以下 (a)~(f) の様な情報が必要になります。またフェールオーバー クラスターは複数の Windows サーバーが連携して動作しますので、情報採取はクラスターを構成する全てのノードが対象になります。
実機からのログ情報採取とは別に、確認いただいた発生障害と状況についても是非、お教えください (障害対応の現場は修羅場同然でそれどころではないと思いますが、後から思い出せる範囲でも結構です。現場で実際に目で観て頂いた情報は何よりも重要であることが多くあります)。
情報保存を頂きたい情報
◆ Windows OS の情報
(a) システム情報 (msinfo32.exe) : 全ノードで採取
(b) イベント ログ情報 Evtx+CSV形式 (eventvwr.exe) : 全ノードで採取
(c) ネットワーク情報 (ipconfig.exe) : 全ノードで採取
◆ フェールオーバー クラスターの情報
(d) クラスター診断ログ (cluster.exe/Get-ClusterLog) : 全ノードで採取 ... ※
(e) クラスター リソースとグループの情報 (cluster.exe/Get-Cluster) : 1台のノードで採取
(f) クラスター ハイブ (reg.exe) : 1台のノードで採取
※ クラスター診断ログはサイズ固定の循環ログですので、時間が経過することにより古いログから上書きされてしまいます。障害が発生した後は可能な限り速やかに保存と回収をお願いします。
◆ 発生現象に関して
クラスター環境に関連する障害のお問い合わせでは様々な事象があります。ほんの一部ですが思いつく範囲ではこんなところでしょうか。
・フェールオーバーした
・フェールオーバーしたがオンラインにできなかった
・(障害が発生したのに)フェールオーバーしない
・リソースが失敗した。
・クラスター サービスが再起動した
・ノードがスローダウン/ハングアップ/再起動/サインインできない
等々・・・お問い合わせを頂く場合には、障害が発生する前に環境の変化がなかったか、障害発生時に行なった操作(また復旧操作があればその内容)、障害発生時の目視の状況などについても分かる範囲で構いませんので、時系列での情報を簡単なメモ書きでまとめていただけると助かります。
情報採取方法
以下に (a)~(f) それぞれの情報採取の方法についてご案内します。
(a) システム情報
システム情報 msinfo32.exe の出力結果を保存します。対象はクラスターを構成する全てのノードです。
管理者権限のコマンド プロンプトから以下のコマンドで取得します。
msinfo32 /nfo <出力ファイル名>
出力ファイル名:ノード名_MSINFO32.txt など
コマンドを実行した後、情報収集が終わるまでには少々時間がかかります。指定したファイルが出力されるまでお待ちください。
(b) イベント ログ情報
イベント ビューア eventvwr.exe を起動し、以下のイベントを対象に evtx 形式と csv 形式でログを保存します。
対象はクラスターを構成する全てのノードです。
① [Windows ログ] - [Application]
② [Windows ログ] - [システム]
③ [アプリケーションとサービス ログ] - [Microsoft] - [Windows] - [FailoverClustering] - [Operational]
(c) ネットワーク情報
ネットワーク情報として ipconfig /all の出力結果を保存します。対象はクラスターを構成する全てのノードです。
管理者権限のコマンド プロンプトから以下の書式で ipconfig.exe コマンドの結果をファイルに出力しご提供ください。
ipconfig /all > <出力ファイル名>
出力ファイル名:ノード名_IPCONFIG.txt など
(d) クラスター診断ログ
クラスター ログ (cluster.log) と呼ばれます。Event Tracing for Windows (ETW) で記録されているため、デコードを行なう必要があります。
対象はクラスターを構成する全てのノードです (デコードを行なう以下のコマンドは 1 台のノードで実行しますが、ログは全てのノードに出力されます)。
- Windows Server 2008 R2 まで (コマンド プロンプトを使います)
管理者権限の コマンド プロンプトを起動し、以下のコマンドを実行します。
cluster log /g
- Windows Server 2012 以降 (Power Shell を使います)
管理者権限の Power Shell (64 bit) を起動し、以下のコマンド レットを実行します。
Get-ClusterLog
出力先は既定で C:\Windows\Cluster\Reports\Cluster.log になります。各ノード毎に回収をお願いします。
(e) クラスター リソースとグループの情報
クラスター上のリソース一覧と状態を確認します。対象はクラスターを構成する 1 台のノードです (クラスター上の情報は全てのノードで共通になります)。以下の方法で情報を保存します。
- Windows Server 2008 R2 まで (コマンド プロンプトを使います)
管理者権限の コマンド プロンプトを起動し、以下のコマンドを実行します。
cluster res
cluster group
- Windows Server 2012 以降 (Power Shell を使います)
管理者権限の Power Shell (64 bit) を起動し、以下のコマンド レットを実行します。
Get-Cluster | select *
Get-ClusterGroup
Get-ClusterGroup | select *
Get-ClusterResource
Get-ClusterResource | select *
Get-ClusterNetwork
Get-ClusterNetwork | select *
表示された情報を確認し、テキストファイルに保存します。
(f) クラスター ハイブ
クラスター データベースとも呼ばれるレジストリ ハイブです。
対象はクラスターを構成する 1 台のノードです (クラスター上の情報は全てのノードで共通になります)。対象のレジストリは HKEY_LOCAL_MACHINE\Cluster です。
管理者権限の コマンド プロンプトを起動し、以下のコマンドで取得します。
reg save HKLM\Cluster <出力ファイル名>
出力ファイル名:Cluster_HIVE.hiv など
以上、クラスター調査に必要となる情報収集についてご案内しました。
最後になりますが、お客様のシステムが安定稼働することを心より願っております。
- 参考資料
Windows Server 2008 R2: フェールオーバー クラスターのトラブルシューティング
https://technet.microsoft.com/ja-jp/magazine/hh272674.aspx