7.6. 冗長リングプロトコルの設定

Red Hat Enterprise Linux 6.4 では、Red Hat High Availability アドオンはリングプロトコルの冗長設定に対応しています。
冗長リングプロトコルを使用するようにシステムを設定する場合、以下の事項を考慮する必要があります。
  • リングを 3 つ以上指定しないでください。
  • 各リングで同じプロトコルを使用すること、IPv4 と IPv6 を混同しないようにしてください。
  • 必要であれば、2 つ目のリングにマルチキャストアドレスを手動で指定可能です。2 つ目のリングにマルチキャストアドレスを指定した場合、代わりのマルチキャストアドレスまたは代わりのポートは 1 つ目のリングのマルチキャストアドレスと異なる必要があります。別のマルチキャストアドレスを指定しなかった場合、システムは 2 つ目のリングに別のマルチキャストアドレスを自動的に使用するようになっています。
    別のポートを指定した場合、操作の実行にポートとポート 1 をシステム自体で使用するため、1 つ目と 2 つ目のポート番号は 2 つ以上違うものでなければなりません。
  • 同一サブネット上で 2 つの異なるインターフェースを使用しないでください。
  • 一般的に、NIC またはスイッチのいずれかに問題が発生したときのために、2 種の NIC および 2 種のスイッチで冗長リングプロトコルを設定すると良いでしょう。
  • ifdown コマンドまたは service network stop コマンドを使用して、ネットワークの問題のシミュレーションを行わないでください。このコマンドでは、クラスター全体が破壊され、クラスター内の全ノードを再起動しない限り回復しなくなります。
  • ケーブルが抜けると ifdown が実行されるため、NetworkManager を使用しないでください。
  • NIC の 1 ノードに問題が発生すると、リング全体に問題があるとマーキングされます。
  • 問題の発生したリングを回復するために手動介入は必要ありません。回復には、問題の NIC やスイッチなどのように、問題の原因となる部分を修正するだけで結構です。
冗長リングプロトコルに 2 番目のネットワークインターフェースを指定するには cluster.conf ファイルの clusternode のセクションに altname コンポーネントを追加します。altname を指定するには、name 属性を指定してノードの 2 つ目のホスト名または IP アドレスを指定します。
以下の例では、クラスターノード clusternet-node1-eth1 の代わりの名前として clusternet-node1-eth2 を指定しています。

<cluster name="mycluster" config_version="3" >
  <logging debug="on"/>
  <clusternodes>
    <clusternode name="clusternet-node1-eth1" votes="1" nodeid="1">
      <fence>
        <method name="single">
          <device name="xvm" domain="clusternet-node1"/>
        </method>
      </fence>
      <altname name="clusternet-node1-eth2"/>
    </clusternode>

clusternode ブロックの altname セクションは、位置独立コードであるため、fence セクションの前にも後ろにも置くことが可能です。クラスターノードに複数の altname コンポーネントを指定しないでください。複数指定すると、システムが起動しなくなります。
オプションで、cluster.conf 設定ファイルの cman セクションに altmulticast コンポーネントを含めることで、2 つ目のマルチキャストアドレス、ポート、TTL を手動で指定することができます。altmulticast コンポーネントでは、addrportttl パラメーターを使用できます。
以下は、クラスターの設定ファイルの cman セクションで、2 つ目のリンクのマルチキャストアドレス、ポート、TTL を設定している例です。

<cman>
   <multicast addr="239.192.99.73" port="666" ttl="2"/>
   <altmulticast addr="239.192.99.88" port="888" ttl="3"/>
</cman>