首先在安裝Red Hat 7.2的時候,要將所有編譯內核的庫文件和編譯工具都選上。如果系統安裝後,發現不能編譯內核,請重新安裝安裝光盤中以Kernel開頭的RPM包。關閉一些不常用的服務後,再重新啟動。 然後解壓下載的內核,將其放在/usr/src/目錄下,命令如下: # tar xzvf Linux-2.4.21.tar.gz -C /usr/src # cd /usr/src # ln -s ./linux-2.4.21 linux 用戶在/usr/src目錄下,給新內核打上IPVS的補丁,命令如下: # gunzip linux-2.4.21-ipvs-1.0.10.patch.gz patch -p0 //將IPVS的Patch加載到內核的代碼中 如果是利用Direct Routing或IP TUN模式,還需要加載“hidden”的patch (hidden-2.4.20pre10-1.diff)檔案,將其放在/usr/src目錄下,利用下面的命令: # cat hidden-2.4.20pre10-1.diff patch -p0
內核配置 開始編譯前,內核的配置工作很重要,命令如下: # cd linux //進入編譯目錄下 # make mrproper //刪掉上次編譯產生的.o文件等 # make menUConfig 在內核的配置過程中,最重要的就是網卡的驅動。如果不能很好地把網卡驅動起來,那麼所有的工作都是徒勞的。接著只需注意編譯選項中的如下幾項: Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers #### 請選擇代碼的成熟性 Networking options ---> [*] Network packet filtering (replaces ipchains) [ ] Network packet filtering debugging ... IP: Netfilter Configuration ---> 其中“IP: Virtual Server Configuration”的配置參見圖1。 [[The No.1 Picture.]]
編譯內核 在用戶保存了各種配置,退出後,系統會提示用戶運行“make dep”命令。具體過程如下: # make dep //確保所有的相依關系,會花一點時間 # make clean //清除一些已經無用的中間代碼 # make bzImage //開始編譯內核,屏幕上出現很多編譯內容, 大概20分鐘左右,視系統強壯而定 # make modules //編譯模塊 # make modules_install //安裝模塊 #cp arch/i386/boot/bzImage /boot/ vmlinuz-2.4.21-lvs #cp System.map /boot/System.map.2.4.21-lvs
修改LILO 如果使用LILO引導開機,那麼需要照下面的格式修改/etc/lilo.conf: #vi /etc/lilo.conf prompt timeout=50 boot=/dev/hda map=/boot/map install=/boot/boot.b linear image=/boot/vmlinuz-2.4.7-10 label=linux root=/dev/hda5 read-only image=/boot/vmlinuz-2.4.21-lvs label=lvs root=/dev/hda5 read-only #添加以上這一段 other=/dev/hda1 label=win table=/dev/had # 結束編輯退出 # lilo //重新運行LILO生效 如果是用GRUB引導,需要設定好/boot/grub.conf default=1 timeout=10 splashimage=(hd0,0)/boot/grub/splash.XPm.gz title Linux (2.4.7-10) root (hd0,0) kernel /boot/vmlinuz-2.4.7-10 ro root=LABEL=/initrd /boot/initrd-2.4.7-10.img title LVS (2.4.21-lvs) root (hd0,0) kernel /boot/vmlinuz-2.4.21-lvs ro root=LABEL=/initrd /boot/initrd-2.4.21-lvs.img title Windows map (hd0) (hd1) map (hd1) (hd0) root (hd1,0) chainloader (hd1,0)+1 makeactive boot 重新開機,選擇LVS內核啟動機器,查看開機過程有無錯誤發生,然後檢查/proc/sys/net/ipv4/conf/all/hidden是否存在。
如果不存在,說明編譯中有問題,建議用戶重新再編譯。如果一切順利,那麼可以安裝ipvsadm的二進制軟件包。安裝後可以用下面的命令檢驗,如果出現以下提示,說明安裝成功: # ipvsadm // IPVS的管理軟件 IP Virtual Server version 1.0.9 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn