These settings optimize network throughput between Oracle hosts and FlashBlade. The goal is to distribute NFS traffic across multiple network paths, preventing any single link from becoming a bottleneck.
Bare metal: LACP bonding with layer3+4 hash
For servers with multiple network interfaces bonded via LACP, the transmit hash policy determines how traffic is distributed across links.
The default layer2 (MAC-based) hash sends all traffic to a single destination MAC address down one link. Since all FlashBlade traffic goes to the same destination, this provides no load distribution.
Layer3+4 hash distributes traffic based on source IP, destination IP, source port, and destination port. Because dNFS opens multiple TCP connections with different port numbers, layer3+4 hash spreads these connections across available links.
nmcli connection modify bond0 bond.options "mode=802.3ad,miimon=100,xmit_hash_policy=layer3+4"
nmcli connection down bond0 && nmcli connection up bond0
Verify:cat /proc/net/bonding/bond0 | grep "Transmit Hash Policy"
# Expected: Transmit Hash Policy: layer3+4 (1)
Virtualized environments
For virtual machines, network bonding and load balancing are configured at the hypervisor level, not within the guest OS. The guest VM typically sees a single virtual NIC.
To achieve equivalent traffic distribution:
-
VMware vSphere: Configure the distributed switch or port group with "Route based on IP hash" load balancing policy
-
Other hypervisors: Configure the virtual switch for IP-based or IP+port-based load balancing
Consult your virtualization administrator to verify the network configuration supports multiple paths to storage.
NFS client tuning (Optional)
The Linux NFS client limits the number of concurrent RPC requests per TCP connection. The default value (16 on many systems) can bottleneck high-throughput workloads like RMAN backups.
The sunrpc.tcp_slot_table_entries parameter controls this limit. Increasing it to 128 allows more concurrent NFS operations per connection, which helps sustain throughput when dNFS is issuing parallel I/O.
cat /proc/sys/sunrpc/tcp_slot_table_entries
echo "sunrpc.tcp_slot_table_entries = 128" >> /etc/sysctl.conf
sysctl -p