システム接続用のIPを冗長化したい
Question
先日、IBM i(AS400)のリプレイスに伴い、システムにLANカードを2枚導入しました。
それぞれのポートにIPアドレスを割り振り、片方のカードが故障などでエラーとなっても、もう片方のIPアドレスに接続することで、システムに接続できるようにするためです。
ファイル受信はメインで接続するIPアドレス(およびそのポート)に対して行っている為、 カードの故障などでエラーになった場合には、もう片方のカードのポートに切り替えるという操作を、プログラムでハンドリングさせるなど必要があるのかと検討しましたが、非常に手間が掛かりそうです。
簡単にTCP/IPを冗長化する手段は無いのでしょうか。
Answer
IBM i(AS400)には、チーミングという、複数の実IPを、1つの仮想IPであるかのように動作させる方法があります。
今回は2枚のLANカードを導入しているため、カードAとBとし、それぞれをどのように構成するかを考えていきます。 ※今回はSystemiナビゲーターを用いた方法として説明します。
- IPデータグラムの転送を使用可能にする。
コマンド CHGTCPA IPDTGFWD(*YES) を実行
- 実IPアドレスの回線記述作成
それぞれのLANカード(ポート)に同セグメントにて別のIPを割り振ります。
例:
- 回線記述:ETHLINEA IP:10.4.0.A/255.255.255.0
- 回線記述:ETHLINEB IP:10.4.0.B/255.255.255.0
- 仮想IPアドレスの回線記述作成 ※System i ナビゲーターを使用
① [ネットワーク]→[TCP/IP構成]→[IPv4]→[インターフェース]を右クリック →[新規インターフェース]→[仮想IP]を選択し、ウィザードに従い記述作成
例:
- 回線記述:*VIRTUALIP ※記述名は自動作成されますIP:10.4.0.C/255.255.255.255
② ARPを使用可能に設定
①で作成した記述を右クリック→[プロパティ] [拡張]タブ内の[プロキシーARPの使用可能可]にチェックを入れ[OK]
- 実IPを仮想IPへ関連付け
実IP(10.4.0.A、B)を右クリック→[プロパティ] [拡張]タブ内の[関連ローカルインターフェース]で仮想IP(10.4.0.C)を選択→[OK]
- 実IP、仮想IPの順でTCP/IPサービスを開始
端末は仮想IP(10.4.0.C)を指定します。もちろん実IPを指定してもつながります。
手順としては以上となります。
ETHの冗長化を行う事は、昨今のネットワークにつながるのが当たり前なシステムにとって非常に重要となります。
余談ですが、この技術は負荷分散をする目的では利用できません。片方は基本的にホットスタンバイ状態となります。
by 大熊猫橋