NVMe-TCP on SUSE/openSUSE - Network Configuration

Linux

Audience
Public
Product
FlashBlade
FlashArray
Technology Integrations
Linux
Source Type
Documentation

Wicked Best Practices

Why Wicked:

  • Default network manager in SLES/openSUSE

  • Designed for enterprise environments

  • Better integration with YaST

  • Supports complex network configurations

  • Consistent across SUSE ecosystem

Wicked architecture:

  • wickedd - Main daemon

  • wickedd-nanny - Policy manager

  • Configuration in /etc/sysconfig/network/

Storage Network Configuration

Dedicated Interfaces

# Create configuration for storage interface
sudo tee /etc/sysconfig/network/ifcfg-ens1f0 > /dev/null <<EOF
BOOTPROTO='static'
STARTMODE='auto'
IPADDR='10.100.1.101/24'
MTU='9000'
NAME='Storage Network 1'
# Prevent default route
DHCLIENT_SET_DEFAULT_ROUTE='no'
# NIC tuning
ETHTOOL_OPTIONS='rx 4096 tx 4096; -C rx-usecs 50 tx-usecs 50; -K tso on gso on gro on'
EOF

# Second storage interface
sudo tee /etc/sysconfig/network/ifcfg-ens1f1 > /dev/null <<EOF
BOOTPROTO='static'
STARTMODE='auto'
IPADDR='10.100.2.101/24'
MTU='9000'
NAME='Storage Network 2'
DHCLIENT_SET_DEFAULT_ROUTE='no'
ETHTOOL_OPTIONS='rx 4096 tx 4096; -C rx-usecs 50 tx-usecs 50; -K tso on gso on gro on'
EOF

# Reload wicked configuration
sudo wicked ifreload all

# Verify
wicked ifstatus all

Bond Configuration for HA

# Create bond configuration
sudo tee /etc/sysconfig/network/ifcfg-bond0 > /dev/null <<EOF
BOOTPROTO='static'
STARTMODE='auto'
IPADDR='10.100.1.101/24'
MTU='9000'
BONDING_MASTER='yes'
BONDING_SLAVE_0='ens1f0'
BONDING_SLAVE_1='ens1f1'
BONDING_MODULE_OPTS='mode=active-backup miimon=100 primary=ens1f0'
EOF

# Create slave configurations
sudo tee /etc/sysconfig/network/ifcfg-ens1f0 > /dev/null <<EOF
BOOTPROTO='none'
STARTMODE='hotplug'
MTU='9000'
EOF

sudo tee /etc/sysconfig/network/ifcfg-ens1f1 > /dev/null <<EOF
BOOTPROTO='none'
STARTMODE='hotplug'
MTU='9000'
EOF

# Reload configuration
sudo wicked ifreload all

Bond modes:

  • mode=active-backup (mode=1) - Active-passive failover (recommended for storage)

  • mode=802.3ad (mode=4) - LACP (requires switch support)

  • mode=balance-xor (mode=2) - Load balancing

YaST Network Configuration

Using YaST for network setup:

# Launch YaST network module
sudo yast2 lan

# Or command-line
sudo yast lan edit id=0 bootproto=static ipaddr=10.100.1.101/24 mtu=9000

YaST advantages:

  • GUI/TUI interface

  • Validates configuration

  • Integrates with other YaST modules

  • Generates wicked configuration files

MTU Configuration

# Test MTU end-to-end
ping -M do -s 8972 <storage_portal_ip>

# Set MTU in wicked config (shown above)
# Or temporarily
sudo ip link set ens1f0 mtu 9000