首先我们需要下载新的内核版本与Lvs-fullnat
我下载的是如下两个文件
kernel-2.6.32-220.23.1.el6.src.rpm
Lvs-fullnat-synproxy.tar.gz
内核的更新过程
cd rpmbuild/
yum install -y rpm-build
配置好yum源后,安装rpm-build工具
解开源码后,生成二进制的patch文件
cd rpmbuild/SPECS/
rpmbuild -bp kernel.spec
此时会有很多依赖性需要解决,下载安装就好了
可以直接使用镜像的yum源解决的有如下
yum install -y redhat-rpm-config patchutils xmlto binutils-devel python-devel hmaccalc perl-ExtUtils-Embed
单独安装asciidoc和newt-devel依旧会出现依赖性问题仍需再次安装如下,需要到网站上下载好rpm包,在所在目录使用yum安装
yum install asciidoc-8.4.5-4.1.el6.noarch.rpm newt-devel-0.52.11-3.el6.x86_64.rpm slang-devel-2.2.1-1.el6.x86_64.rpm -y
重新生成patch文件
rpmbuild -bp kernel.spec
如果加密无法顺利进行需要使用ssh进入,安装如下软件
yum install -y rng-tools.x86_64
rngd -r /dev/urandom
解压Lvs-fullnat
cd /root/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/
tar zxf Lvs-fullnat-synproxy.tar.gz
将解压后的目录放到这个目录下生效
cd lvs-fullnat-synproxy/
cp lvs-2.6.32-220.23.1.el6.patch ~/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/
将fullnat模式补丁加入
cd ~/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/
patch -p1 < lvs-2.6.32-220.23.1.el6.patch
如果是RealServer那么补丁是TOA
更改扩展内核版本
vim Makefile
uname -r
2.6.32-431.el6.x86_64
更改如下
4 EXTRAVERSION = -220.23.1.el6.x86_64
编译目录(~/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/)
然后源码安装
make
make modules_install
make install ##安装引导代码
更改grub引导文件,使其读取新的内核版本
vim /boot/grub/grub.conf
将 default=1 修改为 default=0
重启reboot后
uname -r
内核版本改变:
之前:2.6.32-431.el6.x86_64
现在:2.6.32-220.23.1.el6.x86_64
安装模块至少消耗1G,如果是虚拟机最好扩大一下容量
期间可能出现依赖性问题,需要 yum install -y port-devel
打完补丁后随后的操作就比较简单了
cd lvs-fullnat-synproxy/ #内核配置完以后进入该目录
tar zxf lvs-tools.tar.gz #解压lvs的压缩包
cd tools/ #进入解压后的目录
cd keepalived/ #进入keeplived目录
yum install popt-devel -y #安装依赖性软件
./configure --with-kernel-dir="/lib/modules/`uname -r`/build" #生成配置文件
make
make install #编译
cd tools/
cd ipvsadm/ #进入ipvsadm的目录下
vim Makefile #检查配置文件无误后开始编译安装
yum remove ipvsadm #将原本的ipvsadm给删除
make
make install #编译安装
/etc/init.d/ipvsadm status #查看更新后的SIZE
ipvsadm --help | grep fullnat #发现更新后有了fullnat模式