LACPモード(mode = 4 <=> 802.3ad)では、2つのインターフェイスが一緒にバインドされていますbond0
。
bond0
再起動する前のMacアドレス:
$ cat /sys/class/net/bond0/address
xx:xx:xx:xx:xx:bf
bond0
再起動後のMacアドレス:
$ cat /sys/class/net/bond0/address
xx:xx:xx:xx:xx:bd
以下は、ネットワーク構成に関するいくつかの情報です。
$ ip -o l | grep state.UP
2: em1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000\ link/ether xx:xx:xx:xx:xx:bd brd ff:ff:ff:ff:ff:ff
3: em2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000\ link/ether xx:xx:xx:xx:xx:bd brd ff:ff:ff:ff:ff:ff
7: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP mode DEFAULT group default qlen 1000\ link/ether xx:xx:xx:xx:xx:bd brd ff:ff:ff:ff:ff:ff
$ grep BONDING_OPTS= /etc/sysconfig/network-scripts/ifcfg-bond0
BONDING_OPTS="mode=4 miimon=100 lacp_rate=1"
$ egrep "(MASTER|SLAVE)=" /etc/sysconfig/network-scripts/ifcfg-em?
/etc/sysconfig/network-scripts/ifcfg-em1:MASTER=bond0
/etc/sysconfig/network-scripts/ifcfg-em1:SLAVE=yes
/etc/sysconfig/network-scripts/ifcfg-em2:MASTER=bond0
/etc/sysconfig/network-scripts/ifcfg-em2:SLAVE=yes
$ egrep -v "^$|^#" /etc/NetworkManager/NetworkManager.conf
[main]
[logging]
Macアドレスがbond0
変更されたのはなぜですか?
答え1
最後のオクテットがほんの数しかないことを考えると、NICem1
とNICの両方がem2
同じカードにあり、ボンドが別のNICからMACをインポートした可能性が高くなります。
ボンドは、ボンドに追加された最初のNICからMACアドレスを取得します。
しかし、NIC 列挙順序は定義されていません。。
起動すると、em1
MACエンドを持つNICがbd
最初にボンドに参加できるため、ボンディングはMACエンドを選択しますbd
。
再起動すると、em2
MACエンドを持つNICがbf
最初にボンドに参加できるため、ボンドはMACエンドを選択しますbf
。
これがハードウェア列挙がどのように機能するかです。
最近、NetworkManagerには子デバイスを特定の順序で親デバイスに接続してこの正確な問題を解決する機能があるので、RHEL9に移行してください(無料)またはRocky / Alma 9(必要に応じて)。
もう1つの可能なオプションは、systemdが使用できると予想される予約名でも、NICがこれらの名前を使用するように強制することですem1
。em2
このことをしているならしないでください。これはうまくいきません。
systemdに必要に応じてデバイス名を指定するか、カーネルとsystemdが使用したくない手動名を使用してください。または同様のものを使用できますnetX
。