# 导入elrepo的pgp key
rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

# 在线安装ELRepo源 for RHEL-6, SL-6 or CentOS-6
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

yum install yum-plugin-fastestmirror

# yum手动指定参数使用ELRepo的源( kernel-lt 和 kernel-ml 看 elrepo 官方的解释,lt 是 long time 长期支持版本;ml 是 mainline 主线版本)
yum –enablerepo=elrepo-kernel install kernel-ml
# 或者vi /etc/yum.repos.d/elrepo.repo启用 elrepo 源,将 [elrepo-kernel] 段落中 enabled=1后,安装yum install kernel-ml

# 查看内核是否安装成功
rpm -qa | grep kernel

# 删除旧内核(也可以保留原有内核)
rpm -ev 旧内核名

# 更新 grub 系统引导文件并重启
sed -i ‘s/^default=.*/default=0/g’ /boot/grub/grub.conf
reboot

———————————
# 启用BBR支持
echo “net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo “net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

# 验证kernel是否已经正常支持了BBR
sysctl net.ipv4.tcp_available_congestion_control #会看到第一个控制协议是 bbr
lsmod | grep bbr # 会看到bbr mod加载

参考:
http://elrepo.org/tiki/tiki-index.php
https://github.com/google/bbr
http://www.bkjia.com/Linuxjc/994057.html
==================================
CentOS 6.5 虚拟机KVM内核升级后出现FATAL: Module scsi_wait_scan not found.
升级完毕内核,重启前执行就不会进不去系统(不过话说回来,不报错,怎么知道进不去系统啊):

办法一:
yum install -y device-mapper-libs libudev
for X in $(cd /boot ; ls -1 config-*elrepo* | sed ‘s/config-//’ ) ; do dracut –add-drivers virtio_blk -f /boot/initramfs-$X.img $X ; done

办法二:
内核升级后,重启前,执行:
# 解决virtio驱动问题。添加virtio_blk支持(新建conf文件)
echo ‘add_drivers+="virtio_blk"‘ >/etc/dracut.conf.d/force-vitio_blk-to-ensure-boot.conf
# 备份initramfs
cp /boot/initramfs-4.10.13-1.el6.elrepo.x86_64.img /boot/initramfs-4.10.13-1.el6.elrepo.x86_64.img.bak
# 重新编译生成initramfs
dracut -f /boot/initramfs-4.10.13-1.el6.elrepo.x86_64.img 4.10.13-1.el6.elrepo.x86_64

办法三:
vi /usr/share/dracut/modules.d/90kernel-modules/installkernel
—————–
1行 #!/bin/bash
2行 if [[ -z $drivers ]]; then
3行 block_module_test() {
4行- local blockfuncs=’ata_scsi_ioctl|scsi_add_host|blk_init_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device’
5行+ local blockfuncs=’ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device’
——————-
#第四行中的"blk_init_queue" 替换为"blk_mq_init_queue"或者按照上面的改也行。

==================
PS:我把grub.conf的设备名改成了uuid模式

kernel (hd0,0)/boot/vmlinuz-4.10.13-1.el6.elrepo.x86_64 ro root=/dev/sda1

kernel /boot/vmlinuz-4.10.13-1.el6.elrepo.x86_64 ro root=UUID=d814a2ac-0579-4d44-84c4-4aad01743e46