UJP - ボンディングしてみた その4 成功はしたが

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

ブログ - ボンディングしてみた その4 成功はしたが

ボンディングしてみた その4 成功はしたが

カテゴリ : 
Apple » Mac Pro 2013
ブロガー : 
ujpblog 2023/12/14 18:44
 元々は,家の中のmacOS同士でファイルのコピーをする際にとても遅いので速くしたいと考えた.
 Wi-Fiだから遅いだろうと思い,使ってないEthernetポートを使おうと.そしてネットワークの高速化技術にボンディング,チーミング,トランクなどと呼ばれる技術があることはぼんやりと知っていた.

 まず最初にEthernetポートを2つ持っているMac Pro 2013でbondingの設定してみた.使っていたスイッチがリンクアグリゲーションIEEE 802.3adに対応してなかったので失敗.
 次に写真とか動画とかのメディア用ファイルサーバとして使っているmac mini 2014にThunderbolt Ethernet Adapterを付けてEthernetを2本にしてリンクアグリゲーションに対応しているスイッチを繋げたことで,macOS側でボンディング接続できた.

 ただこれだけだと1つのmacがつながっているだけなので速度アップの効果は体感できないので,mac mini 2014とMac Pro 2013をリンクアグリゲーションに対応しているスイッチに接続してみた.

 すると,1つ目のmacを繋げたときは正常に動作するけど,2つ目のmacをつなげると通信できなくなる.使っているスイッチのPanasonic Switch-M8eG(PN28080K)ではLOOP DETECTIONのLEDとLOOP HISTORYのLEDが点滅していて,ループを検知している.
 ループを検知したポートを見ると,2台目のmacの1つ目と2つ目のEthernet接続.
 man ifconfigで確認すると次のような記述が.
引用:
If the interface is a bond pseudo device, this option will set the mode on the bond interface.
The two currently supported modes are lacp and static. The default mode is lacp.

インタフェースがボンド擬似デバイスの場合、このオプションはボンドインタフェースのモードを設定する。
現在サポートされているモードは lacp と static の2つである。 デフォルトのモードは lacp である。


To enable static mode (and turn off LACP), specify static. In static mode, a member interface is made an active part of the link aggregate as long as the link status is active.

static モードを有効にするには(LACP をオフにするには)、static を指定する。 スタティック・モードでは、リンク・ステータスがアクティブである限り、メンバ・インタフェースはリンク・アグリゲートのアクティブな一部となる。
 macOSのMontereyで対応しているのはlacpとstaticの2つ.デフォルトではlacpになる.
 リンクアグリゲーションって色々あるようだけど,Intel PROSetでチームを構成する際に選べるモードから調べたら次のようなものがある模様.
        IEEE802.3ad 動的リンク・アグリゲーション
            802.3ad DYNAMICに対応したスイッチが必要.
        アダプター.フォールト・トレランス(AFT)
            障害が起きたアダプタのMACアドレスとL3アドレスをフェールオーバーさせる.
            同一のスイッチに接続する必要がある.
        アダプティブ・ロードバランシング(ALB)
            2ポートから8ポートを経由して複数の宛先アドレスを送信できるようにする.
            AFT機能も含まれる.
            複数のスイッチに接続することもできる.
        スイッチ・フォールト・トレランス(SFT)
            2つのスイッチに接続されている2つのアダプタを利用.
            アダプタかスイッチが故障した時に切り替わる.
        静的リンク・アグリゲーション
            スイッチ側のリンクアグリゲーション機能を利用する.
            802.3adに対応したスイッチを利用する必要がある.
 これでいうとmacOSで実装しているLACPモードは「802.3ad DYNAMICに対応したスイッチが必要」で,staticの「静的リンク・アグリゲーション」はスイッチ側でリンクアグリゲーションの設定が必要とある.

 状況から,macOS側はlacpで動的リンク・アグリゲーションだけど使っているスイッチのPanasonic Switch-M8eG(PN28080K)は802.3ad DYNAMICに非対応の模様.
 そこで使っているスイッチのPanasonic Switch-M8eG(PN28080K)でリンクアグリゲーションの設定でtrunk Groupを作成して再度接続してみたけど動作せず,結局macOS側でbondmodeをstaticに変更することで対応できました.
$ sudo ifconfig bond0 bondmode static🆑
$
 Mac Pro 2013とmac mini 2014のbondインタフェイスを使って,iperf3でネットワークスピードを計測してみた.
$ /usr/local/bin/iperf3 -c 192.168.20.35🆑
Connecting to host 192.168.20.35, port 5201
[  5] local 192.168.20.47 port 58816 connected to 192.168.20.35 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  92.0 MBytes   769 Mbits/sec
[  5]   1.00-2.00   sec   101 MBytes   848 Mbits/sec
[  5]   2.00-3.00   sec   101 MBytes   846 Mbits/sec
[  5]   3.00-4.00   sec  98.6 MBytes   829 Mbits/sec
[  5]   4.00-5.00   sec  92.9 MBytes   777 Mbits/sec
[  5]   5.00-6.00   sec  92.8 MBytes   781 Mbits/sec
[  5]   6.00-7.00   sec  93.5 MBytes   781 Mbits/sec
[  5]   7.00-8.00   sec  98.5 MBytes   829 Mbits/sec
[  5]   8.00-9.00   sec   112 MBytes   940 Mbits/sec
[  5]   9.00-10.00  sec   112 MBytes   937 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec   994 MBytes   834 Mbits/sec                  sender
[  5]   0.00-10.00  sec   991 MBytes   831 Mbits/sec                  receiver

iperf Done.
 んー.2Gbitとは言わないけど,1.6Gbitくらいスピードが出るのかと思ったら1Gbitを下回ってる.
 参考までにiperf3で1Gbpsインタフェイスで通信した結果を引用.
$ /usr/local/bin/iperf3 -c 192.168.20.74🆑
Connecting to host 192.168.20.74, port 5201
[  5] local 192.168.20.47 port 53956 connected to 192.168.20.74 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   116 MBytes   972 Mbits/sec
[  5]   1.00-2.00   sec   112 MBytes   940 Mbits/sec
[  5]   2.00-3.00   sec   112 MBytes   941 Mbits/sec
[  5]   3.00-4.00   sec   112 MBytes   940 Mbits/sec
[  5]   4.00-5.00   sec   112 MBytes   940 Mbits/sec
[  5]   5.00-6.00   sec   112 MBytes   940 Mbits/sec
[  5]   6.00-7.00   sec   112 MBytes   940 Mbits/sec
[  5]   7.00-8.00   sec   112 MBytes   940 Mbits/sec
[  5]   8.00-9.00   sec   112 MBytes   941 Mbits/sec
[  5]   9.00-10.00  sec   112 MBytes   941 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  1.10 GBytes   944 Mbits/sec                  sender
[  5]   0.00-10.00  sec  1.09 GBytes   940 Mbits/sec                  receiver

iperf Done.
$
 単体より遅くなっているのは,RAID1の時と同じ理由かなぁ.

リンクアグリゲーションとチーミング
https://nw.seeeko.com/archives/232409.html

引用:
単純化して2本のLAGで考えます。
LAGの場合、1つのパケットを半分にして、2本の回線に同時に流すわけではありません。1つ目のパケットは1本目の回線、2つ目のパケットは2本目の回線などと、パケットを分散することで、冗長化と帯域向上を図っています。
よって、IPアドレスベースなどで負荷分散するため、同じIPアドレスとの通信だと、同じ線を使う。だから、8本あっても、実際には1本しか使われていないかもしれない。

 staticの場合をLAG(Link Aggregation Group)というのだけど,この説明だとスピードアップよりは冗長化と複数通信時の帯域拡張という感じかな.

 ということで,iperf3の途中でレシーバ側のMac Pro 2013のLANケーブルを1本抜いてみた.
macmini2014:$ iperf3 -c 192.168.20.47🆑
Connecting to host 192.168.20.47, port 5201
[  5] local 192.168.20.35 port 50956 connected to 192.168.20.47 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   112 MBytes   940 Mbits/sec
[  5]   1.00-2.00   sec   111 MBytes   929 Mbits/sec
[  5]   2.00-3.00   sec   110 MBytes   928 Mbits/sec
[  5]   3.00-4.00   sec   111 MBytes   928 Mbits/sec
[  5]   4.00-5.00   sec   108 MBytes   911 Mbits/sec🈁
[  5]   5.00-6.00   sec   111 MBytes   929 Mbits/sec
[  5]   6.00-7.00   sec   111 MBytes   930 Mbits/sec
[  5]   7.00-8.00   sec   111 MBytes   930 Mbits/sec
[  5]   8.00-9.00   sec   111 MBytes   927 Mbits/sec
[  5]   9.00-10.00  sec   111 MBytes   929 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  1.08 GBytes   928 Mbits/sec                  sender
[  5]   0.00-10.00  sec  1.08 GBytes   925 Mbits/sec                  receiver

iperf Done.
macmini2014:$
 スピードダウンしてない.冗長化成功.そしてなぜかスピードも単線の時と同等になっている.
 次に,両方のケーブルを抜いてみる.

macmini2014:$ iperf3 -c 192.168.20.47🆑
Connecting to host 192.168.20.47, port 5201
[  5] local 192.168.20.35 port 50958 connected to 192.168.20.47 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   111 MBytes   934 Mbits/sec
[  5]   1.00-2.00   sec   111 MBytes   928 Mbits/sec
[  5]   2.00-3.00   sec   111 MBytes   928 Mbits/sec
[  5]   3.00-4.00   sec   111 MBytes   928 Mbits/sec
[  5]   4.00-5.00   sec   110 MBytes   927 Mbits/sec
[  5]   5.00-6.00   sec   111 MBytes   930 Mbits/sec
[  5]   6.00-7.00   sec   101 MBytes   844 Mbits/sec
[  5]   7.00-8.00   sec  0.00 Bytes  0.00 bits/sec 🈁
[  5]   8.00-9.01   sec  0.00 Bytes  0.00 bits/sec
[  5]   9.01-10.00  sec  0.00 Bytes  0.00 bits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec   766 MBytes   642 Mbits/sec                  sender
[  5]   0.00-14.52  sec   762 MBytes   440 Mbits/sec                  receiver

iperf Done.
macmini2014:$
 当たり前だけど0bitになってますね.

 ネットワークスピードアップを体感するには,ファイルサーバを想定して2台以上のコンピュータからファイルコピーとかして負荷をかけて性能測るのが良いのかな.

トラックバック


広告スペース
Google