差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
最新のリビジョン 両方とも次のリビジョン
blog:2019:2019-01-29 [2019-01-29 01:17]
Decomo 作成
blog:2019:2019-01-29 [2020-03-07 00:06]
Decomo
行 1: 行 1:
 ====== 逸般の誤家庭で40GbEはじめますた その3(構築編) ====== ====== 逸般の誤家庭で40GbEはじめますた その3(構築編) ======
 +
 +  * [[2019-01-16]]
 +  * [[2019-01-22]]
 +  * [[2019-01-29]] ←いまここ
  
 機材が揃ったので、サーバ/クライアント直結40GBASE-SR4ネットワークを構築する。 機材が揃ったので、サーバ/クライアント直結40GBASE-SR4ネットワークを構築する。
  
-ネットワーク概略図は以下の通り+ネットワーク概略図を示す
  
 {{ :blog:2019:40gbe_1gbe_bridged_network.png |}} {{ :blog:2019:40gbe_1gbe_bridged_network.png |}}
  
-クライアントとサーバを40GBASE-SR4で直結し、サーバで40GbEと1GbEをブリッジする。こうすることで、40GbE対応スイッチがなくとも、40GbEの高速化の恩恵を受けつつ既存の1000BASE-Tネットワークとの相互運用がスマートに実現できる。この構成だと、サーバが落ちてると当然ながらクライアントがネットに繋がらなくなってしまうが、うちでは常時稼働させてるので殆ど問題ない。いざというときは、クライアントを従来通り1000BASE-Tで繋げばいいだけだし、そこは割り切る。+<note important>(2020-03-07 追記)
  
-40GbEといっても、ネットワークのイントー一般的なPCI-Express拡張カードと一緒。マシンにNICを挿しドライバをインストールするだけだ+FreeBSDのL2ブリッジif_bridgeはジャイアントロックを使った実装が原因でボトルネックとなるようだ。実際、うちの環境ではブリッジなしでは30Gbpsを超えるのに対し、ブリッジを使うと12~13Gbpsで頭打ちとなる。</note> 
 + 
 +クライアントとサーバを40GBASE-SR4で直結し、サーバで40GbEと1GbEをブリッジする。こうすることで、40GbE対応スイッチがなくとも、40GbEによる高速化の恩恵を受けつつ既存の1000BASE-Tネットワークとの相互運用が実現できる。サバが落ちてると、当然ながらクライアントネットワークが使えなくなってしまうが、うちでは常時稼働させてるので殆ど問題ない。いざって時はクラントを従来通り1000BASE-Tで繋げばいいだけだし、そこは割り切る。 
 + 
 +40GbEといっても、ネットワクカード何の変哲もPCI-Expressカードビデオカード等を取り付ける要領でマシンにNICを挿しドライバをインストールすれば普通のNICとして使える。
  
 FreeBSD(サーバ)では''/boot/loader.conf''に以下の1行を追加し再起動すると、mlxen0/mlxen1というネットワークデバイスが生えてくる。 FreeBSD(サーバ)では''/boot/loader.conf''に以下の1行を追加し再起動すると、mlxen0/mlxen1というネットワークデバイスが生えてくる。
行 16: 行 24:
 </code> </code>
  
-40GbEと1GbEのブリッジは''/etc/rc.conf''に以下の設定を追加する。このサーバでは様々なサービスを提供しているので、bridge0にIPアドレスを付け替えるのも忘れずに。IPアドレスを振る場合は、必ずブリッジに対して行うこと。ブリッジメンバの個別I/Fに振ると、一見動いているように見えてパケッが流れったりと、非常に分かりにくいバグを誘発することになる。 +40GbEと1GbEのブリッジは''/etc/rc.conf''に以下の設定を追加する。このサーバではsshやSambaどのサービスを提供しているので、igb0のIPアドレスをbridge0に付け替える。ブリッジにIPアドレスを振る場合は、必ずブリッジそのもの(ここではbridge0)に対して行う。ブリッジメンバ(ここではigb0)に振ると、一見動いているように見えてブロードキャスは到達するのにユニキャストは到達しい、といった非常に分かりにくい問題を誘発することになる。 
-</code>+<code>
 cloned_interfaces="bridge0" cloned_interfaces="bridge0"
-ifconfig_bridge0="ether xx:yy:zz:uu:vv:ww addm igb0 addm mlxen0 up"+ifconfig_bridge0="ether XX:YY:ZZ:00:00:01 addm igb0 addm mlxen0 up"
 ifconfig_bridge0_alias0="inet 192.168.0.1 netmask 255.255.255.0" ifconfig_bridge0_alias0="inet 192.168.0.1 netmask 255.255.255.0"
 ifconfig_igb0="up" ifconfig_igb0="up"
行 30: 行 38:
 bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
         description: vm-public         description: vm-public
-        ether 02:44:23:00:00:01 +        ether XX:YY:ZZ:00:00:01 
-        inet 172.20.32.1 netmask 0xffffff00 broadcast 172.20.32.255+        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
         nd6 options=9<PERFORMNUD,IFDISABLED>         nd6 options=9<PERFORMNUD,IFDISABLED>
         groups: bridge vm-switch viid-4c918@         groups: bridge vm-switch viid-4c918@
  • blog/2019/2019-01-29.txt
  • 最終更新: 2022-04-14 09:17
  • by Decomo