Japanのひがしです。Japanは、オープンソースカンファレンス(OSC)に出展させていただき、講演やデモ機展示などを行っています。(過去の出展報告はこちら)このデモ機について、展示を見に来ていただいた方から、「参考にしたいので設定を教えてほしい」といったご意見をいただくことがありますので、構成および設定内容について公開します。記事作成時点の情報です。構成概要まずは、デモ機の構成全体の概要をご説明します。デモ機は以下のような構成になっています。物理的には、以下のような構成です。この構成のポイントは以下です。いう機種を使用しています。Lights-Out)がオプションとして搭載可能なため、STONITHを有効にしたPacemakerクラスタを組むことができます。NICの搭載枚数は、最大4ポートとなります。本デモ構成では、インターコネクトLAN以外のNICが故障した場合、直ちにフェイルオーバが発生します。商用環境での構成時は、必要に応じ、NICの故障を想定し、bonding等で1ネットワークに複数NICを割り当てることも検討してください。内蔵ディスクについては、2台搭載し、RAID1でミラーリングしています。PostgreSQLのストリーミングレプリケーション機能およびDRBDを用いて、サーバ間の内蔵ディスクをLAN経由でレプリケーションしているので、共有ディスクは使用していません(コスト低減!)。Gen8の上部にちょうど設置できる機種です。L2スイッチにはPacemakerとしての要件は特にありません。(もちろん、ハートビート通信のパケットが滞りなく届くことが前提です。ハートビート通信のパケットは大きくないので、GbEが主流の現在、ハートビート通信による輻輳が問題になることはほとんど無いでしょう。)ただし、デモ構成のため、L2スイッチ自体の故障・冗長化までは考慮しておらず、各ネットワークごとに1台ずつ設置しています。商用環境での構成時は、スイッチ類の故障も想定し、冗長化等の対策を別途行ってください。Japanで提供のPacemakerリポジトリパッケージはRHELおよびCentOS向けのみとなります。いう大きく分けて3つの種類のリソース、および、PrimitiveをまとめたGroupというリソースを定義することができます。これらのリソースの違いについて簡単に説明します。これらの概念は、Pacemaker-1.0系およびPacemaker-1.1系で共通です。これは全てのリソース定義の基礎になります。これは、通常のAct-Standby構成で用いるリソースで、どこか一カ所のノードで動くことができます。よって、クラスタ全体のある1ノードだけで動いていればよいリソースに使用し、リソースが故障すれば、他のノードにフェールオーバーさせることができます。データベースやメールサーバのようなものをHAクラスタリングする場合は通常このリソースを定義することになります。リソースを複数のノードで動作させたい場合に使用します。定義し、それをClone化するという流れになります。あるアプリケーションを複数のノードで動かしたい場合、Primitiveだけで実現しようとすると、動かしたいノード数分だけ定義する必要がありますが、Cloneの場合は1つのCloneリソースを定義するだけで動かすことができます。ノードのネットワークが切れていては意味がありません。全てのノードで動作させ、サービスを提供していないノードでもネットワークを監視し、ネットワークが故障してしまった場合は、そのノードにサービスがフェールオーバーしないようにするのが通常の使い方です。RAはClone化できます。リソースをさらに発展させたもので、Cloneリソースで親子の関係があるリソースに使用します。定義し、それをMaster/Slave化するという流れになります。DRBDでは、PrimaryとSecondaryと呼ばれる状態があり、Primaryではデータの読み書き、SecondaryではPrimaryからレプリケーション用のデータを受信し、ディスクに書き込みます。そのため、DRBDは複数のノードで動いている必要があり、さらにPrimaryとSecondaryの状態を区別する必要が出てきます。使って実現しています。PostgreSQL用のRA(pgsql)でストリーミングレプリケーションを制御する際にもMaster/Slaveリソースを使用します。ストリ-ミングレプリケーションでは片方のPostgreSQLをMaster(読み書き可能)、もう片方をSlave(書き込み不可)とし、Masterに書き込まれたデータをSlaveに転送し続けることで、両系のデータを常に同じになるよう保っています。RA)を連携・制御する構成をPG-REXと呼称しています。詳細はPG-REXコミュニティ(日本語)で。化することはできません。リソースは、複数のPrimitiveリソースを1つのグループとしてまとめたリソースです。同じグループとなったPrimitiveリソースは必ず同じノードで、定義された順番に起動/停止します。Pacemaker内部の動作としては「colocation(同居)制約」と「order(順序)制約」の両制約をかけたのと同等です。制約について詳しくは、こちらを参照ください。2011%みなさんおはようございます。