OSによるパブリックネットワークの冗長化
OSによるパブリックネットワークの冗長化
ネットワークの冗長化をはかる手段としては、2つの方法があげられる。
1つはOSやハードウェアベンダーが提供するドライバを利用して、デバイスのチーミングを行う方法、もう1つはLifeKeeperのバックアップインターフェース機能を用いる方法である。
OSやベンダーのドライバを利用する場合は、作成したチーミングデバイスをLifeKeeperが正しく扱えるかどうかに注意しなければならない。 ちなみに、現在までに動作報告のあるものとしては、LinuxのBondingドライバ、BASP(Broadcom Advanced Server Program)、インテル社のiANSドライバを用いたチーミングがある。しかし、これらのドライバによるチーミングデバイスの動作については、 LifeKeeperの開発元は保証していない点に注意してほしい。
LifeKeeperがこれらのチーミングデバイスを操作できるかどうかは、単純にeth*と同じように扱えるかどうかが鍵となる。パブリックネッ トワークの冗長化は、言い換えればLifeKeeperの仮想IPリソースにバインドするNIC(ネットワークインターフェースカード)を冗長化するとい うことである。
つまりLifeKeeperによる仮想IPリソースの制御が、チーミングされたデバイス上でも問題なく適用できれば動作可能といえる。このことを事 前に確認するには、LifeKeeperがどのようにIPリソースを制御しているのかについて知る必要がある。そこで、次にIPリソースの制御についてま とめたものを記載する。
IPリソースの制御
前述のように、チーミングデバイスをeth*と同様にと同様に扱うことができれば、LifeKeeperも同じように制御することができる。LifeKeeperによるeth*の操作は次項に述べる要領で行う。
IPリソースの起動
LifeKeeperはIPリソースを起動する際に、以下のコマンドを実行する。
$IFCONFIG $EN0:$LOGIF $THE_IP netmask 0x$NETMASK broadcast $BCAST_IP up これらの変数を展開すると、以下のようなコマンドとなる。
コマンドの例
ifconfig bond0:1 192.168.0.99 netmask 0xffffff00 broadcast 192.168.0.255 upIPリソースの停止
停止の場合は、以下のコマンドを実行する。
$IFCONFIG $EN0:$LOGIF downIPリソースのチェック
IPリソースのチェックは以下のコマンドで行う。
$PING $BCAST -b -n -c1 -w10 -I $ADDR $IPLIST > /dev/null 2>&1 これらの変数を展開すると、以下のようなコマンドとなる。
コマンドの例
/opt/LifeKeeper/bin/lkping 192.168.0.255 -b -c1 -w10 -I bond0:1 -z IPアドレス,IPアドレス,… lkpingコマンドはLifeKeeper用にカスタマイズされたpingコマンドで、基本的には通常のpingコマンドと同等と考えていただい て差し支えない。このコマンドは、仮想IPリソースの所属するセグメントに対してブロードキャストpingを実行し、その応答を受け取ることで仮想IPリ ソースが有効かを判断している。
-zオプションは、ブロードキャストpingに対する応答の受信を除外するものであり、除外するアドレスの一覧を「,(カンマ)」で区切ってリスト する。これは自分から自分への応答を除外する目的で使用され、通常は自分自身に設定されたすべてのIPアドレスがリストされる。
IPリソースを扱う上で最も重要な点は、このブロードキャストpingの応答を正しく受け取ることができるかどうかだ。このチェックはIPリソース の作成や起動、またローカルリカバリの後にも実行される。bondingデバイス上でIPリソースが正しく動作しないといった場合は、先に解説したコマン ドを手動で実行し、その成否を確認することで問題の切り分けの一助としていただきたい。
LifeKeeperによるパブリックネットワークの冗長化
LifeKeeperには仮想IPアドレスを単体のサーバで冗長化する機能が備わっている。この機能はバックアップインターフェースと呼ばれ、仮想 IPリソースを作成する際に、"Backup Interface"の項目で予備のインターフェースを指定することで作成される。なおIPリソースの作成については、「第3回:LifeKeeper for Linuxの操作」で紹介しているため、ここでは割愛させていただく。
バックアップインターフェースの機能を表3にまとめる。
- バックアップインターフェースは通常時、停止しており、アクティブなNICに問題が生じた際に、バックアップインターフェースは有効となる
- ロードバランシング機能は持たない
- OS側に特別なドライバなどは必要としない。またNICの種類に依存せず利用することができる
バックアップインターフェース(eth1とする)が有効になった場合、元々使われていたインターフェース(eth0とする)はdown状態となる。
またこの状態でeth1に障害が生じた場合は、eth0への切り替えを試みる。さらにeth0上で仮想IPリソースを有効にすることができなかった場合は、バックアップノードへフェイルオーバーを行う。この動作を図であらわすと図2のようになる。
注意事項として、バックアップインターフェースは平常時には停止していなければならないため、OSの起動に伴う自動起動は無効としなければならない。
