一、内核编译
1.环境部署
<1>给虚拟机分配2048M内存
<2>配置高可用yum源
<3>下载软件
2.实验部署
<1>安装内核源码包
[root@server1 ~]# yum install rpm-build -y
# rpmbuild命令被用于创建rpm的二进制软件包和源码软件包
[root@server1 ~]# rpm -ivh kernel-2.6.32-220.23.1.el6.src.rpm
[root@server1 ~]# cd rpmbuild/SPECS/
[root@server1 SPECS]# rpmbuild -bp kernel.spec
根据依赖性提示,安装对应的包
yum install gcc redhat-rpm-config patchutils xmlto asciidoc elfutils-libelf-devel zlib-devel binutils-devel newt-devel python-devel perl-ExtUtils-Embed hmaccalc -y
下载并安装软件包(3个)
[root@server1 ~]# 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
<2>从RPM获取内核源代码
[root@server1 SPECS]# rpmbuild -bp kernel.spec
打开另一个终端:
[root@server1 ~]# yum provides */rngd
[root@server1 ~]# yum install rng-tools-2-13.el6_2.x86_64 -y
[root@server1 ~]# rngd -r /dev/urandom
# 执行之后原终端的立即完成工作
返回原终端:
[root@server1 ~]# tar zxf Lvs-fullnat-synproxy.tar.gz
[root@server1 lvs-fullnat-synproxy]# ls
lvs-2.6.32-220.23.1.el6.patch README
lvs-tools.tar.gz toa-2.6.32-220.23.1.el6.patch
[root@server1 lvs-fullnat-synproxy]# pwd
/root/lvs-fullnat-synproxy
[root@server1 lvs-fullnat-synproxy]# cp lvs-2.6.32-220.23.1.el6.patch /root/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64
<3>打补丁:
[root@server1 linux-2.6.32-220.23.1.el6.x86_64]# pwd
/root/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64
[root@server1 linux-2.6.32-220.23.1.el6.x86_64]# patch -p1<lvs-2.6.32-220.23.1.el6.patch
<4>查看原内核版本并修改配置文件
[root@server1 linux-2.6.32-220.23.1.el6.x86_64]# uname -r
2.6.32-431.el6.x86_64
[root@server1 linux-2.6.32-220.23.1.el6.x86_64]# vim Makefile
<5>编译、导入模块并安装
[root@server1 linux-2.6.32-220.23.1.el6.x86_64]# make ##编译
[root@server1 linux-2.6.32-220.23.1.el6.x86_64]# make modules_install ##导入模块
[root@server1 linux-2.6.32-220.23.1.el6.x86_64]# make install
<6>修改引导文件
[root@server1 ~]# cd /boot/grub/
[root@server1 grub]# vim grub.conf
[root@server1 grub]# reboot
默认启动
查看新内核版本号:
二、LVS Tools安装
1. keepalived install
./configure --with-kernel-dir="/lib/modules/`uname -r`/build";
make;
make install
2ipvsadm install
make;
make install;