SSブログ

3チャネルボンディング(チーミング) 3ギガ出るかやってみた [PC関係]

本日はIntelのDual port EthernetとRealtekのオンボードEthernetで3チャネルをボンディング(チーミング)してみた話題である。

リンクアグリ対応のL2SWを導入したものの、パフォーマンスアップの効果がないのなら無駄なのでちょっと調べてみよう、と言うのが趣旨である。
Dualポートで2チャンネルでのリンクアグリには成功している。これにもうひとつEthernetポートを追加して、3チャンネルでリンクアグリさせて見るのである。

Linuxマシンのサーバをメンテ中である。眠っているDualポートのEthernetカードを導入してネットワーク機能を強化しようと考えた。ビデオカードを引っこ抜かなければならないが、サーバで動画を再生することなんてないので、オンボードのビデオで十分と判断。
PCI Express x16のスロットからビデオカードを引っこ抜いてDualポートのEthernetカードを突っ込んだ。

lspciでEthernet I/Fを確認

[asai@homesrv ~]$ lspci
01:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06)
01:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)


ちゃんと認識したよ。

ifconfigでもI/Fを確認

[asai@homesrv ~]$ ifconfig -a
enp1s0f0: flags=6211  mtu 1500
        RX packets 84  bytes 12069 (11.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 110  bytes 12696 (12.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xa13a0000-a13c0000

enp1s0f1: flags=6211  mtu 1500
        RX packets 195  bytes 20495 (20.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 78  bytes 10625 (10.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 17  memory 0xa1340000-a1360000

enp2s0: flags=6211  mtu 1500
        RX packets 41  bytes 4933 (4.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 279  bytes 49219 (48.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


MACアドレスのところは削除した。
ちゃんとI/Fもある。
じゃあ設定をしていくのである。NetworkManagerは殺してあるので、設定ファイルでの設定をしていく。

/etc/sysconfig/network-scriptsに各I/F用の設定ファイルを作成

[asai@homesrv network-scripts]$ cat ifcfg-enp1s0f0
TYPE=Ethernet
BOOTPROTO=none
DEVICE=enp1s0f0
NAME=enp1s0f0
ONBOOT=yes
MASTER=bond0
SLAVE=yes

[asai@homesrv network-scripts]$ cat ifcfg-enp1s0f1
TYPE=Ethernet
BOOTPROTO=none
DEVICE=enp1s0f1
NAME=enp1s0f1
ONBOOT=yes
MASTER=bond0
SLAVE=yes

[asai@homesrv network-scripts]$ cat ifcfg-enp2s0
TYPE=Ethernet
BOOTPROTO=none
DEVICE=enp2s0
NAME=enp2s0
ONBOOT=yes
MASTER=bond0
SLAVE=yes


次にbonding用のインターフェースbond0を作成する。
まずは、カーネルモジュールロード用の設定ファイル/etc/modprobe.d/bond.confを作成。

[asai@homesrv modprobe.d]$ cat bond.conf
alias bond0 bonding
options bond0 miimon=100 mode=2


mode=2はbalance-xor。
mode=4(LACP)はSWが対応していないので通信できないと思われる。

L2SWのLAG設定を行う。

2018-08-25.png

ポートが3つ。ムフフ

端末3台を使ってファイルコピーして負荷をかける。

Screenshot from 2018-08-25 10-27-51.png

235Mbyte/sで頭打ち。235*8=1880Mbpsなので2Gくらいか。
端末も3台用意している。
3ポートなので、理論上は3G近くにいくはず。

mode=6 に変更

L2SWのLAGを無効にしないと起動しない。

Screenshot from 2018-08-25 10-43-53.png

400Mbyte/sまで行った。
これでよしとするか。でもL2SWの設定がなんかモヤモヤする。
安定していない感じもあるし。400Mも出てよいのか?

mode=2 に変更
xmit_hash_policyを2にしてみた。

[asai@homesrv modprobe.d]$ cat bond.conf
alias bond0 bonding
options bond0 miimon=100 mode=2 xmit_hash_policy=2


L2SWのLAG設定も有効にした。

Screenshot from 2018-08-25 10-55-28.png

安定して320Mbyte/s出た!
320*8=2560Mbps。おお2Gを超えたぞ!

やったね!

xmit_hash_policyは

 0 layer2:送信元MAC/宛先MAC
 1 layer3+4:送信元IP&port/宛先IP&port
 2 layer2+3:送信元MAC&IP/宛先MAC&IP

ということらしい。
全部同一セグメント内の端末なので2の設定にしないとうまく負荷分散できない模様。
端末の関係上、Windowsファイル共有とかNFSとか端末によりポートは変わっているかも。

まぁでもね。
あまりこういった複数台数から大きなファイルコピーっていう作業も発生してないし。やっぱり自己満足の世界だなぁ。

3ポート使って通信している様子を動画に撮ってみたので参考までに載せておく。



こうなってくると4ポートにも挑戦したくなってきた。Ethernet Quadのカードはまだ高いか?




1万円くらいならやってみる?
誰かがくれたらやってみるかも。



サイト内を検索

nice!(1)  コメント(0) 
共通テーマ:携帯コンテンツ


Copyright Atsushi Asai Google+朝井淳
[改訂第4版]SQLポケットリファレンス

[改訂第4版]SQLポケットリファレンス

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/02/18
  • メディア: 単行本(ソフトカバー)

イラストで理解 SQL はじめて入門

イラストで理解 SQL はじめて入門

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2019/05/16
  • メディア: 単行本(ソフトカバー)

[データベースの気持ちがわかる]SQLはじめの一歩 (WEB+DB PRESS plus)

[データベースの気持ちがわかる]SQLはじめの一歩 (WEB+DB PRESS plus)

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2015/03/03
  • メディア: 単行本(ソフトカバー)

Access クエリ 徹底活用ガイド ~仕事の現場で即使える

Access クエリ 徹底活用ガイド ~仕事の現場で即使える

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2018/05/25
  • メディア: 大型本