●mii監視
●モジュールロード
# lsmod | grep bond
# modprobe --first-time bonding
# lsmod | grep bond
bonding 143360 0
●IF設定
# vi ifcfg-bond0
# cat ifcfg-bond0
DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
IPADDR=192.168.100.111
PREFIX=24
ONBOOT=yes
BOOTPROTO=none
BONDING_OPTS="mode=active-backup"
※後でBONDING_OPTSを変えたらOS再起動が必要だった。
※enp0s9とenp0s10のMACをVBOXで同じにしないとF/Oが失敗するが、MACが変えられない場合はfail_over_mac=activeを指定すればよいはず。
# vi ifcfg-enp0s9
# vi ifcfg-enp0s10
# cat ifcfg-enp0s9
DEVICE=enp0s9
NAME=bond0-slave
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
# cat ifcfg-enp0s10
DEVICE=enp0s10
NAME=bond0-slave
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
●IFUP
# ifdown ifcfg-enp0s9
# ifdown ifcfg-enp0s10
# ifup ifcfg-enp0s9
# ifup ifcfg-enp0s10
※ifupエラーが出たのでOS再起動したら出なくなった
●確認
[root@ora12ee01 ~]# ip addr
※省略
4: enp0s9: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 08:00:27:01:f6:81 brd ff:ff:ff:ff:ff:ff
5: enp0s10: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 08:00:27:01:f6:81 brd ff:ff:ff:ff:ff:ff
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 08:00:27:01:f6:81 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.111/24 brd 192.168.100.255 scope global bond0
valid_lft forever preferred_lft forever
●テスト
マスターインターフェースを起動しても、スレーブインターフェースは自動的に起動されない。->OK
スレーブインターフェースを起動すると、マスターインターフェースは毎回、自動的に起動される。->OK
マスターインターフェースを停止すると、スレーブインターフェースも停止される。->?
●F/Oテスト
<F/O前>
[root@ora12ee02 ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: enp0s10
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: enp0s10
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 08:00:27:25:44:28
Slave queue ID: 0
Slave Interface: enp0s9
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 08:00:27:25:44:28
Slave queue ID: 0
<F/O>
[root@ora12ee02 ~]# ifdown enp0s10
<F/O後>
[root@ora12ee02 ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: enp0s9
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: enp0s10
MII Status: down
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 08:00:27:25:44:28
Slave queue ID: 0
Slave Interface: enp0s9
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 08:00:27:25:44:28
Slave queue ID: 0
<Active変更>
[root@ora12ee02 ~]# ifenslave -c bond0 enp0s9
●F/O前後のpingのログが無かったので別の機会に検証してログ取得しました。
[root@rhel75 network-scripts]# ping 192.168.100.111
PING 192.168.100.111 (192.168.100.111) 56(84) bytes of data.
64 bytes from 192.168.100.111: icmp_seq=1 ttl=64 time=0.192 ms
64 bytes from 192.168.100.111: icmp_seq=2 ttl=64 time=0.890 ms
^C
--- 192.168.100.111 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.192/0.541/0.890/0.349 ms
[root@rhel75 network-scripts]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active)
Primary Slave: enp0s9 (primary_reselect failure)
Currently Active Slave: enp0s9
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
ARP Polling Interval (ms): 10000
ARP IP target/s (n.n.n.n form): 192.168.100.111
Slave Interface: enp0s9
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 08:00:27:ea:b4:c4
Slave queue ID: 0
Slave Interface: enp0s10
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 08:00:27:11:bf:ae
Slave queue ID: 0
[root@rhel75 network-scripts]# nmcli c down enp0s9
接続 'enp0s9' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/22)
[root@rhel75 network-scripts]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active)
Primary Slave: None
Currently Active Slave: enp0s10
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
ARP Polling Interval (ms): 10000
ARP IP target/s (n.n.n.n form): 192.168.100.111
Slave Interface: enp0s10
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 08:00:27:11:bf:ae
Slave queue ID: 0
[root@rhel75 network-scripts]# ping 192.168.100.111
PING 192.168.100.111 (192.168.100.111) 56(84) bytes of data.
64 bytes from 192.168.100.111: icmp_seq=1 ttl=64 time=0.280 ms
64 bytes from 192.168.100.111: icmp_seq=2 ttl=64 time=0.888 ms
64 bytes from 192.168.100.111: icmp_seq=3 ttl=64 time=0.952 ms
^C
--- 192.168.100.111 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.280/0.706/0.952/0.304 ms