Intel N100搭載のMini PC、Beelink EQ12にubuntuを入れて稼働して9ヶ月以上経ったが、ずっと試したくていたが、2.5GbEのSwitching Hubが5ポートでポートがたりずに試せずにいた。が、先日の雷でSwitching Hubもひとつやられたのを機にPlanexの新型の2.5GbE 8ポート Switching Hubを購入。
やった。これで試せる!
と、よろんだものの、なかなか時間が取れず、やっと試す(^^;
Contents >>>>>>>>
Switching HubはPlanex FX2G-08EM2
Switching Hubはこれを用意。
2.5GbEの8ポートはこれまで2万円台だったが、Planexのこれは1.2万円ほど。しかもサイズは5ポートと【全く】おなじ。コンパクトだ。すでに丸1ヶ月以上使っているがすこぶる安定。筐体の発熱も少ない。
これとBeelink EQ12のEthernet2つとも繋ぐ。ubuntu serverのInstall時に2つのうち1つはdisableしているので、そちらにケーブル繋いでも確認ランプは当然つかないが、物理的にはこれで準備よし。
ubuntu Server 24.0.4.1の設定
まずはNIC確認。
ip address show
表示された情報によればEQ12のEthernetポート2つは
enp1s0(動作中)
enp2s0(disable)
の2つ。そういえばWi-Fiも搭載しているので
wlo1(disable)
もあった。メモる。ubuntu 24.0.4.1のネットワーク設定はnetplanで行い、
/etc/netplan/hogehoge.yaml
という設定ファイルを読み込んで動作する。今現在のファイルを確認
ls /etc/netplan
50-cloud-init.yaml
50-cloud-init.yamlというInstall時に作られたであろう設定ファイルが一つある。ので、02-bonding.yamlてな設定ファイルを新たに作る。例によって個人的にviは好きではないので私はnanoで。
sudo nano /etc/netplan/02-bonding.yaml
内容は下記のようにした
# 2024.10.01 idi-s eq12 bonding
network:
version: 2
ethernets:
enp1s0:
addresses: []
dhcp4: false
dhcp6: false
enp2s0:
addresses: []
dhcp4: false
dhcp6: false
wlo1:
addresses: []
dhcp4: false
dhcp6: false
bonds:
#束ねた後のNIC名を指定する.
bond0:
#束ねた後のIPやゲートウェイ,DNSを指定する.
addresses: [192.168.1.8/24]
routes:
- to: default
via: 192.168.1.1
metric: 100
nameservers:
addresses: [192.168.1.1]
#束ねるNIC名を列挙する
interfaces:
- enp1s0
- enp2s0
parameters:
#束ね方をmodeで指定する
mode: balance-alb
#NICの監視間隔(msec)
mii-monitor-interval: 100
#arpの監視間隔(0は無効)
arp-interval: 0
networkの項目は個別の動きとしてはfalseにして止める。代わりにbondsの項目で設定していく。今回はenp1s0とenp2s0の2つをまとめた。まとめた仮想のEthernetポートのIPアドレスはもちろん個々の環境に合わせるし、もちろんroutesやnameserverも個々の環境に合わせる。
で、bondingのモードだが6つのモードがある。
bonding動作モード | 概要 | |
0 | balance-rr | 全てのメンバーデバイス (NIC) を使用して、順番 (ラウンドロビン) にデータを送受信する。 負荷分散と冗長化に対応する。 trunk に対応したスイッチが必要となる。 ボンディングの設定時に Mode を指定しない場合は、当モードがデフォルトモードとして適用される。 |
1 | active-backup | メンバーデバイスのうちの 1つの NIC のみをアクティブインターフェイスとしてデータを送受信する。 冗長化に対応する。 |
2 | balance-xor | 送信元/先の MAC アドレスを元に、メンバーデバイスから送信デバイスを決定してデータを送受信する。 負荷分散と冗長化に対応する。 trunk に対応したスイッチが必要となる。 |
3 | broadcast | 全メンバーデバイスに同一パケットを送信する。 冗長化に対応する。 通常用途では使用しない。 |
4 | 802.3ad | IEEE 802.3ad (LACP) に準拠したリンクアグリゲーション。 IEEE 802.3ad に対応したスイッチが必要となる。 |
5 | balance-tlb | 送信時のみ NIC の速度、及び負荷に応じて負荷分散を行い、受信時は冗長化する。 負荷分散と冗長化に対応する。 |
6 | balance-alb | balance-tlb の機能に加え、受信も負荷分散する。 負荷分散と冗長化に対応する。 |
あるが、概要にも書いてある通り、trunk対応などのそれに対応した高価なSwitching Hubでしか使えない。うちで用意したSwitching Hubで使えるのは5と6。普通に1つに束ねたいということなら6番なのでモードはbalance-albとした。
02-bonding.yamlができたら反映
sudo netplan apply
読み込まれたか確認。
ip address show
bond0ができており、無事動作。enp1s0とenp2s0がbond0;に結び付けられているのが確認できた。ふぅ。
できたのでMacStudio M2 MaxからBlackmagic diskspeed テストをしてみたら。。。(苦笑
これまでと速度からわず・・・。???なんで???と首を傾げたがすぐに気が付く。
いくらServerが2.5GbEを2つ束ねて5GbEの帯域確保したって、Macが繋いでいるSwitching Hubが2.5GbEで、MacStudioがいくら10GbE対応だからっても当然2.5GbEで繋がっているわけだからNASの速度はMax 2.5GbEじゃん!(爆
はい。すべてのSwitching Hubを5GbE以上にしないとダメでしたorz
まぁ、でも、試してみたかったbondingが試せて良かった(ちっ)
戯れてみただけです。はい(遠い目)。