- - PR -
1つのbondingに2つのIPアドレスを持たせることは可能ですか?
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-02-21 13:29
はじめて投稿させていただきます。
現在、Apacheのバーチャルホスト<バーチャルIP>を使用しようと考えています。 例としてバーチャルIPに 192.168.1.1 192.168.1.11 を設定することとします。 そこで、1枚のNICであれば、 /etc/sysconfig/network-scripts/ifcfg-eht0 のIPアドレス IPADDR=192.168.1.1 /etc/sysconfig/network-scripts/ifcfg-eth0:1 のIPアドレス IPADDR=192.168.1.2 として設定してあげれば問題なく動作することと考えます。 【本題】 2枚のNICになった場合です。 bondingの使用を考えており 設定は以下のとおりを考えています。 /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROT=none IPADDR=192.168.1.1 NETMASK=255.255.255.0 NETWORK=192.168.1.0 ONBOOT=yes USERCTL=no MACADDR=aa:bb:cc:dd:ee:ff /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none 【問題】 ここでbondingをした場合、1つのbondデバイスに2つのIPを持たせることは 可能でしょうか? つまり仮想IPのようにeth0:1のようにbond0:1を使用することは可能でしょうか? つまりは、1つのbondingを使用してApacheのバーチャルIP機能を使用することが できますでしょうか? よろしくお願い致します。 | ||||
|
投稿日時: 2007-02-21 22:15
確か可能です。
どこかのクラスタ製品はbond0に仮想IPを割り振ってたと記憶しています。 | ||||
|
投稿日時: 2007-02-21 22:24
こんばんわ.
はい,複数の IP address を持たせることが可能です. | ||||
|
投稿日時: 2007-02-22 09:21
kazさん、F/Aさん、ご回答ありがとうございます。
できそうなので、やってみようと思います。 ちなみにbond0:1を使用した際の設定は、以下のとおりを 考えています。 bond0:1の仮想化に伴って、eth0とeth1の仮想化(eth0:1,eth1:1) も行わないとですよね。 以上、問題ないでしょうか?また、ほかに注意するとこなど ありましたら、ご指摘を頂きたく思います。 よろしくお願いいたします。 ----bond0の設定------ /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROT=none IPADDR=192.168.1.1 NETMASK=255.255.255.0 NETWORK=192.168.1.0 ONBOOT=yes USERCTL=no MACADDR=aa:bb:cc:dd:ee:ff /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none ----bond1の設定------ /etc/sysconfig/network-scripts/ifcfg-bond0:1 DEVICE=bond0:1 BOOTPROT=none IPADDR=192.168.1.2 NETMASK=255.255.255.0 NETWORK=192.168.1.0 ONBOOT=yes USERCTL=no MACADDR=aa:bb:cc:dd:ee:ff /etc/sysconfig/network-scripts/ifcfg-eth0:1 DEVICE=eth0:1 USERCTL=no ONBOOT=yes MASTER=bond0:1 SLAVE=yes BOOTPROTO=none /etc/sysconfig/network-scripts/ifcfg-eth1:1 DEVICE=eth1:1 USERCTL=no ONBOOT=yes MASTER=bond0:1 SLAVE=yes BOOTPROTO=none | ||||
|
投稿日時: 2007-02-22 09:51
おはようございます。
eth0:1 と eth1:1 を bonding して bond0:1 を構成する、という考え方ではなく、eth0 と eth1 を bonding した bond0 に第二のアドレスを割り振る ( bond0:1 ) という考え方になると思いますので、bond0:1 の MACADDR や、eth0:1, eth1:1 等の設定はいらないように思いますが… ※XXX:1 は、セカンダリIPの付与であって、仮想化ではないですよね。 普段から、ifconfig(8)やroute(8)ではなく、ip(8)を使ってみた方が分かりやすいかも。 [ メッセージ編集済み 編集者: angel 編集日時 2007-02-22 10:13 ] | ||||
|
投稿日時: 2007-02-22 19:29
angelさん> ご返答、ありがとうございました。
大変、参考になります。 セカンダリIPの付与という考え方なのですね。 よくわかりました。IPコマンドを初めて知りました。 ちょっと調査してみます。 設定は、angelさんの助言を参考にさせていただき、 以下のようにしたいと思います。 ----bond0の設定------ /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROT=none IPADDR=192.168.1.1 NETMASK=255.255.255.0 NETWORK=192.168.1.0 ONBOOT=yes USERCTL=no MACADDR=aa:bb:cc:dd:ee:ff ----bond0:1の設定------ /etc/sysconfig/network-scripts/ifcfg-bond0:1 DEVICE=bond0:1 BOOTPROT=none IPADDR=192.168.1.2 NETMASK=255.255.255.0 NETWORK=192.168.1.0 ONBOOT=yes USERCTL=no /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none | ||||
|
投稿日時: 2007-05-08 11:45
今回は4つのポートで2つのbonding設定を行いました。
その際に注意が必要な箇所がありました。 /etc/modprobe.conf に、ドライバとしてaliasを定義しますが、2つのbondingを行う際には、 以下のようにしないと、2つ目のbondingが認識されません。 【駄目な例】 alias bond0 bonding alias bond1 bonding 【成功例】 install bond0 /sbin/modprobe bonding -o bond0 arp_ip_target=xxx.xxx.xxx.xxx arp_interval=1000 mode=1 primary=eth0 install bond1 /sbin/modprobe bonding -o bond1 arp_ip_target=xxx.xxx.xxx.xxx arp_interval=1000 mode=1 primary=eth1 なぜこの設定にしなければならないとの原因はわかっておらず、調査中です。 | ||||
|
投稿日時: 2007-05-08 12:19
こんにちわ.
RHEL4 であれば, alias bond0 bonding alias bond1 bonding と書いてから,一つ目(bond0)は options 〜 二つ目(bond1)は install 〜 と書けばよろしいのではないでしょうか? |