リザベーションを使用すると、共有ストレージに対する最高レベルのデータ保護が可能になりますが、場合によっては、リザベーションを使用できず LifeKeeper 内で無効にしなければならないことがあります。リザベーションを無効にすると、複数のシステムが意図的または意図せずにストレージにアクセスしようとする場合にストレージが調停役として動作することがなくなります。
そのため、システムハング、システムビジー、またはサーバーが停止したように見えるあらゆる状況に対応できるように、クラスターメンバーシップによってストレージをフェンシングする別の方法を採用することを検討する必要があります。
リザベーションがなくても信頼性の高い構成を実現する鍵は、フェイルオーバーが発生したとき、「他の」サーバーの電源がオフになったこと、または電源が再投入されたことを「知る」ことです。この要件を満たすために利用可能なフェンシングオプションは 4 つあり、これらは SCSI リザベーションなしでも LifeKeeper で非常に信頼性の高い構成を実現できます。オプションは以下の通りです。
- STONITH (Shoot the Other Node in the Head) (高信頼性のインターコネクト、すなわちサーバーと STONITH デバイスとの間のシリアル接続を使用) - STONITH は、サーバーがクラスターの一部とみなされなくなったときに、そのサーバーを物理的に停止させたり、電源を切断したりする技術です。LifeKeeper フェイルオーバーのイベント時にサーバーの電源を切断する機能をサポートしています。これにより共有データへの安全なアクセスを保証します。このオプションはリザベーションと同様の信頼性を提供できますが、利用できるのは物理的に同じ場所に配置された 2 つのノードに限定されます。
- Quorum/Witness - Quorum/Witness サーバーは、特にクラスターサーバーが異なる場所に配置されている場合に、クラスター内でのメンバーシップを確認するために使用されます。このオプションはスプリットブレインに対応できるもののシステムハングに対応できないため、単独での使用は推奨されません。
- Watchdog - Watchdog は、サーバーの状態を監視します。問題が検出されると、問題のあるサーバーは再起動または電源を切断されます。このオプションではサーバーのハングからのリカバリーはできますが、スプリットブレインには対応できません。したがって、このオプションもまた単独での使用は推奨されません。
- CONFIRM_SO - このオプションでは自動フェイルオーバーを無効にする必要があります。そのため、信頼性が非常に高い (管理者のスキルによって異なります) 一方で、可用性はあまり高くありません。
これらの代替フェンシング方式はどれも単独では十分とは言えませんが、組み合わせて使用することで非常に信頼性の高い構成を実現できます。
非共有ストレージ
非共有ストレージ環境で LifeKeeper を使用する計画の場合、共有ストレージに存在するデータ破損のリスクは問題にならないため、リザベーションは不要です。ただし、データの部分的または完全な再同期およびマージが必要な場合があります。信頼性と可用性を最適化するには、非共有ストレージでも上記のオプションを検討する必要があります。
注記: 各オプションの信頼性と可用性の比較の詳細については、I/O フェンシング比較表 を参照してください。
完全なデータ保護を実現するオプションはないことを理解することは重要です。ただし、以下のように組み合わせるとリザベーションとほぼ同等レベルの保護を実現できます。
リザベーションを使用しない I/O フェンシングの設定
ノードフェンシングをサポートするクラスターを構成するには以下の手順を実行します。
- LifeKeeper を停止します。
- LifeKeeper 内での SCSI リザベーションの使用を無効にします。無効にするには、クラスターのすべてのノードで LifeKeeper のデフォルトファイル /etc/default/LifeKeeper を編集します。Reservations 変数を追加または修正して「none」にします ( 例:RESERVATIONS=none )。このオプションはリザベーションを利用できない場合のみ使用することに注意してください。
- I/O フェンシングを提供する STONITH デバイスを用意して設定します。この設定では、STONITH デバイスが reboot コマンドではなく、poweroff コマンドをシステムに対して実行するようにします。LifeKeeper の通信が何らかの理由で中断したとき、手動操作によって同時に両ノード上のデバイス階層を In Service の状態にしないように注意してください。
- 必要に応じて、quorum/witness サーバーを用意して設定します。quorum/witness サーバーを設定、使用する詳細な手順と情報については、Quorum/Witness Server Support Package トピックを参照してください。
注記: サイトの障害時に最良の保護機能を提供するため、quorum/witness サーバーはクラスター内の別サーバーから離れた場所にある必要があります。
- 必要に応じて、Watchdog を設定します。詳細については、 Watchdog トピックを参照してください。
このトピックへフィードバック