Jump to content 日本-日本語
製品  >  ソフトウェア  >  Linux

bondingドライバ v1.0.4g-1ビルド・利用方法ドキュメント

Open Source & Linux

導入事例

product

ハードウェア
ソフトウェア
サービス & サポート

buy now?

HPE OPEN SERVICES
保守サービス
教育プログラム

support

OS対応表
ProLiant
Workstation
システム構成図
技術文書
FAQ
ディストリ対応表
サポート & ドライバ
リンク
SDR - 設定方法
FreeBSD
サイトマップ
HPE & Red Hat情報ポータル HPEとRed Hatが実現するオープンなイノベーション
BSD 動作確認レポート等を掲載
コンテンツに進む
revised 29-NOV-04
 本ページに記載してある内容は限られた評価環境に於ける検証結果に基づいたものです。本ページの情報を利用する前に予めサイト内リンク技術情報サイト内リンク保証について、ディストリビュータが提供する WEBサイト等をご覧ください。

bondingドライバについて

 bondingドライバは、複数の Ethernetコントローラを仮想的にまとめて、耐障害性機能を付与するチーミングツールです。

本バージョンでの主な変更点について

  • HPオフィシャルリリースドライバソースにinitscriptsパッケージが追加されています
  • RedHatの利用例が変更されています

既知の問題

 ローエンドのスイッチングハブを使用した時、ネットワークがフェイルオーバした際、速度・デュプレックスが意図したものにならない場合があります。この問題については、Intel発行の e1000用 release notesに記載がある IO-DATA製 ETG-SH8 スイッチングハブと Intel(R) PRO/1000の組み合わせを実際にHP社内で利用し、問題が発生するのを確認しています。そのため、ローエンドのスイッチングハブでbondingドライバを利用する時には下記のネットワークドライバの速度・デュプレックスをオプション指定して固定する事をお勧めします。

 以下は、各ネットワークドライバ毎の /etc/modules.conf に指定するオプションの例です。各オプションの詳細はネットワークドライバのオンラインマニュアルを参照してください。

e100: eth0を 10Mbps/half、eth1を 100Mbps/full-duplex固定に設定する例
alias eth0 e100
alias eth1 e100
options e100 e100_speed_duplex=1,4
e1000: eth0を 100Mbps/half-dupex、eth1を 1000Mbps/full-duplex固定に設定する例
alias eth0 e1000
alias eth1 e1000
options e1000 Speed=100,1000 Duplex=1,2
bcm5700: eth0を 100Mbps/half-dupex、eth1を 1000Mbps/full-duplex固定に設定する例
alias eth0 bcm5700
alias eth1 bcm5700
options bcm5700 line_speed=100,1000 full_duplex=0,1 auto_speed=0,0

動作確認済み Ethernetモジュールについて

e100.o v2.3.27a
e1000.o v5.2.16a
bcm5700.o v7.1.9c

動作確認済みディストリビューション

Miracle Linux Standard Edition V2.1/errata 2.4.9-e.25.46ml
Red Hat Linux 7.2
Red Hat Linux 7.2/errata 2.4.20-28
Red Hat Linux 7.3
Red Hat Linux 8.0
Red Hat Linux 2.1AS
Red Hat Linux 2.1AS&ES/errata 2.4.9-e.12
Red Hat Linux 2.1ES
Red Hat Linux 2.1AS&ES/errata 2.4.9-e.24
Red Hat Linux 2.1AS&ES/errata 2.4.9-e.34
Red Hat Linux 2.1AS&ES/errata 2.4.9-e.35
Red Hat Linux 2.1AS&ES/errata 2.4.9-e.38
Red Hat Linux 2.1AS&ES/errata 2.4.9-e.40
Red Hat Linux 3AS&ES&WS/errata 2.4.21-9
SUSE Enterprise 8/United Linux 1.0 (SP2a)*
SUSE Enterprise 8/United Linux 1.0 (SP3)*
Turbolinux 8SE
*起動スクリプトの作成が必要(“利用例を参照”)

HPオフィシャルリリースドライバソース

 ネットワークドライバは適時、最新のものにアップデートしてください。詳細はサイト内リンクこちらをご覧ください。bondingドライバは下記を利用してビルドします。

 RedHatで bondingドライバを利用する場合、bonding関連の数々のバグが修正された最新の initscriptsパッケージにアップデートする必要があります。
HP Tested and Approved Linux Bonding Driver
FILE RPMbonding-1.0.4g-1.src.rpm(ftp-JPN)サイト外リンク(ftp-US)
52K 23-JAN-04
追記 TEXTrelease,TEXTbonding.txt

対応ディストリビューション、ビルド方法

Red Hat, Miracleの場合
#cd /usr/src/linux-<kernel_version>
#make mrproper
#make -e KERNELRELEASE=`uname -r` oldconfig
#make -e KERNELRELEASE=`uname -r` dep
#rpm -ivh bonding-1.0.4g-1.src.rpm
#cd /usr/src/redhat
#rpmbuild -bb SPECS/bonding.spec
# rpm -ivh RPMS/i386/bonding-1.0.4g-1.i386.rpm
SUSE8/United Linux 1.0の場合
# cd /usr/src/linux-<kernel_version>
# make mrproper
# make cloneconfig
# make dep

# rpm -ivh bonding-1.0.4g-1.src.rpm
# cd /usr/src/packages
# rpm -bb SPECS/bonding.spec
# rpm -ivh RPMS/i386/bonding-1.0.4g-1.i386.rpm --force

Turbolinux 7/8 Serverの場合
#cd /usr/src/linux-<kernel_version>
#./StepkernelSource.sh i586
 利用環境により 'i586smp'等を指定
#rpm -ivh bonding-1.0.4g-1.src.rpm
#cd /var/src/rpm
#rpmbuild -bb SPECS/bonding.spec
#rpm -ivh RPMS/i586/bonding-1.0.4g-1.i586.rpm --force
旧バージョンのパッケージがインストールされている場合、パッケージをuninstallしてからビルドしてください
ディストリビューション、errata kernelの違いによりディレクトリ構成が異なる場合があります

利用例: active-backup(アクティブバックアップ)

注意

bonding driverのオプション(/etc/modules.conf)を変更した場合、単にネットワークを再起動(/etc/init.d/network restart等)しただけではロードされているbonding driverに設定が反映されず、以前の設定のままでbonding driverが動作し続けます。このような事態を防止するため、/etc/modules.confを変更したら、必ずrebootするか、bonding driverをアンロードして最新の設定を反映させてください。

rebootしない場合の手順

# /etc/init.d/network stop
# rmmod bonding e100 e1000 bcm5700  ← slave device の NIC driverも一緒にアンロードします
# /etc/init.d/network start


Red Hat, Miracle, Turbolinuxの場合 SUSE8/United Linux 1.0の場合
#vi /etc/modules.conf
alias bond0 bonding
options bonding arp_interval=1000 arp_ip_target=192.168.1.1 mode=1

#vi /etc/sysconfig/network-scripts/ifcfg-bond0
  DEVICE=bond0
  IPADDR=192.168.1.101
  NETMASK=255.255.255.0
  NETWORK=192.168.1.0
  BROADCAST=192.168.1.255
  ONBOOT=yes
  BOOTPROTO=none
  USERCTL=no
  GATEWAY=192.168.1.254 (←デフォルトゲートウェイ設定時にのみ記述)
  MACADDR=00:01:02:03:04:05(←プライマリのNICのMACアドレスを指定、デフォルトゲートウェイを設定しないなら不要)

#vi /etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=eth0
  ONBOOT=yes
  BOOTPROTO=none
  MASTER=bond0
  SLAVE=yes
  USERCTL=no

#vi /etc/sysconfig/network-scripts/ifcfg-eth1
  DEVICE=eth1
  ONBOOT=yes
  BOOTPROTO=none
  MASTER=bond0
  SLAVE=yes
  USERCTL=no

#shutdown -r now

#cat /proc/net/bond0/info
  Bonding Mode: fault-tolerance (active-backup)
Currently Active Slave: eth1
  MII Status: up
  MII Polling Interval (ms): 0
  Up Delay (ms): 0
  Down Delay (ms): 0
  Multicast Mode: all slaves

  Slave Interface: eth1
  MII Status: up
  Link Failure Count: 1

  Slave Interface: eth0
  MII Status: up
  Link Failure Count: 1

#
 [ケーブルを抜いて別マシンからpingを通してみる]

#vi /etc/modules.conf
alias bond0 bonding
options bonding arp_interval=1000 arp_ip_target=192.168.1.1

#vi /etc/sysconfig/network/ifcfg-bond0
  DEVICE=bond0
  IPADDR=192.168.1.101
  NETMASK=255.255.255.0
  NETWORK=192.168.1.0
  BROADCAST=192.168.1.255
  STARTMODE=onboot
  BOOTPROTO=static
  USERCTL=no
  LLADDR=00:01:02:03:04:05(←プライマのNICのMACアドレスを指定)

#vi /etc/sysconfig/network/ifcfg-eth0
  DEVICE=eth0
  STARTMODE=onboot
  BOOTPROTO=static
  MASTER=bond0
  SLAVE=yes
  USERCTL=no

#vi /etc/sysconfig/network/ifcfg-eth1
  DEVICE=eth1
  STARTMODE=onboot
  BOOTPROTO=static
  MASTER=bond0
  SLAVE=yes
  USERCTL=no

以下の例を参考にした 起動スクリプトを runlevelに対応した /etc/rc.dディレクトリ配下に作成する...

  #!/bin/sh

  /sbin/ifenslave bond0 eth0 eth1

#shutdown -r now

#cat /proc/net/bond0/info
  Bonding Mode: fault-tolerance (active-backup)
Currently Active Slave: eth1
  MII Status: up
  MII Polling Interval (ms): 0
  Up Delay (ms): 0
  Down Delay (ms): 0
  Multicast Mode: all slaves

  Slave Interface: eth1
  MII Status: up
  Link Failure Count: 1

  Slave Interface: eth0
  MII Status: up
  Link Failure Count: 1

#
 [ケーブルを抜いて別マシンからpingを通してみる]

bonding interfaceスタートアップ時のワーニングについて

 Red Hat系ディストリビューションで bonding deviceを利用した時、bonding interfaceスタートアップ時にワーニングメッセージが出力される場合があります。この現象は、特定の initscripts version のネットワーク起動スクリプトとの組み合わせによって発生しますが、teaming機能に影響はありません。この現象が確認されている initscriptの組み合わせは以下の通りです。
  • Red Hat EL3 + initscripts-7.31.16.EL-1未満
  • Red Hat EL2.1 + initscripts-6.47.5-1 〜 6.47.8-1
  • Miracle Linux V3.0 + 全ての initscripts version
 ネットワーク起動スクリプトの違いは、こちらのサイト内リンクダイアグラムをご覧ください。

bonding device利用時デフォルトゲートウェイが設定されない問題

 bondingドライバ利用時に deafult gatewayが設定されない問題が発生する場合があります。この問題は、ディストリビューションのネットワーク起動スクリプトと ifenslaveコマンドの処理に依存します。この問題が確認された環境と回避策は以下の通りです。ネットワーク起動スクリプトの違いについては、こちらのサイト内リンクダイアグラムをご覧ください。

  【問題が確認された環境】
  • Red Hat7 + 全ての initscripts version
  • Red Hat8 + 全ての initscripts version
  • Red Hat EL2.1 + initscripts-6.47.1未満
  • Red Hat EL2.1 + initscripts-6.47.10-1
  • Red Hat EL3 + initscripts-7.31.16.EL-1未満
  • MC21SE + 全ての initscripts version
  【回避策】
  • bonding設定ファイル(例:ifcfg-bond0)の MACADDRに MACアドレスを設定する
  • default gatewayを設定するネットワーク起動スクリプトを追加する

SUSE Enterprise 8/United Linux 1.0のスクリプトの違いについて

 SUSE Enterprise 8/United Linux 1.0のネットワーク起動スクリプトは、bonding interfaceについて全く考慮されていません。 このため bonding利用時に SUSE Enterprise 8/United Linux 1.0では、bonding interfaceの設定を行うネットワーク起動スクリプトを追加する必要があります。

詳細な情報について

 利用方法、制限事項等についての詳細は前記の'追記'をご覧ください。
印刷用画面へ印刷用画面へ
プライバシー ご利用条件・免責事項