An Azure virtual machine running an older Linux kernel fails to restart or be provisioned
Applies to: ✔️ Linux VMs
Original KB number: 4041171
Note
CentOS referenced in this article is a Linux distribution and will reach End Of Life (EOL). Consider your use and plan accordingly. For more information, see CentOS End Of Life guidance.
This article provides a solution to an issue in which Azure virtual machine that is running an older Linux kernel version fails to restart or be provisioned.
Symptoms
Consider the following scenario:
You have a Microsoft Azure Linux virtual machine that is running one of the following Linux distributions.
Linux distribution (distro) Distro version Kernel version Ubuntu 12.04 Any version Ubuntu 14.04 < 4.4.0-75 Ubuntu 16.04 < 4.4.0-75 SLES 11 Any versions SLES 12 < 4.4.59.92.12 Red Hat Enterprise
Linux, CentOS,
Oracle Linux< 7.3 < 3.10.0-514 Red Hat Enterprise
Linux, CentOS< 6.9 < 2.6.32-671 Debian < 7 Any version Debian 8 < 4.9 CoreOS Any < 4.9 The virtual machine restarts, or a new virtual machine provisioning request is made.
In this scenario, the virtual machine becomes unresponsive or provisioning times out. When this problem occurs, an entry that resembles the following is logged in the Linux serial log:
[5.464091] hv_vmbus: probe failed for device vmbus_3 (-110)
[6.027866] hv_storvsc: probe of vmbus_3 failed with error -110
Note
This entry may contain additional information.
Cause
This problem occurs because the Linux virtual machine does not communicate with the Azure host. This communication failure occurs because of incompatible hyper-call timing parameters in the Hyper-V drivers that exist in older Linux kernels.
Resolution
To resolve this problem, try manually restarting the virtual machine after some time. If the problem persists, redeploy the virtual machine to a new Azure node, start the virtual machine, and then update the Linux kernel by using the following instructions. You must also perform these steps on the custom image you are using to deploy the VM.
Linux distro | Distro version | Kernel version that has the fix | Update instructions |
---|---|---|---|
Ubuntu | 12.04 | None available | Upgrade to a later LTS |
Ubuntu | 14.x | 4.4.0-75 + | Run the following command: sudo apt-get update && sudo apt-get install linux-virtual-lts-xenial linux-tools-virtual-lts-xenial linux-cloud-tools-virtual-lts-xenial |
Ubuntu | 16.x | 4.4.0-75 + | Run the following command: sudo apt-get update && sudo apt-get install linux-image-virtual linux-tools-virtual linux-cloud-tools-virtual |
SLES | 11 | Not applicable | Upgrade to SLES 12 |
SLES | 12 | 4.4.59.92.12 + | Run the following command: sudo zypper update kernel-default |
Red Hat Enterprise Linux, CentOS, Oracle Linux |
6.x | 2.6.32-671+ | Run the following command: yum -y update kernel |
Red Hat Enterprise Linux, CentOS, Oracle Linux |
7.x | 3.10.0-514.16+ | Run the following command: yum -y update kernel |
Debian | 7 | None available | Upgrade to Debian 9 |
Debian | 8 | 4.9 + | Enable Debian backports, and then run the following command: sudo apt-get update && sudo apt-get install linux-image-amd64 hyperv-daemons |
CoreOS | Any | 4.9 + | Follow the instructions in Reboot strategies on updates. |
More information
For more information about Endorsed Linux distributions and open-source technologies in Azure, see Support for Linux and open source technology in Azure.
Third-party information disclaimer
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.
Contact us for help
If you have questions or need help, create a support request, or ask Azure community support. You can also submit product feedback to Azure feedback community.