ノード再起動後に、クラスター サービスが、エラー 6609 [無効なログ ブロックが見つかりました。] で起動しない

こんにちは。Windows プラットフォーム サポートの加藤です。
本日は、ノード再起動後にクラスター サービスが起動できなくなる障害事例についてご紹介します。

今回ご紹介させていただく内容としましては以下の3 点です。

<障害内容>
<回避策>
<原因特定の調査について>

<障害内容>
ノードを再起動させた際に、イベント ログに以下のエラーが記録され、クラスター サービスの起動に失敗する。

-------------------------------
ログの名前:         System
ソース:           Service Control Manager
イベント ID:       7024
レベル:           エラー
説明:
Cluster Service サービスは、サービス固有エラー ログ サービスで、無効なログ ブロックが見つかりました。 で終了しました。
-------------------------------

また、クラスター ログには以下のエラー ログが記録されます。

---------------
ERR   [CS] Service CreateNodeThread Failed, ERROR_LOG_BLOCK_INVALID(6609)' because of '::CreateLogFile( fileName.c_str(), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, sa, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL )'
---------------

上記ログに記録された [無効なログ ブロックが見つかりました。] と [ERROR_LOG_BLOCK_INVALID(6609)'] は、クラスター サービスが使用するファイルの一部である clusdb.blf というファイルが破損している場合に発生することが確認されています。
クラスターは起動時にこのファイルを読み込みますが、ファイルが破損していると正しく内容を読み込めず、サービスの起動に失敗します。

- クラスタ ログはどこ?
https://blogs.technet.com/b/askcorejp/archive/2009/04/21/windows-server-2008-failover-clustering.aspx

<回避策>
本ファイルは、削除またはリネームすることで Cluster Service 起動時に自動的に再作成されます。
万が一上記の問題が発生した場合には、以下の手順にて clusdb.blf ファイルを再作成し、Cluster Service が正常に起動するかどうかご確認ください。

1. c:\windows\cluster\clusdb.blf を clusdb.old などの名前にリネームします。
2. [サービス] 管理コンソールや net start clussvc コマンドを利用して、Cluster Service を起動します。

上記ファイルを再作成する事でのシステム影響はございません。

<原因特定の調査について>
ファイル破損の原因は、その破損の瞬間を捉えた詳細調査が必要となり、
明確な判断は往々にして困難です。しかし、論理的には以下の要因が挙げられます。

A. ディスク関連の障害
B. ウイルス対策ソフトウェアがファイルへアクセスした場合

それぞれの詳細は以下の通りです。

-----------
A. ディスク関連の障害
-----------
イベント ログに NTFS 関連のエラーやディスク関連のエラーが記録されている場合には、ディスク関連の障害でファイルが破損した可能性もございます。
なお、NTFS のエラーは、通常 ID:55 などが記録されます。
これらエラーが記録されていた場合には、ハードウェアベンダー様へハードウェアのチェックの依頼をお願いします。

-ソース : NTFS、ID: 55 のイベント
https://blogs.technet.com/b/askcorejp/archive/2013/03/11/ntfs-id-55.aspx

------------------
B. ウイルス対策ソフトウェアがファイルへアクセスした場合
----------
ウイルス対策ソフトウェアがファイルへアクセスした際に、クラスターサービスによる同ファイルへの適切なアクセスが妨害され、これにより、ファイルのデータが不正な状態に陥った可能性も考えられます。
弊社では Windows Server 2008 のフェールオーバー クラスタ (WSFC) 環境において、ウイルス対策ソフトウェアのスキャンの対象から除外すべきフォルダーを以下の Blog で公開しております。
この除外対象のフォルダには、今回問題の発生したファイル clusdb.blf の配置されている %systemroot%\Cluster も含まれております。
そのため、もし除外対象になっていない場合には、切り分けと安定運用のために、除外の設定をお願いいたします。

クラスタ環境でのウィルス スキャンの除外設定について
https://blogs.technet.com/b/askcorejp/archive/2010/06/10/wsfc.aspx

アンチウイルス スキャン対象から除外したいファイルやフォルダ
https://blogs.technet.com/b/jpepscrt/archive/2010/04/28/3328757.aspx

本 Blog が少しでも皆様のお役に立てれば幸いです。