Ubuntu 16.04環境にて、ネットワーク設定をsystemd-networkdへ移行しているのですが、bonding設定をするときにハマりました。
確認環境:
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.1 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.1 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
確認したときの設定
ファイルを以下のように設定しています。
パスは/etc/systemd/network/
になります。[Link]
セクションにて、Jumbo Frameを設定することが出来ます。
[Kind]
Name=enp4s0f0
[Network]
Bond=bond0
[Link]
MTUBytes=9000
[Kind]
Name=enp4s0f0
[Network]
Bond=bond0
[Link]
MTUBytes=9000
ここでbondingのパラメータを設定できます。
Modeについては802.3ad
とbalance-xor
を確認しています。
TransmitHashPolicyポリシーは、送信ハッシュポリシーの設定で、xmit_hash_policy
に相当するオプションです。
MiiMonのパラメータは、MiiMonitorSec、UpDelaySec、DownDelaySecがあるようです。
[NetDev]
Name=bond0
Kind=bonding
[Bond]
Mode=balance-xor
TransmitHashPolicy=layer2+3
MiiMonitorSec=1s
UpDelaySec=2s
DownDelaySec=8s
BindCarrierはbondingを組むインターフェイスを指定できるようです。
[Match]
Name=bond0
[Network]
BindCarrier=enp4s0f0 enp4s0f1
[Link]
MTUBytes=9000
kometch@ubuntu-virt
ここでbondingに対してのIPアドレスの設定ができるようです。.network
ファイルの名称についてはこれでいいのか不明です。
[Match]
Name=bond0
[Network]
DHCP=no
Address=172.16.0.254/24
Gateway=172.16.0.200
確認してみると・・・
これでうまくいくはずなのですが、bondingパラメータを確認すると、以下のようにラウンドロビンのままです。
$ cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: load balancing (round-robin)
MII Status: down
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
bond0もno-carrierでconfiguringからステータスが変化しないのを確認済みです。
$ networkctl
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier configured
2 enp5s0f0 ether routable configured
3 enp4s0f0 ether degraded configured
4 enp5s0f1 ether routable configured
5 enp4s0f1 ether degraded configured
6 bond0 ether no-carrier configuring
7 ovs-system ether degraded configured
8 ovsbr0 ether routable configured
9 ovsbond0 ether degraded configured
10 docker0 ether no-carrier configuring
11 vnet0 ether carrier configuring
12 vnet1 ether carrier configuring
ソースを読めればいいのですが、自分の確認はここまで。systemd-networkd
についてはFedoraやArchだけなのかなぁという感じです。Ubuntu自体もsystemdへの移行が進んでいると言っても部分部分はまだなのかなと言ったところです。
Ubuntu 18.04とかの頃になればもうちょっとsystemdでの設定が本格的になるのかと思います。
CentOS7システム管理ガイドsystemd/NetworkManager/Firewalld徹底攻略
秀和システム
売り上げランキング: 157625
Linuxシステム[実践]入門 Software Design plus
技術評論社
売り上げランキング: 38377
コメント
SECRET: 0
PASS: 74be16979710d4c4e7c6647856088456
書き込みありがとうございます。
遅くなりまして、申し訳ありません。
私のほうも確認が漏れておりましたね。おっしゃる通り、Noteとして書いてありますね。
改めてbond1以降で設定してみようかと思います。
改めてありがとうございます。
> リンクの1番目にある通り、bond0は暗黙のbondingでround robinに設定されてしまうようで
> bond1で書き換えたらbondつかえるようになりました。
SECRET: 0
PASS: 74be16979710d4c4e7c6647856088456
リンクの1番目にある通り、bond0は暗黙のbondingでround robinに設定されてしまうようで
bond1で書き換えたらbondつかえるようになりました。