ディスクハートビート

Oracle Cluster File System 2を利用するには、ネットワーク上のノードが稼働していなければなりません。O2CBクラスタサービスは、正常に稼働していることを確認するために、定期的にキープアライブパケットを送信します。ネットワーク遅延が発生すると、ノードがダウンしたと判断される可能性があるため、パケットの送信にはLANの代わりにノード間のプライベートな接続を使用しています。

OC2Bクラスタサービスは、ディスクハートビートを介してノードステータスをやり取りします。ハートビートシステムファイルは、クラスタ中のすべてのノードが利用できるSAN(ストレージエリアネットワーク)上に常駐しています。このファイル中のブロック割り当ては、各ノードのスロット割り当てに順番に対応しています。

各ノードは2秒間隔でファイルを読み込み、それをファイル中の割り当てられたブロックに書き込みます。ノードのタイムスタンプの変更により、そのノードが稼働していることが分かります。一定時間ハートビートファイルに書き込みがない場合、そのノードは停止しているとみなされます。この時間は、書き込み間隔数で表されるハートビートしきい値として設定します。単一のノードだけが動作している場合でも、他のノードが動的に追加される可能性があるため、O2CBクラスタサービスはこのチェックを行います。

ディスクハートビートのしきい値を変更するには、/etc/sysconfig/o2cbファイルのO2CB_HEARTBEAT_THRESHOLDパラメータを使用します。このしきい値の時間は以下のように算出されます。

(O2CB_HEARTBEAT_THRESHOLD value - 1) * 2 = threshold in seconds

たとえば、O2CB_HEARTBEAT_THRESHOLDにデフォルト値の7が設定されている場合、時間は12秒になります((7 - 1) * 2 = 12)。