一.引子
Docker这东西最近来可是相当火呢,不过我一直没机会去碰,一是不熟悉,二是它对内核要求比较高,作为一个一直呆在Centos6的2.6.32系内核的人= =。3.10以上的内核版本实在是有点遥不可及了,最重要的是,我的机器上一般都装了锐速,用于抵抗这坑比网络环境的影响,然后锐速也对内核版本要求很严格……所以,GG。
不过转折在前一段时间出现了,Google贡献了BBR项目,这是一个内核补丁性质的项目,对TCP进行了优化,我也在它出现后进行过测试,发现对于网络性能有着显著的提高,虽然不像锐速那么猛,但是也算是很可以了。之后在elrepo出了测试版kernel-ml的4.9版本内核后我就想把BBR和Docker放在一起用,不过考虑到还是测试版的问题又忍了下来,过了一段时间出了正式版的kernel-ml,然而我又忙于其他事,不得已只能把此计划后推了。
现在,空了下来,我也终于重拾起之前的计划了。
二.详情
①.首先要装的是kernel-ml,毕竟这是一切的基础,过程还是比较方便的,只是有些注意点
导入elrepo的GPG然后安装elrepo源
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
然后安装kernel-ml,很顺利
yum --enablerepo=elrepo-kernel install kernel-ml
一般来说现在就已经好了,但是,如果你之后碰到啥情况,可以安装kernel-ml的headers、devel以及firmware
这时候你会碰到冲突问题,需要使用rpm -e --nodeps XXX包 来强制删除冲突,然后才能安装上。
另外,请在安装后查看/etc/grub.conf,里面有个default=x,请确认x为下方列表中你4.9内核的序号,最小序号为0
重启之后我们应该就能使用uname -r看到现在的内核版本已经变成4.9了
②.好了,现在要做的是开启BBR
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl -p
然后使用下方命令检测,如有结果则开启成功
lsmod | grep bbr
③安装Docker
yum install epel-release yum install docker-io
OK,就是这么简单……
不过拿docker的环境检测脚本测了下发现还是不能完全满足,打算过几天自己编译一份出来_(:з」∠)_
文章评论