2.5Gbpsへの挑戦
自宅サーバの根幹RaspberryPiを2.5Gbps化
概要
Raspberry Piの標準LANポート(1Gbps) で特に不満はないが、ロマンのために2.5Gbpsを追い求めてみる。
結論
2500Mb/sリンクアップ

実測値
- Download: 約1800 Mbps
- Upload: 約1300 Mbps

システム構成 / 使ったもの
今回用意したのはこちら。
| カテゴリ | 構成内容 |
|---|---|
| 本体 | Raspberry Pi 4 Model B (8GB) |
| OS | Ubuntu Server 22.04 LTS |
| 拡張アダプタ | UGREEN USB-A to RJ45 2.5G Ethernet Adapter |
| LANケーブル | カテゴリ6A |
ちなみに自宅は光10Gを引いている。

構築
1. まずはインターフェース名の確認
USBアダプタを刺したあと、まずはシステムがどう認識しているかチェック
raspberrypi4% ip link
...
...
...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
altname end0
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
...
...
...ip linkによるインターフェース確認 (一部改変)
- eth0: 標準の1Gbpsポート
- eth1: 新しく刺した2.5Gbpsアダプタ
2. Netplan設定
Netplanで管理しているので設定を追加。
標準ポートで設定していた内容にならって追加すればOK。DNSやIP固定などは適宜実施。
標準ポートはLANケーブルを刺したまま、固定IPは変えつつ設定も残してバックアップとしておく。
基本は新しい2.5Gアダプタを使って欲しいのでroute-metric を定義して優先的に使うようにする。数字が小さいほど優先度があがる。
/etc/netplan/50-cloud-init.yaml などの設定ファイル
network:
version: 2
renderer: networkd
ethernets:
# バックアップ: 標準ポート
eth0:
dhcp4: true
dhcp6: true
dhcp4-overrides:
route-metric: 200
dhcp6-overrides:
route-metric: 200
# メイン: USB 2.5G アダプタ
eth1:
dhcp4: true
dhcp6: true
dhcp4-overrides:
route-metric: 100
dhcp6-overrides:
route-metric: 100設定したら適用する。
raspberrypi4% sudo netplan try
[sudo] password for pi4:
Do you want to keep these settings?
Press ENTER before the timeout to accept the new configuration
Changes will revert in 113 seconds
Configuration accepted.applyでもいいが、tryは内容をチェックしたうえでEnterした時点で適用される。問題があれば自動的にrevertされる。
検証
2.5Gを認識しているかどうか
以下のコマンドで、リンク速度を確認
raspberrypi4% sudo ethtool eth1 | grep Speed
Speed: 2500Mb/s冗長化テスト
eth1: 2.5Gアダプタを抜いても、eth0:バックアップポートでインターネットへ出られるかの検証
もともと8.8.8.8への経路はeth1、つまり2.5Gアダプタが使われていることがわかる。
raspberrypi4% ip route get 8.8.8.8
8.8.8.8 via 192.168.68.1 dev eth1 src 192.168.68.3 uid 1000
cacheeth1でインターネットへ
LANケーブルを抜いてみる
同じコマンドで確認すると次はeth0、標準ポートから出ていっている
raspberrypi4% ip route get 8.8.8.8
8.8.8.8 via 192.168.68.1 dev eth0 src 192.168.68.5 uid 1000
cache eth0に切り替わる
再度LANケーブルを刺す
raspberrypi4% ip route get 8.8.8.8
8.8.8.8 via 192.168.68.1 dev eth1 src 192.168.68.3 uid 1000
cache再びeth1へ
通常時に戻り、想定どおり2.5Gアダプタが使用されている。
まとめ
2.5Gbps接続ができた
体感速度は正直変わらない。
etc: ファンから出る風が当たるようになっているせいか、まったく発熱は気にならない。ほんのり温かい程度。