テクニカルノート308


高可用性(ハイアベイラビリティ)を実現するソリューション
バックアップ、クラスタ、RAID、およびフェイルオーバー


概要

PERFORCEサーバの高可用性を実現するソリューションの構築方法はいくつかあります。そのソリューションは要件と予算に依存します。一般に、許容できる休止時間が長いほど実装コストは安くなり、PERFORCEインストールにさらに高い可用性を求めるほど、構築のコストが高くなります。


詳細

RAID
最も簡単なソリューションは、外部ディスクアレイをデータ格納用に使用し、主要コンピュータに障害が起きたときにすぐ代替コンピュータに切り替えられるようにすることです。障害発生時には、主要コンピュータをディスクアレイから取り外し、代替コンピュータを取り付けて起動させます。ディスクアレイを切り替えるのに必要な休止時間(例えば5分間)を許容できるのであれば、これが最も安く最も簡単なソリューションです。
ただし、RAIDアレイ自体に障害が起きる可能性があることに注意してください。例については、テクニカルノート NOTE884をご参照ください。

クラスタ
また、高可用性をもつストレージを使用して、クラスタ化されたファイルシステム上にPERFORCEを配備することもできます。PERFORCEサーバをクラスタ化された環境で正しく機能させるには、flock() 呼び出しが、ファイルシステムを使用するすべてのノードに対して確実に機能しなければなりません。クラスタ全体でファイルのロックが確実に行われる限り、PERFORCEサーバは可用性の面ではうまく機能するでしょう。しかし、そのような分散型のロック構成においては、パフォーマンスにある程度の悪影響が及ぶことも確かです。

クラスタ化されたサーバ環境でPERFORCEを使用する場合、「IPアドレスのない」ライセンスが必要である可能性があります。PERFORCEサーバは、クラスタ別名のIPアドレスをルックアップし、それをPERFORCEサーバが稼動しているノード上のIPアドレスに解決することが可能でなければなりません。PERFORCEサーバはライセンス認証の一部としてこのチェックを実行します。このライセンス認証が失敗すると、サーバは起動しません。ライセンスに関する支援は、弊社テクニカルサポートにご連絡ください。

ウォームスタンバイ
PERFORCEは、「ウォームスタンバイ」という技法を常に推奨してきました。これは、予備サーバ上の最新チェックポイントをリストアし、任意の手順として、主要サーバから取得した「番号付けされたジャーナルファイル」を使用して予備サーバをN分間ごとまたはN時間ごとに更新する手法です。ウォームスタンバイ・サーバの構築と更新を行うには、オフライン・チェックポイント処理に関するテクニカルノート NOTE126をご覧ください。

PERFORCEメタデータの予備コピーを保持することに加え、PERFORCEアーカイブファイルのコピーも同様に(例えばrsyncを使用して)保持しておかなければなりません。あるいは、アーカイブがNFSまたは同様のファイルシステムを使用して予備サーバにアクセス可能である必要があります。

ユーザにより寄付されたp4jrepというユーティリティがあり、これにより主要PERFORCEデータベースの「オフラインの」複製を保持することができます。このユーティリティは、PERFORCE社のパブリック・ディポから入手できます。p4jrepはサポート対象外ですが、いくつかの大規模なサイトでの実装が成功しています。

p4jrepユーティリティにより、PERFORCEデータベース(アーカイブファイルではない)をリモートマシンに複製することができます。一方リモートマシンが、例えばNFSを使用してPERFORCEアーカイブファイルへのアクセスが可能であれば、そのまま代替サーバとして機能させることができます。

ウォームスタンバイは、本当のホットバックアップ/フェイルオーバーの手法ではありません。理論上、本当のフェイルオーバーは可能ですが、多くの注意点があります。例えば、クラスタ化された環境でCPUまたはディスクに障害が発生したときに、PERFORCEはデータベースの破壊が発生しないことを保証できません。この場合、PERFORCEサーバはサードパーティ製のフェイルオーバー・ソリューションという、PERFORCEが保証できないものに依存します。やはり、「ウォームスタンバイ」サーバは、クラスタ化された環境にあるかどうかとは関係なく、メタデータの破損に対する防護策です。

別の方法としては、TivoやNVidiaで使用されているIC Manageソリューションのような、ジャーナル複製概念に基づいたPERFORCE用のサードパーティ製ソリューションを検討してもよいでしょう。IC ManageソリューションはLinuxベースです。

2005年度PERFORCEユーザ・カンファレンスにおける以下のプレゼンテーションは、PERFORCEのソリューションを構築するすべてのユーザにとって、高可用性を実現するために興味深いものとなるでしょう。
  • Perforce Backup Strategy and Disaster Recovery at National Instruments
  • A High Performance, High Reliability Perforce Server
 
戻る