“Step-by-Step Guide: Installing Linux Integration Services on Windows Server 2008 R2 Hyper-V”

Troubleshooting Linux Integration Services on Windows Server 2008 R2 Hyper-V

Linux Integration Services (LIS) provide paravirtualized drivers and services that improve performance and manageability of Linux virtual machines running on Microsoft Hyper-V. On Windows Server 2008 R2 Hyper-V, older LIS versions and kernel compatibility issues can cause networking, storage, time synchronization, or shutdown problems. This guide walks through common symptoms, root causes, and step-by-step troubleshooting and fixes.

1. Confirm LIS version and kernel compatibility

  • Check LIS version inside the VM:
    • For distributions using the LIS package, run:

      Code

      modinfo hv_vmbus | grep version modinfo hv_utils | grep version modinfo hvnetvsc | grep version
    • For newer kernels where LIS is in-tree, verify kernel version:

      Code

      uname -r
  • Compatibility rule: Windows Server 2008 R2 Hyper-V typically requires older LIS (3.x–4.x) or in-tree drivers backported to the guest kernel. If the VM uses a very new kernel, ensure the guest includes Hyper-V specific drivers or install Microsoft’s LIS package that matches the distribution and kernel.

2. Networking issues (no network, intermittent, slow)

  • Symptoms: No network interface, interface names different than expected, packet loss, or poor throughput.
  • Checks:
    • Confirm Hyper-V virtual switch configuration on the host.
    • Inside VM, list network interfaces:

      Code

      ip addr show ethtool -i eth0
    • Verify hvnetvsc driver is loaded:

      Code

      lsmod | grep hv_netvsc
    • Check dmesg for hv_netvsc/hvvmbus errors:

      Code

      dmesg | egrep -i ‘hv|vmbus|netvsc’
  • Fixes:
    • If driver missing: install appropriate LIS package for your distro or upgrade/downgrade kernel to one with in-tree Hyper-V drivers.
    • Recreate synthetic NIC: remove the problematic NIC in Hyper-V Manager and add a new one attached to the correct virtual switch.
    • Disable/enable Large Receive Offload (LRO)/Generic Receive Offload (GRO) if throughput issues:

      Code

      ethtool -K eth0 gro off lro off
    • Update guest VM Integration Services components (where available) and install latest integration utilities for the distro.

3. Storage and disk performance problems

  • Symptoms: Slow disk I/O, timeouts, or missing SCSI controller.
  • Checks:
    • Confirm disk controller type (IDE vs. SCSI) in VM settings. Use SCSI for data disks where supported.
    • Verify hvstorvsc driver:

      Code

      lsmod | grep hvstorvsc dmesg | egrep -i ‘storvsc|scsi|vmbus’
    • Monitor I/O:

      Code

      iostat -x 5 3
  • Fixes:
    • Ensure the guest has hvstorvsc driver installed/loaded or install matching LIS package.
    • If using IDE where SCSI is supported, switch to SCSI for better performance (requires guest OS support).
    • Adjust disk scheduler to noop or deadline for virtualized environments:

      Code

      echo noop > /sys/block/sda/queue/scheduler
    • Update VM Integration Services and host Hyper-V cumulative updates.

4. Time synchronization and clock drift

  • Symptoms: Guest clock drifts, events show incorrect timestamps.
  • Checks:
    • Check if Hyper-V time sync service is running in guest:

      Code

      systemctl status hv-kvp-daemon.service# or check hvutils service names
    • Inspect dmesg for time sync messages:

      Code

      dmesg | grep -i time
  • Fixes:
    • Use guest NTP/chrony as primary time source, and disable Hyper-V time sync if it conflicts:

      Code

      systemctl stop hv-kvp-daemon.service systemctl disable hv-kvp-daemon.service
    • Alternatively keep Hyper-V time sync enabled and ensure host time is correct and synced (use NTP on host).

Comments

Leave a Reply