經(jīng)測(cè)試elrepo 5.12.4.1可以正常啟動(dòng)。
注意事項(xiàng):在升級(jí)任何內(nèi)核時(shí)都不要?jiǎng)h除舊版本內(nèi)核玉锌。只要保留舊版本內(nèi)核抢肛,可以通過(guò)VNC連接選擇舊版內(nèi)核啟動(dòng)系統(tǒng)來(lái)拯救。
具體升級(jí)步驟
Oracle 云申請(qǐng)的CentOS 7 系統(tǒng)霜大,自帶3.1內(nèi)核构哺,且為EFI引導(dǎo),并默認(rèn)開(kāi)啟SELinux僧诚,升級(jí)內(nèi)核開(kāi)啟BBR易出現(xiàn)錯(cuò)誤導(dǎo)致無(wú)法開(kāi)機(jī)遮婶。開(kāi)啟原版BBR需要4.9以上內(nèi)核蝗碎,以下內(nèi)容記錄升級(jí)內(nèi)核并開(kāi)啟BBR的過(guò)程。
1.更新系統(tǒng)
sudo yum update -y
2.查看內(nèi)核
uname -r
3.10.0-1062.1.1.el7.x86_64
3.改SELinux為permissive模式
查看SELinux狀態(tài)旗扑,默認(rèn)開(kāi)啟:
sestatus
將enforcing改為permissive蹦骑,如下:
sudo vi /etc/sysconfig/selinux
SELINUX=permissive
4.重啟vps:
sudo reboot
5.開(kāi)啟elrepo源
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
6.查看可安裝內(nèi)核
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
7.安裝內(nèi)核
sudo yum --enablerepo=elrepo-kernel install kernel-ml
8.查看新內(nèi)核是否安裝成功
rpm -qa | grep kernel
9.更新引導(dǎo)
這是一個(gè)容易出錯(cuò)的地方,以前碰到的啟動(dòng)配置文件臀防,大多是在/boot/grub2/grub.cfg眠菇,而該系統(tǒng)為EFI引導(dǎo),配置文件位置不同袱衷。
#其他VPS使用如下
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
#Oracle VPS
sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
10.列出系統(tǒng)開(kāi)機(jī)的所有啟動(dòng)項(xiàng)
#其他VPS使用如下的
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg
#Oracle VPS
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/efi/EFI/centos/grub.cfg
11.設(shè)置默認(rèn)啟動(dòng)項(xiàng)
sudo grub2-set-default 0
12.重啟VPS
sudo reboot
13.查看內(nèi)核
uname -r
5.12.4.1-1.el7.elrepo.x86_64
可以看到內(nèi)核更新成功捎废。
第二步 開(kāi)啟bbr(引用其他大佬的內(nèi)容)
執(zhí)行 lsmod | grep bbr,如果結(jié)果中沒(méi)有 tcp_bbr 的話就先執(zhí)行:
sudo modprobe tcp_bbr
echo "tcp_bbr" | sudo tee --append /etc/modules-load.d/modules.conf
執(zhí)行
echo "net.core.default_qdisc=fq" | sudo tee --append /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee --append /etc/sysctl.conf
保存生效
sudo sysctl -p
執(zhí)行
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
如果結(jié)果都有 bbr致燥,則證明你的內(nèi)核已開(kāi)啟 BBR登疗。
執(zhí)行 lsmod | grep bbr,看到有 tcp_bbr 模塊即說(shuō)明 BBR 已啟動(dòng)嫌蚤。
重新開(kāi)啟SELinux
檢查有無(wú)SELinux相關(guān)錯(cuò)誤:
sudo cat /var/log/messages | grep "SELinux is preventing"
確保無(wú)錯(cuò)誤后辐益,再啟用SELinux Enforcing 模式
sudo vi /etc/sysconfig/selinux
將permissive改回i,如下修改:
SELINUX=enforcing
重啟VPS
sudo reboot