关于VPS使用BBR或者锐速一键包后无法开机的问题解决

前言:手上有个去年圣诞vortexnode的10刀亚特兰大的小鸡,虽说是KVM构架的,但是延迟和速度都不太理想。特别是使用91云的一键BBR或者锐速安装包后都无法正常开始,更不用说通过SSH链接了。之后就一直放着吃灰,今天有时间了特意百度了下,得到了解决方法。

生产环境 Centos6.5

首先我们得进后台VNC控制台查看无法开机的原因,注意进入VNC如果需要浏览器插件的话是要用Java环境的,所以谷歌、火狐浏览器都用不了,得用IE8-IE11. 然后我们就得到了下图的样子

mark

如图就是显示FATAL: Module scsi_wait_scan not found.,然后就根据谷歌或者百度找到了部分的解决办法。

以下是转载自CSDN的blog。

分析:

  1. 这个错误的出现是因为KVM中的虚拟机使用了virtio这个半虚拟化驱动来是虚拟机支持scsi设备,而物理机升级时用不到virtio驱动,自然不会有问题。
  2. centos6系统中使用Dracut这个程序生成系统的initramfs.img ,在内核安装过程中,Dracut识别内核模块virtio_blk.ko是通过”blk_init_queue”中给出的函数识别的,如下图所示.mark

原因:在kernel3.13版本以前,Dracut是通过”blk_init_queue”这个函数安装virtio_blk.ko模块,而在kernel3.13版本之后,安装virtio_blk.ko模块需要新函数”blk_mq_init_queue”,但是centos6系统中的Dracut程序依然使用旧的函数”blk_init_queue”,因此就无法安装virtio_blk.ko  解决问题的关键在于要确保virtio_blk.ko能够被安装。

解决办法

编辑文件/usr/share/dracut/modules.d/90kernel-modules/installkernel

使用命令

vim /usr/share/dracut/modules.d/90kernel-modules/installkernel

第四行中的"blk_init_queue" 替换为"blk_mq_init_queue",替换之后的应该为mark

这样再使用BBR一键脚本,即可完美实现内核的替换为最新4.10