然后就是常規(guī)的編譯內(nèi)核過(guò)程,不再贅述,請(qǐng)參考編譯 Linux 教程
在這里要注意一點(diǎn):如果你使用的是RedHat自帶的內(nèi)核或者從RedHat下載的內(nèi)核版本,已經(jīng)預(yù)先打好了LVS的補(bǔ)丁。這可以通過(guò)查看/usr/src/linux/net/目錄下有沒(méi)有幾個(gè)ipvs開(kāi)頭的文件來(lái)判斷:如果有,則說(shuō)明已經(jīng)打過(guò)補(bǔ)丁。
編寫(xiě)LVS配置文件,實(shí)例中的配置文件如下:
#lvs_dr.conf (C) Joseph Mack mack@ncifcrf.gov
LVS_TYPE=VS_DR
INITIAL_STATE=on
VIP=eth0:101 192.168.0.101 255.255.255.0 192.168.0.0
DIRECTOR_INSIDEIP=eth0 192.168.0.1 192.168.0.0 255.255.255.0
192.168.0.255
SERVICE=t telnet rr rs1:telnet rs2:telnet
SERVICE=t www rr rs1:www rs2:www
SERVER_VIP_DEVICE=dummy0
SERVER_NET_DEVICE=eth0
#----------end lvs_dr.conf------------------------------------
將該文件置于/etc/lvs目錄下。
使用LVS的配置腳本產(chǎn)生lvs.conf文件。該配置腳本可以從http: //www.linuxvirtualserver.org/Joseph.Mack/configure-lvs_0.8.tar.gz 單獨(dú)下載,
在ipvs-1.0.6-2.2.19.tar.gz包中也有包含。
腳本configure的使用方法:
[root@vs2 lvs]# configure lvs.conf
這樣會(huì)產(chǎn)生幾個(gè)配置文件,這里我們只使用其中的rc.lvs_dr文件。
修改/etc/rc.d/init.d/rc.local,增加如下幾行:
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_always_defrag
# 顯示最多調(diào)試信息
echo 10 > /proc/sys/net/ipv4/vs/debug_level
配置NFS服務(wù)。這一步僅僅是為了方便管理,不是必須的步驟。
假設(shè)配置文件lvs.conf文件放在/etc/lvs目錄下,則/etc/exports文件的內(nèi)容為:
/etc/lvs ro(rs1,rs2)
然后使用exportfs命令輸出這個(gè)目錄:
[root@vs2 lvs]# exportfs
如果遇到什么麻煩,可以嘗試:
[root@vs2 lvs]# /etc/rc.d/init.d/nfs restart
[root@vs2 lvs]# exportfs
這樣,各個(gè)real server可以通過(guò)NFS獲得rc.lvs_dr文件,方便了集群的配置:你每次修改lvs.conf中的配置選項(xiàng),都可以即可反映在rs1,rs2的相應(yīng)目錄里。
修改/etc/syslogd.conf,增加如下一行: kern.* /var/log/kernel_log
這樣,LVS的一些調(diào)試信息就會(huì)寫(xiě)入/var/log/kernel_log文件中.
real server的配置
real server的配置相對(duì)簡(jiǎn)單,主要是是以下幾點(diǎn):
配置telnet和WWW服務(wù)。telnet服務(wù)沒(méi)有需要特別注意的事項(xiàng),但是對(duì)于www服務(wù),需要修改httpd.conf文件,使得apache在虛擬服務(wù)器的ip地址上監(jiān)聽(tīng),如下所示:
Listen 192.168.0.101:80