NFS on Debian/Ubuntu - Network Design

Linux

Audience
Public
Product
FlashBlade
FlashArray
Technology Integrations
Linux
Source Type
Documentation

Network Bonding with Netplan (Ubuntu)

# /etc/netplan/01-storage-bond.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth1:
      mtu: 9000
    eth2:
      mtu: 9000
  bonds:
    bond0:
      interfaces: [eth1, eth2]
      mtu: 9000
      addresses: [10.100.1.101/24]
      parameters:
        mode: 802.3ad
        lacp-rate: fast
        mii-monitor-interval: 100
        transmit-hash-policy: layer3+4
# Apply configuration
sudo netplan apply

# Verify
cat /proc/net/bonding/bond0

Network Bonding with ifupdown (Debian)

# /etc/network/interfaces
auto eth1
iface eth1 inet manual
    bond-master bond0
    mtu 9000

auto eth2
iface eth2 inet manual
    bond-master bond0
    mtu 9000

auto bond0
iface bond0 inet static
    address 10.100.1.101/24
    bond-slaves none
    bond-mode 802.3ad
    bond-miimon 100
    bond-xmit-hash-policy layer3+4
    mtu 9000

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 nconnect to create multiple TCP connections that may hash to different links.

Firewall Configuration (UFW)

# Allow outbound NFS
sudo ufw allow out to any port 2049 proto tcp
sudo ufw allow out to any port 111 proto tcp

# If strict incoming rules needed
sudo ufw allow from <NFS_SERVER_IP> to any port 2049

# Verify
sudo ufw status verbose