RedHat has dropped the ball on supporting the Xen based virtualisation technologies and due to commercial reasons will not fix their recently introduced kernel bug on Xen PV platforms.
So the fix is to switch to the “CentOS Plus” kernel, which has been updated by the CentOS Team to correct the issue introduced by RedHat.
The way to do this is:
a) Boot your CentOS 7 Xen based VPS onto an older kernel that still works (not in the 611 version stream)
b) Change your /etc/yum.repos.d/CentOS-Base.repo
file to be:
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1
includepkgs=kernel-plus
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
c) Edit your /etc/sysconfig/kernel
file to list:
DEFAULTKERNEL=kernel-plus
(instead of DEFAULTKERNEL=kernel )
d) Run “yum install kernel-plus
” as root.
e) Reboot on the CentOS Plus kernel, which should be the new default kernel in your Grub.
Note: If you still get a kernel crash on the latest CentOS Plus kernel (kernel-plus), the a recent (Dec 2017) working kernel is installed with:
yum remove kernel-plus
rpm -iv http://mirror.centos.org/centos/7/centosplus/x86_64/Packages/kernel-plus-3.10.0-693.11.1.el7.centos.plus.x86_64.rpm
FYI,
Richard.