Network Bonding (Recommended)
For redundancy, configure bonded interfaces:
# Create bond using nmcli (RHEL 8/9)
sudo nmcli connection add type bond \
con-name bond0 \
ifname bond0 \
bond.options "mode=802.3ad,miimon=100,xmit_hash_policy=layer3+4"
# Add slaves
sudo nmcli connection add type ethernet \
slave-type bond \
con-name bond0-slave1 \
ifname eth1 \
master bond0
sudo nmcli connection add type ethernet \
slave-type bond \
con-name bond0-slave2 \
ifname eth2 \
master bond0
# Configure IP
sudo nmcli connection modify bond0 \
ipv4.addresses 10.100.1.101/24 \
ipv4.method manual
# Set MTU for jumbo frames
sudo nmcli connection modify bond0 802-3-ethernet.mtu 9000
# Bring up the bond
sudo nmcli connection up bond0
Understanding LACP Load Balancing
LACP uses hash-based distribution-there's no guarantee of balanced traffic:
-
Each flow (source/dest IP+port) uses a single link
-
Single NFS mount may use only one link
-
Use
nconnectto create multiple TCP connections that may hash to different links
Firewall Configuration
# Allow NFS services
sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --reload
# Verify
sudo firewall-cmd --list-services