lvs配置与安装
今天做了LVS的集群配置,做完了之后已经能用了,可是发现问题,第一个页面连接过去的时候是“找不到服务器”,第二个页面连接要经过刷新几次之后才能显 示出全部完整的的信息(有时是图片下载没有全部,有时候时css样式没有全部显示出来),在这我贴出我做的过程,希望高手给与指点:
环境:
OS:linux –rh4 –u4
内核版本:linux-2.6.9-42.ELsmp
Director PC:192.168.1.57
Virtual ip :192.168.1.254 255.255.255.0
Real server : 192.168.1.202
Real server : 192.168.1.203
由于linux的内核版本支持LVS,所以就直接安装ipvs了。
1.首先在DIRECTOR 上面操作:
这只需要下载一个ipvsadm-1.24.tar.gz
(我下载过一个rpm的包,但是安装之后发现它报错是用户不存在,这是为什么?
如下
[root@localhost dwt]# rpm -ivh ipvsadm-1.24-6.src.rpm
1:ipvsadm? ?? ?? ?? ?? ? warning: user wensong does not exist - using root
warning: group wensong does not exist - using root
warning: user wensong does not exist - using root)
warning: group wensong does not exist - using root
########################################### [100%]
)
# tar zxvf ipvsadm-1.24.tar.gz
# cd ipvsadm-1.24
# ls -alh /usr/src/? ?? ?//查看有没有linux目录,如果没有根据自己的内核版本做个软连接,否则在make时会报错。
# ln -s /usr/src/kernels/2.6.9-42.EL-i686/ /usr/src/linux
# make
# make install
[root@localhost network-scripts]# touch ifcfg-eth0:0
[root@localhost network-scripts]# vi ifcfg-eth0:0
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.254
NETMASK=255.255.255.255
BROADCAST=192.168.1.255
~
~~
"ifcfg-eth0:0" 6L, 111C written
[root@localhost network-scripts]# ifconfig eth0:0 192.168.1.254 netmask 255.255.255.255 up
[root@localhost network-scripts]# route add -host 192.168.1.254 dev eth0:0? ?
[root@localhost network-scripts]# service network restart
[root@localhost net]# ipvsadm -A -t 192.168.1.254:8080 -s rr
[root@localhost net]# ipvsadm -a -t 192.168.1.254:8080 -r 192.168.1.202:8080 -g
[root@localhost net]# ipvsadm -a -t 192.168.1.254:8080 -r 192.168.1.203:8080 -g
执行成功查看 /var/log/message中会有以下提示:
Dec??2 17:37:53 localhost kernel: IPVS: Registered protocols (TCP, UDP, AH, ESP)
Dec??2 17:37:53 localhost kernel: IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
Dec??2 17:37:53 localhost kernel: IPVS: ipvs loaded.
Dec??2 17:37:53 localhost kernel: IPVS: [rr] scheduler registered.
[root@localhost net]# service iptables stop
2、realserver服务器
ifconfig eth0:0 192.168.1.254 netmask 255.255.255.255 broadcast 192.168.1.254 up
/sbin/route add -host 192.168.0.100 dev eth0:0
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
echo "0" > /proc/sys/net/ipv4/conf/lo/rp_filter
而且也都在两个real server上面使用ifconfig 查看 eth0 eth0:0 lo 都是显示正常,都启用。
Iptables 也全部关闭。
3.测试
测试过程一切正常,连续打开IE 浏览 [url]http://192.168.1.254:8080[/url] 都是分别浏览到不同的页面,而且在DR的服务器上输入ipvsadm –L
[root@localhost ipv4]# ipvsadm -L
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress: Port Scheduler Flags
-> RemoteAddress : Port? ?? ?? ???Forward Weight ActiveConn InActConn
TCP??192.168.1.254 : webcache rr
-> 192.168.1.203 : webcache? ?? ? Route? ?1? ?? ?3? ?? ?? ? 4? ?? ?? ?
-> 192.168.1.202 : webcache? ?? ? Route? ?1? ?? ?5? ?? ?? ? 1? ?? ?? ?
我不知道三个服务器的虚拟端口我设置的都是一样的eth0:0是否可以,我看有些文档的real server的端口设置lo:0,子网掩码也有的是255.255.255.255 有的是255.255.255.0,因为是第一次做没有甚么经验,希望有经验的人给我些建议。