Linux virtual machine's boot is slow and displays the warning: RecordRoutingInfo: Unable to collect IPv4 routing table
search cancel

Linux virtual machine's boot is slow and displays the warning: RecordRoutingInfo: Unable to collect IPv4 routing table

book

Article ID: 326273

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
  • Guest operating system is unresponsive when booting.
  • Boot completes after 5 to 10 minutes without loss of functionality.
  • Guestinfo plug-in does not read the /proc/net/route file.
  • vmsvc on a Linux console displays a warning similar to:

    vmsvc [warning] [guestinfo] RecordRoutingInfo: Unable to collect IPv4 routing table


Environment

VMware vSphere ESXi 5.5
VMware vSphere ESXi 5.1
VMware vSphere ESXi 5.0
VMware vSphere ESXi 6.0

Cause

This issue occurs when the Linux iputils package causes a delay in the boot process. A warning message appears when the guestinfo plug-in tool fails to parse the content from the /proc/net/route file. The guest operating system's clock is ahead of the host on which it is running, causing the arping process to become unresponsive during boot. This results in the delayed boot times.
 
When a virtual machine is affected this issue occurs every time it boots, but it does not happen on every Linux virtual machine.

Resolution

To resolve this issue, see the RedHat Advisory RHBA-2013:1290.
 
Note: The preceding link was correct as of December 11, 2013. If you find the link is broken, provide feedback and a VMware employee will update the link.
 
To work around this issue, add rtc.diffFromUTC=0 to the .vmx file of the affected virtual machine. This forces a time sync, which enables the arping process to complete as expected leading to normal boot times.

To add rtc.diffFromUTC=0 to the .vmx file:
  1. Power off the virtual machine.
  2. Log in to the ESXi/ESX host on which the virtual machine is located with a secure shell session.
  3. Change to the virtual machine's .vmx file location (located at /vmfs/volumes/datastore_name/vm_name ).
    Example:

    # cd /vmfs/volumes/5a6f4389-4230ef12-acb1-32870eca/testVM
     
  4. Create a backup of the .vmx file.
    Example:

    # cp testVM.vmx testVM.vmx.bak
     
  5. Open and edit the original .vmx file with a text editor.
    Example:

    # vi testVM.vmx
     
  6. Add this entry to the end of the .vmx file:

    rtc.diffFromUTC=0

    When using the vi editor, you would press the Insert key to edit.
     
  7. Close and save the .vmx file.
    If using the vi editor, you would hit the Esc key, then type "wq" to write and exit the editor.
     
  8. Power on the virtual machine.