首先我們需要下載新的內核版本與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模式