- 论坛徽章:
- 0
|
实现的环境是在virtual pc 2004里面。linux版本为Redhat 9.0 从kernel.org上下载的源码为linux-2.4.20.tar.gz。
编译内核的操作过程:
把ipvs补丁Patch到内核源码中
把linux-2.4.20.tar.gz解压到/usr/src目录,生成了/usr/src/linux-2.4.20*目录,在/usr/src下建立一个连接 ln –s linux-2.4.20* linux。
把ipvs-1.0.9.tar.gz解压缩到某个目录,如/usr/src,生成了/usr/src/ipvs-1.0.9目录;进入/usr/src/ipvs-1.0.9,依次执行如下命令:make patchkernel、make installsource,将ipvs的Patch加载到kernel的source中。
进入到/usr/src/linux中,依次执行make mrproper,make menuconfig。
执行make menuconfig时,我们将进入一个图形化的界面,在其中可以对Linux Kernel进行详细设置。与LVS相关的kernel选项都在“Networking options”中,进入“Networking options”,可以查看到“IP: Virtual Server Configuration”选项,将其它所有的子选项都选上:
<M> virtual server support (EXPERIMENTAL)
IP virtual server debugging
(12) IPVS connection table size (the Nth power of 2)
--- IPVS scheduler
<M> round-robin scheduling
<M> weighted round-robin scheduling
<M> least-connection scheduling scheduling
<M> weighted least-connection scheduling
<M> locality-based least-connection scheduling
<M> locality-based least-connection with replication scheduling
<M> destination hashing scheduling
<M> source hashing scheduling
<M> shortest expected delay scheduling
<M> never queue scheduling
--- IPVS application helper
<M> FTP protocol helper
另外,“Networking options”中的“IP: Netfilter Configuration"中的选项的所有子项,除了以下两项不要选之外,其它全可以选:
< > ipchains (2.2-style) support
< > ipfwadm (2.0-style) support
还有,“Networking options”中还有一些关于网络的选项,要注意按自己的需要去选择:
<*> Packet socket
[ ] Packet socket: mmapped IO
<*> Netlink device emulation
Network packet filtering (replaces ipchains)
Network packet filtering debugging
Socket Filtering
<*> Unix domain sockets
TCP/IP networking
IP: multicasting
IP: advanced router
IP: policy routing
[ ] IP: use netfilter MARK value as routing key
[ ] IP: fast network address translation
<M> IP: tunneling
对于kernel的其它选项,你可以根据需要进行选择。kernel的配置是一项很需要经验、细心和耐心的工作,不当的配置可能会导致编译过程中出现错误或者是新的kernel不能驱动原有的设备等问题。
退出保存,然后继续执行以下命令:
make dep
make clean
make bzImage
make modules
make modules_install
以上各步可能需要一点时间,如果出错请重新检查你的kernel配置,如果没有出现任何错误就继续执行以下命令:
depmod -a
cp arch/i386/boot/bzImage /boot/vmlinuz-lvs
cp System.map /boot/System.map-lvs
cd /boot
rm System.map
ln -s System.map-lvs System.map
完成上面的操作后。然后修改你的grub.conf使用新的kernel启动。grub.conf的配置文件如图。
启动时的错误信息如图。 |
|