Article number
000003526
Affected Versions
All
Source Hypervisor
All
Target Hypervisor
All

How to Check and Optimize Packet Fragmentation Caused by MTU Setting

Viewed 1772 times

Summary

An administrator may need to confirm/optimize the MTU on the VRAs as the default value of 1492 may be too high and lead to fragmented packets on the network.

Root Cause

The default MTU used by the VRAs is 1492. Depending on a given network configuration, this MTU size may be too large. The default MTU used by a ZVM is 1500.

Any item or combination of items below could result in the default MTU on a VRA to be too large and lead to fragmentation in the network:

  • ICMP Header size
  • MPLS VPN packet overhead
  • Older network hardware

Symptoms

When MTU is too high on the VRA and thus fragmentation occurs, any of the following can occur from a Zerto impact standpoint:

  • Initial sync not progressing
  • Frequent Bitmap syncing
  • VRA or site disconnections
  • Network based performance issues.

Solution

NOTE: VRAs engage in PMTU discovery, but in some cases (MPLS VPN being the most common one) this mechanism can fail to detect the correct MTU, and as such MTU will need to be manually set in the VRA guest OS. Additionally, the network can be adapted to accommodate the larger MTU.

To test for the optimal MTU sizing between components, run the following commands in either a Windows or Unix/Linux shell, starting with larger values (1464, which is the default value minus 28 bytes, as described below), and decreasing from there:

 

Linux : ping -M do -s MTUsize IPaddress
Example: ping -M do -s 1464 123.45.67.89

 

Windows :ping IPaddress -f -l MTUsize
Example: ping 123.45.67.89 -f -l 1472


If testing results return as “fragmentation needed”, continue decreasing the value set until pings transmit without fragmentation. The pings referenced above will not allow fragmentation (“-M do”, and “–f”) so the ping will report when you hit a number where packets don’t fragment.

Note that the -s and -l flags control the data size. Due to the IP + ICMP packet overhead, the packet size is equal to the data size + 28 bytes. For example, if testing shows that only pings with size 1444 can pass normally, the MTU should be set to 1444+28 = 1472.

Once a ping works with a given MTU size, either the network can be adjusted to accommodate for larger MTU (not typically a viable solution for a customer), or the VRAs’ MTU settings can be adjusted. If the VRAs’ MTU settings needs to be adjusted, proceed as follows:

  1. Login to the VRA.

  2. Open a VI editor window of the interfaces file

    vi /etc/network/interfaces
 

Output:

# ZeRTO IP settings

#loopback

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet static

address xxx.xxx.xxx.xxx

netmask xxx.xxx.xxx.xxx

up route add -net default gw xxx.xxx.xxx.xxx

  1. Add a new line at the end of the file, where xxxx is the required MTU value:

    mtu xxxx
  2. Save settings with

    :wq!
  3. Next, reload the networking daemon via the below command

    /etc/init.d/networking reload
  4. Verify the change persisted with the following command

    ifconfig
 

NOTE: MTU changes on a VRA will not persist through a VRA upgrade or re-install. Therefore, any adjustments made to a VRA's MTU configuration must be made again after such an operation.