none
Hyper-V integration services (kvp daemon) on Win10 with Linux 4.9 guest?

    Question

  • Hi,

    I've been tearing my hair out. Not sure where the best place to post this is as it covers both Windows and Linux, but I'll try here. Please point me to somewhere more appropriate if necessary.

    I'm trying to get a VM with a recent Linux kernel running on my fully updated Windows 10 machine as a host.

    Most things work, but I can't get the KVP daemon to function. It's running on the guest, but the host shows "No Contact" as its status description.

    Specifically, I'm having trouble with kernel 4.9. Using the default kernel from debian-jessie (3.16) works fine.

    Here's what I've tried:

    1. Installing a standard install of Debian Jessie (kernel 3.16), plus the hyperv-daemons package works
    2. Installing linux-image and hyperv-daemons from jessie-backports (both kernel version 4.9) does not work
    3. Installing Arch Linux with kernel 4.9 and hv_kvm_daemon manually compiled from hv_kvm_daemon.c in the kernel sources does not work.

    In all of the above cases the hv_* kernel modules are loaded, and hv_kvm_daemon is running.

    Here's what my linux guest says:

    # lsmod | grep hv
    hv_utils               24576  0
    hv_balloon             24576  0
    hv_netvsc              40960  0
    hv_storvsc             20480  0
    scsi_transport_fc      49152  1 hv_storvsc
    scsi_mod              159744  4 sd_mod,hv_storvsc,sr_mod,scsi_transport_fc
    hv_vmbus               57344  7 hv_storvsc,hv_utils,hid_hyperv,hv_balloon,h _netvsc,hyperv_keyboard,hyperv_fb
    
    # ps aux | grep kvp
    root      51825  0.0  0.0   4820    68 ?        Ss   09:05   0:00 /usr/sbin/hv_kvp_daemon
    
    # journalctl -f
    ...
    Mar 07 09:05:07 hvtest KVP[51825]: KVP starting; pid is:51825
    Mar 07 09:05:07 hvtest KVP[51825]: KVP LIC Version: 3.1
    ...

    Here's what my Windows host says:

    PS C:\WINDOWS\system32> Get-VMIntegrationService "hvtest"
    
    VMName Name                    Enabled PrimaryStatusDescription SecondaryStatusDescription
    ------ ----                    ------- ------------------------ --------------------------
    hvtest Guest Service Interface True    OK
    hvtest Heartbeat               True    OK
    hvtest Key-Value Pair Exchange True    No Contact
    hvtest Shutdown                True    OK
    hvtest Time Synchronization    False   OK
    hvtest VSS                     True    OK                       The protocol version of the component ins...
    

    I've tried both gen1 and gen2 VMs, and that doesn't make a difference.

    I'm not sure what else to try. Has anyone else had issues with Kernel 4.9 and Win10 as a host.

    I don't have easy access to a Windows Server machine that isn't already a VM to test this with, to see if it's localised to Windows 10 or a more general issue.

    Any ideas?

    Tuesday, March 07, 2017 10:59 AM

Answers

  • "Specifically, I'm having trouble with kernel 4.9. Using the default kernel from debian-jessie (3.16) works fine."

    If you are using a build that is outside the normal build tree, you are in a testing mode.  According to Microsoft's documentation for Debian (Jessie), 8.0-8.5 of that distribution is supported (https://technet.microsoft.com/windows-server-docs/compute/hyper-v/supported-debian-virtual-machines-on-hyper-v).  Since you are referring to kernel number instead of build number, I can't correlate.  But, since you state it works fine with 3.16 and you are using 4.9, it seems like you might be out of sync.

    There actually is a forum dedicated to Linux running on Hyper-V.  You will likely find a lot more Linux expert over there.  https://social.technet.microsoft.com/Forums/en-US/home?forum=linuxintegrationservices


    . : | : . : | : . tim

    Tuesday, March 07, 2017 2:35 PM

All replies

  • "Specifically, I'm having trouble with kernel 4.9. Using the default kernel from debian-jessie (3.16) works fine."

    If you are using a build that is outside the normal build tree, you are in a testing mode.  According to Microsoft's documentation for Debian (Jessie), 8.0-8.5 of that distribution is supported (https://technet.microsoft.com/windows-server-docs/compute/hyper-v/supported-debian-virtual-machines-on-hyper-v).  Since you are referring to kernel number instead of build number, I can't correlate.  But, since you state it works fine with 3.16 and you are using 4.9, it seems like you might be out of sync.

    There actually is a forum dedicated to Linux running on Hyper-V.  You will likely find a lot more Linux expert over there.  https://social.technet.microsoft.com/Forums/en-US/home?forum=linuxintegrationservices


    . : | : . : | : . tim

    Tuesday, March 07, 2017 2:35 PM
  • Thanks! Yeah, I'm in 'testing mode'. Specifically I'm setting up a vagrant box to do development that needs a recent kernel.

    That looks like the correct place to ask my question. I'll head on over there. :)

    Wednesday, March 08, 2017 8:48 AM