- blogs:
- cles::blog

Linuxで複数のNICを束ねて使う


先日、ファイルサーバに使っているマシンにNICが余っていたので、bondingを使ってNICの負荷分散したので忘れないうちにメモ。
RHELやCentOSで設定する際にはIBMから公開されている「IBM Linux at IBM | Bonding ドライバー利用ガイド for RHEL5」を参照すると楽です。
bondingの設定自体はLinuxの設定に慣れていればそんなに難しくないのですが、面倒だったのは動作モードが7種類もあったこと。
0(balance-rr): ラウンドロビンでパケットを送信。送信のみ負荷分散。
1(active-backup): 障害時のみバックアップに切り換えて受送信。冗長化のみ。
2(balance-xor): MACアドレスを使ってNICを決定して負荷分散。送信のみ負荷分散。
3(broadcast): 全てのNICから伝送。通常のネットワーク構成では使えない。
4(802.3ad): IEEE802.3adで負荷分散
5(balance-tlb): NICの負荷に応じて送信NICを決定。送信のみ負荷分散。
6(balance-alb): balance-tlbに加えて、受信についても負荷分散。
このうち、3は通常のネットワーク構成では利用できず、0,2,4はスイッチ側がTrunking(4の場合は802.3ad)をサポートしていなければならないと記載されているので今回は対象外。1は複数のNICがアクティブにならず、スループットの向上が望めないのでこれもパス。となると、消去法で残ったのは5と6ですが、今回は受信の負荷分散する必要がなさそうなのでbalance-tlbを使うことにしました。
以下、設定メモです。
† 設定手順
bond0を使えるようにするためにmodprobe.confに下記の2行を追加。
/etc/modprobe.conf
bond0の設定をnetwork-scriptsに作る。
/etc/sysconfig/network-scripts/ifcfg-bond0
bond0に参加させるNICの設定を下記のように書き換える。
基本的にはNETMASKやIPADDRを消して、SLAVE=yes, MASTER=bond0を追加する感じ。
/etc/sysconfig/network-scripts/ifcfg-ethX
あとは /etc/init.d/network restart を叩くだけ。
設定の確認は cat /proc/net/bonding/bond0 からできます。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3736
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . Word で数式がグレーアウトされていて挿入できないときは(6756)
3 . Windows 10 で勝手にログアウトされないようにする(5161)
4 . Firefox でパスワードが保存されるページとされないページの違い(3909)
5 . awk で指定した n カラム目以降を出力する(3484)