Cluster Log

クラスタログは、Windows 2000 では、デフォルトで有効になっています。%systemroot%\Cluster\cluster.log に格納されています。クラスタログには、クラスタで設定された情報や、リソースの移動など、詳細なログが残っています。

Cluster Log Level
クラスタログを採取する際に、情報の種類を選択できます。
環境変数に ClusterLogLevel を作成し、0 〜 3 のいずれかを値を設定します。

Log File Size
クラスタログの最大サイズはデフォルトで 8 MB に設定されています。変更するには、下記のレジストリを編集します。下記のキーは存在しないので追加する必要があります。

レジストリキー  :HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ClusSvc\Parameters
値の名前 :ClusterLogSize
データ型 :DWORD
:MB 単位の値

 

ログの解析

一般的なログの意味は以下のとおりです。

0000054c.00000554::2001/10/10-06:55:23.299 [CS] Service Starting...

プロセス ID
スレッド ID
日付と時間(グリニッジ世界標準時刻。日本だと 9 時間ずれて表示される)
ログを出力したクラスタコンポーネント(上記だと CS なので Cluster Service を意味する)
イベントメッセージ

略語 ノードステータス または コンポーネント
[API] API Support
[ClMsg] Cluster Messaging
[ClNet] Cluster network engine
[CP] Checkpoint Manager
[CS] Cluster Service
[DM] Database Manager
[EP] Event Processor
[FM] Failover Manager
[GUM] Global Update Manager
[INIT] クラスタを形成する前または参加する前の状態
[JOIN] クラスタノードであるときは参加を試みている状態
[LM] Log Manager
[MM] Membership Manager
[NM] Node Manager
[OM] Object Manager
[RGP] Regroup
[RM] Resource Monitor
<Physical Disk> ディスク関連
etc 他にもいくつかあります。

 

具体的に全部を見るわけには行きません。注目する点は、イベントメッセージのところに記述されている "error" "failed" "state" の個所です。

ex) 00000588.000005ac::2001/10/10-06:55:57.067 Physical Disk <Disk Q: X: Y:>: MountieUpdate: ClusReg-Mountie.SetInfo failed, error 70.
ex) 0000054c.00000554::2001/10/10-06:55:56.977 [DM] DmpGetRegistrySequence failed 2

このエラーコードを以下のコマンドで確認し、どういったエラーなのかを確認します。

C:\>net helpmsg 2
指定されたファイルが見つかりません。

C:\>net helpmsg 70
リモート サーバーは一時停止されているか、起動途中です。

 

BackUp

ntbackup を利用してシステムのバックアップをとることにより、クラスタのバックアップが可能です。ntbackup では「システム状態データのみバックアップを作成する」を選択します。バックアップデータをそのままリストアしてもクラスタの状態は復元されません。リストア後、リソースキットの ClusRest (Cluster Quorum Restore Utility) を実行することにより復元が可能です。クォーラムのバックアップ保存場所は、%windir%\cluster\cluster_backup フォルダに保存されます。運用する前にバックアップの手順確認とテストを行うようにしましょう。

 

Trouble Shooting 

クォーラムリソースが壊れてクラスタが起動できない
クォーラムリソースが壊れるとクラスタサービスが起動できません。そのときは、サービスのスタートアップパラメータに -fixquorum を付けて、クォーラムを使用しないでクラスタを起動させます。その後、クォーラムリソースのディスクやパーティションを変更して、通常起動させます。もしくは、-resetquorumlog でサービスを起動し、クォーラムログをクリアすることも可能です。

ローカル Clusdb ファイルが壊れた
%windir%\Cluster\Clusdb ファイルが壊れた場合には、別ノードが動作していたら、そのノードの Clusdb のバックアップを取り、復元させることが可能です。手順は下記のとおりです。

  1. ノード 2 で "regback.exe cluster.bak machine cluster" のコマンドを実行します。
  2. cluster.bak ファイルができるので、ノード 1 へコピーします。
  3. コピーされた cluster.bak のファイル名を Clusdb に変更する。
  4. %windir%\Cluster に Clusdb をコピーする。

ディスクの署名(signature)が不正になった
共有ディスクは、クラスタ作成時のシグネチャを見て、認識しています。バックアップアプリケーションのインストールなどで、ディスクのシグネチャが書き換わってしまい、クラスタが起動しなくなることがあります。このときドライブレターも変わってしまっていることもあります。その場合は、以下の手順でシグネチャを元に戻すことが可能です。

 

  1. 次の Clsuter コマンドを実行し、クラスタのディスクリソースに関連付けられているシグネチャを確認します。ex) 0x7af8c281

    Clsuter res "Disk Q:" /priv

    * Disk Q: はクラスタのディスクリソース名です。ドライブレターとかではありません。*

     
     
  2. Dumpcfg.exe(リソースキットユーティリティ) を実行し、ディスクシグネチャを変更します。

    Dumpcfg.exe -s<Hex Signature> <Disk Number>

    ex) Dumpcfg.exe -s0x7af8c281 2

 

  • 補足
    現在のディスクシグネチャを確認する方法
  1. Windows 2000 Support Tools の DiskProbe を起動する。
  2. メニューの [Drives] - [Physical Disk] を選択する。
  3. リストからディスクをダブルクリックする(ディスク番号は「ディスクの管理」から確認できます)。
  4. [Set Active] ボタンを押す。
  5. [OK] ボタンを押す。
  6. メニューの [Sectors] - [Read] を選択する。
  7. [Starting Sector] = 0、[Number of Sectors] = 1 を確認し [Read] を押す。
  8. ディスクの 0 セクタ目が表示される
  9. シグネチャは 0x1B8 〜 0x1BB なので確認する。

[Cluster res "Disk Q:" /priv] と見比べると、シグネチャの並びは、2 バイトずつ、逆順になっているのが確認できます。