linux NICバインドbonding
4129 ワード
Bondingの目的は、システムの可用性を向上させ、物理的なネットワークポートや回線の単一の障害を防止することです. Linux環境がbondingをサポートしているかどうかを確認し、次のコマンド を実行します.
上に返される情報は、ライブラリファイル、バージョン、ライセンス、説明などがあり、bondingをサポートしていることを示しています(上記の情報がなければ、カーネルを再インストールまたはコンパイルする可能性があります). Linuxの下にロードバランシングの実行ファイル(ロードバランシングツール、bonding)があるかどうかをチェックし、次のコマンド を実行します. bondingドライバプロファイルを作成し、次のコマンド を実行します. ifcfg-eth 0 NICのプロパティ を変更 ifcfg-eth 0 NICのプロパティ を変更
以上の手順4、5は、NIC eth 0とNIC eth 1を仮想NIC bond 0にバインドし、NICを高可用性にする編集/etc/modprobe.d/bonding.confファイル、以下の内容 を加える
説明:modeはbond 0の動作モード(0-6モード)を指定し、通常は0、1、6、0と6が負荷等化方式、1が主従方式を表し、必要に応じて自分で配置することができる.よく使われるのは0,1,6の3種類です.mode=0は、load balancing(round-robin)が負荷等化方式であり、2つのNICが動作するが、bondingを行う2つのNICは同じMACアドレスを使用するため、NICに接続されたスイッチポートは特殊な構成をしなければならないことを示す.mode=1はfault-tolerance(active-backup)が冗長機能を提供していることを示し、動作方式はプライマリ・スタンバイの動作方式であり、つまりデフォルトでは1つのNICのみが動作し、もう1つはバックアップを行う.bondingは、ホストからスイッチへのリンクがオンになっているかどうかのリンクモニタリングのみを提供します.スイッチの外部リンクだけがダウンし、スイッチ自体が故障していない場合は、bondingはリンクに問題がないと判断して使用を継続します.miimonはリンクモニタリングに用いられる.例えば、miimon=80であれば、システムは100 msごとにリンク接続状態を監視し、1つの回線が通じない場合は別の回線に移行する.mode=6は、load balancing(round-robin)が負荷等化方式であり、2つのNICが動作することを示すが、bondingを行う2つのNICは異なるMACアドレスを使用するため、このモードではスイッチを構成する必要はない.加入/etc/rc.d/rc.local起動項目(オプション)[root@compute ~]# vi/etc/rc.d/rc.local ifenslave bond 0 eth 0 eth 1---このコマンド を最後に追加ネットワークを再起動[root@compute ~]# service network restart bonding状態情報をチェック[root@compute12 ~]# more/proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: load balancing (round-robin) MII Status: up MII Polling Interval (ms): 80 Up Delay (ms): 0 Down Delay (ms): 0
Slave Interface: eth0 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: a8:3a:72:ce:8a:9c Slave queue ID: 0
Slave Interface: eth1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: a8:3a:72:ce:7a:9d Slave queue ID: 0完了後にシステムを再起動し、ping 192.168.1.254テスト注意: すべてのethxx構成時にMACアドレスを削除する. NetworkMangerサービスを完全にオフにする必要があります.そうしないと、bondネットワークと競合します.service NetworkManger stop chkconfig NetworkManger off RHEL 6 Xバージョンの「/etc/modprobe.d/」ファイルの下に「bonding.conf」 を手動で新規作成複数のbongingファイル構成モードが一致しています.たとえば、[root@compute modprobe.d]# cat bonding.conf alias bond0 bonding alias bond1 bonding options bond0 miimon=80 mode=0 options bond1 miimon=80 mode=0
注:上記の「(必要)」は必ず内容が必要で、「(オプション)」は記入してもよいし、記入しなくてもよい
[root@compute ~]# modinfo bonding
filename: /lib/modules/2.6.32-431.el6.x86_64/kernel/drivers/net/bonding/bonding.ko
author: Thomas Davis, [email protected] and many others
description: Ethernet Channel Bonding Driver, v3.6.0
version: 3.6.0
license: GPL
srcversion: 353B1DC123506708446C57B
depends: 8021q,ipv6
vermagic: 2.6.32-431.el6.x86_64 SMP mod_unload modversions
上に返される情報は、ライブラリファイル、バージョン、ライセンス、説明などがあり、bondingをサポートしていることを示しています(上記の情報がなければ、カーネルを再インストールまたはコンパイルする可能性があります).
[root@compute ~]# which ifenslave
/sbin/ifenslave
[root@compute ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0
[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0 --- ( )
BOOTPROTO=static --- IP ( , =none )
BROADCAST=192.168.1.255 ---( )
IPADDR=192.168.1.10 ---( )
NETMASK=255.255.255.0 ---( )
GATEWAY=192.168.1.254 ---( )
NETWORK=192.168.1.0
ONBOOT=yes --- ( )
TYPE=Ethernet --- ( , )
USERCTL=no ---USERCTL=no root ( , )
[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
#HWADDR=00:0E:1E:8D:9B:40 --- , bonding
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0 ---MASTER=bond0 eth0 bond0 。
SLAVE=yes
USERCTL=no
[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
#HWADDR=00:0E:1E:8D:9B:41 --- , bonding
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0 ---MASTER=bond0 eth0 bond0 。
SLAVE=yes
USERCTL=no
以上の手順4、5は、NIC eth 0とNIC eth 1を仮想NIC bond 0にバインドし、NICを高可用性にする
[root@compute ~]# vi /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bond0 miimon=80 mode=0
説明:modeはbond 0の動作モード(0-6モード)を指定し、通常は0、1、6、0と6が負荷等化方式、1が主従方式を表し、必要に応じて自分で配置することができる.よく使われるのは0,1,6の3種類です.mode=0は、load balancing(round-robin)が負荷等化方式であり、2つのNICが動作するが、bondingを行う2つのNICは同じMACアドレスを使用するため、NICに接続されたスイッチポートは特殊な構成をしなければならないことを示す.mode=1はfault-tolerance(active-backup)が冗長機能を提供していることを示し、動作方式はプライマリ・スタンバイの動作方式であり、つまりデフォルトでは1つのNICのみが動作し、もう1つはバックアップを行う.bondingは、ホストからスイッチへのリンクがオンになっているかどうかのリンクモニタリングのみを提供します.スイッチの外部リンクだけがダウンし、スイッチ自体が故障していない場合は、bondingはリンクに問題がないと判断して使用を継続します.miimonはリンクモニタリングに用いられる.例えば、miimon=80であれば、システムは100 msごとにリンク接続状態を監視し、1つの回線が通じない場合は別の回線に移行する.mode=6は、load balancing(round-robin)が負荷等化方式であり、2つのNICが動作することを示すが、bondingを行う2つのNICは異なるMACアドレスを使用するため、このモードではスイッチを構成する必要はない.
Bonding Mode: load balancing (round-robin) MII Status: up MII Polling Interval (ms): 80 Up Delay (ms): 0 Down Delay (ms): 0
Slave Interface: eth0 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: a8:3a:72:ce:8a:9c Slave queue ID: 0
Slave Interface: eth1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: a8:3a:72:ce:7a:9d Slave queue ID: 0
注:上記の「(必要)」は必ず内容が必要で、「(オプション)」は記入してもよいし、記入しなくてもよい