LACP 모드(mode=4 <=> 802.3ad)에서 두 개의 인터페이스가 함께 바인딩되어 있습니다 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
마지막 옥텟이 몇 개 밖에 없다는 점을 고려하면 NIC em1
와 NIC가 모두 em2
동일한 카드에 있고 본드가 다른 NIC에서 MAC을 가져왔을 가능성이 높습니다.
본드는 본드에 추가된 첫 번째 NIC에서 MAC 주소를 얻습니다.
하지만,NIC 열거 순서는 정의되지 않았습니다..
부팅되면 em1
MAC 끝이 있는 NIC가 bd
먼저 본드에 참여할 수 있으므로 본딩은 MAC 끝을 선택합니다 bd
.
다시 부팅할 때 em2
MAC 끝이 있는 NIC가 bf
먼저 본드에 참여할 수 있으므로 본드는 MAC 끝을 선택합니다 bf
.
이것이 하드웨어 열거가 작동하는 방식입니다.
최근 NetworkManager에는 하위 장치를 특정 순서로 상위 장치에 연결하여 이 정확한 문제를 해결하는 기능이 있으므로 RHEL9로 마이그레이션하십시오(무료) 또는 Rocky/Alma 9(원하는 경우).
또 다른 가능한 옵션은 systemd가 사용할 수 있을 것으로 예상하는 예약된 이름이더라도 NIC가 이러한 이름을 사용하도록 강제하는 것입니다 em1
. em2
이 일을 하고 있다면 하지 마세요. 이것은 작동하지 않습니다.
systemd가 원하는 대로 장치 이름을 지정하도록 하거나 커널과 systemd가 사용하기를 원하지 않는 수동 이름을 사용하십시오. 또는 유사한 것을 사용할 수 있습니다 netX
.