Non-compute nodes (NCNs) have network interface controllers (NICs) connected to the management network that are configured in a redundant manner via Link Aggregation Control Protocol (LACP) link aggregation. The link aggregation configuration can be modified by editing and applying various configuration files either through Ansible or the interfaces directly.
The bond configuration exists across three files on an NCN. These files may vary depending on the NCN in use:
File | Description |
---|---|
ifcfg-bond0 |
Physical configuration and member interfaces. |
ifroute-bond0 |
Routing, which is critical for NCN PXE to work. |
ifrule-bond0 |
Routing table selecting, which is critical for NCN PXE to work. |
The following is an example of the contents of the ifcfg-bond0
file:
BONDING_MASTER='yes'
BONDING_MODULE_OPTS='mode=802.3ad miimon=100 lacp_rate=fast xmit_hash_policy=layer2+3'
BONDING_SLAVE0='p1p1'
BONDING_SLAVE1='p1p2'
MTU='9238'
STARTMODE='auto'
BOOTPROTO='static'
PREFIXLEN='16'
IPADDR='10.1.1.1/16'
ZONE='Do not assign ZONE'
The bond is configured with modules that can be changed at the network administrator’s discretion and coordination.
It may be useful to only adjust the XMIT value to layer2
; the current setting is chosen as a default to match existing settings
for compute nodes from previous releases. This can be weighed out if problems arise across the NCNs over the bond and dual-spine
or Multi-Chassis Link Aggregation (MLAG).
Wicked is the SUSE NetworkManager and Daemon wrapper for handling interfaces’ processes and applying their configuration. For more information, see the SUSE Wicked external documentation.
For administrators familiar with Ubuntu Linux, it has an analogue to Wicked called NetPlan. The benefit is that it removes tedious, low-level configurations. However, Wicked and NetPlan each have their own web of configuration. The examples below are useful ways Wicked can be used to debug and triage interfaces.
To view a system-wide interface network configuration:
wicked ifstatus all
Use the following command to view information about a specific interface. In this example, bond0.cmn0
is used.
wicked ifstatus --verbose bond0.cmn0
Example output:
bond0.cmn0 up
link: #4603, state up, mtu 1500
type: vlan bond0[7], hwaddr b8:59:9f:c7:11:12
control: none
config: compat:suse:/etc/sysconfig/network/ifcfg-bond0.cmn0,
uuid: 5cce4d33-8d99-50a2-b6c0-b4b3d101c557
leases: ipv4 static granted
addr: ipv6 fe80::ba59:9fff:fec7:1112/64 scope link
addr: ipv4 10.102.3.4/24 brd 10.102.3.4 scope universe label bond0.cmn0 [static]
route: ipv4 0.0.0.0/0 via 10.102.3.20 dev bond0.cmn0 type unicast table 3 scope universe protocol boot
route: ipv4 10.102.3.0/24 type unicast table main scope link protocol kernel pref-src 10.102.3.4
route: ipv6 fe80::/64 type unicast table main scope universe protocol kernel priority 256
To view information about the bond:
wicked ifstatus bond0
Example output:
bond0 device-not-running
link: #9, state up, mtu 9238
type: bond, mode ieee802-3ad, hwaddr b8:59:9f:4a:f6:30
config: compat:suse:/etc/sysconfig/network/ifcfg-bond0
leases: ipv4 static failed