Redhatサーバへのbonding設定
会社に転がっている
OS:RedHat Enterprise Linux ES3 Update9
HW:IBM system x3550
といったスペックの検証用サーバに、bondigによるNIC冗長化をしたのでメモを。
検索したら沢山出てきますし、はっきりいってここの方がまとまっていて大変わかりやすいですが、自分でやって確かめたのでメモです。
■前提
192.168.0.1というIPアドレスが上がっているネットワークインターフェース
(NIC)である、「eth0」を未使用のNICである「eth1」を使って冗長化する。
■手順
1./etc/modules.confの編集
編集前は以下の通り。
# cat modules.conf alias eth0 bnx2 alias eth1 bnx2 alias scsi_hostadapter aacraid alias usb-controller usb-uhci alias usb-controller1 ehci-hcd
これに以下を追記
alias bond0 bonding options bond0 miimon=100 mode=1 primary=eth0
optionsの意味は、
NIC監視間隔を100ミリ秒とし、モード1(ホットスタンバイ)でeth0をプライマリ
(主に使うNIC)として設定する
という意味
編集後は以下の通り。
alias eth0 bnx2 alias eth1 bnx2 alias scsi_hostadapter aacraid alias usb-controller usb-uhci alias usb-controller1 ehci-hcd #20080521 for bond alias bond0 bonding options bond0 miimon=100 mode=1 primary=eth0
2.NIC設定ファイルの設定
まずeth0の設定ファイルifcfg-eth0を編集します。
編集前は以下の通り。
# cd /etc/sysconfig/network-scripts # cat ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.0.1 NETMASK=255.255.255.0 HWADDR=xx:xx:xx:xx:xx:xx ONBOOT=yes TYPE=Ethernet
このファイルに記述を追加します。
# vi ifcfg-eth0
以下を追加
MASTER=bond0 SLAVE=yes
編集後は以下の通り。
DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.0.1 NETMASK=255.255.255.0 HWADDR=xx:xx:xx:xx:xx:xx ONBOOT=yes TYPE=Ethernet MASTER=bond0 SLAVE=yes
次にeth1の設定ファイルifcfg-eth1を編集します。
編集前は以下の通り。
# cd /etc/sysconfig/network-scripts # cat ifcfg-eth1 DEVICE=eth1 BOOTPROTO=dhcp HWADDR=xx:xx:xx:xx:xx:xx TYPE=Ethernet ONBOOT=no
このファイルに記述を追加します。
# vi ifcfg-eth1
以下を追加
MASTER=bond0 SLAVE=yes
さらに、必要ないとは思いますがdhcpの記述も直しました。
よって編集後は以下の通り。
DEVICE=eth1 BOOTPROTO=static HWADDR=xx:xx:xx:xx:xx:xx TYPE=Ethernet ONBOOT=no MASTER=bond0 SLAVE=yes
3.bond設定ファイルの作成
bond設定ファイルifcfg-bond0を作成します。
# cd /etc/sysconfig/network-scripts # vi ifcfg-bond0
以下の記述を行う。
DEVICE=bond0 BOOTPROTO=static IPADDR=192.168.0.1 NETMASK=255.255.255.0 ONBOOT=yes TYPE=Ethernet
4.ネットワークサービスの再起動
スーパユーザで以下のコマンドを実施
# service network restart
設定が変わったことを確認します。(bond0というNICが表示される)
# ifconfig -a bond0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx ・ ・ ・
切り替わりは/proc/net/bonding/bond0に表示されるのでこれを参照する。
# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v2.6.0 (January 14, 2004) Bonding Mode: fault-tolerance (active-backup) Primary Slave: eth0 Currently Active Slave: eth0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: xx:xx:xx:xx:xx:xx Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: xx:xx:xx:xx:xx:xx
ケーブル抜き差しして切り替わりを確認する。
eth0側ケーブルを抜くと、eth1を使用して通信します。
eth0側ケーブルを再度挿すと、eth0に切り替わります。
では。