CentOS 5 lvs+piranha实现隧道模式负载均衡
一。需要的软件包 1. ipvsadm-1.24-8.1.i386.rpm 2. modcluster-0.8-2...
扫描右侧二维码阅读全文
09
2008/09

CentOS 5 lvs+piranha实现隧道模式负载均衡

一。需要的软件包
1. ipvsadm-1.24-8.1.i386.rpm
2. modcluster-0.8-27.el5.i386.rpm
3. piranha-0.8.4-7.el5.i386.rpm
4. system-config-cluster-1.0.39-1.0.noarch.rpm
5. php-5.1.6-5.el5.i386.rpm
6. php-cli-5.1.6-5.el5.i386.rpm
7. php-common-5.1.6-5.el5.i386.rpm
8. http*

或者选择系统自带的 Cluster 套件可以直接安装。

二。系统架构。

Virtual IP :192.168.1.20(VIP 对外提供服务器的ip地址,也就是域名解析到的地址。)
Load Balance : 192.168.1.16(LB12)
Real Server:192.168.1.14(r14)、192.168.1.15(r15)
二.LVS Server的安装设置(LB12):
1。安装
# rpm -ivh *
安装完包以后,会生成最主要的几个文件分别是:/etc/sysconfig/ha/lvs.cf,/etc/init.d/piranha-gui,/etc/init.d/pulse
2。设置piranha管理密码
# piranha-passwd
按照提示输入管理密码
3。启动 web 服务和piranha
# service httpd start
# service piranha-gui start
4。配置lvs
配置lvs主要通过piranha提供的http方式完成。
4.1。访问http://192.168.1.16:3636/
4.2。点击“Login”,再弹出的登陆框输入用户名:piranha,密码是前面通过piranha-passwd设置的密码,“确定”。
具体的配置可以参考http://www.dvdshop.com.cn/manual/redhat_AS_3.0_CS/index.html 第12章。
注意:控制面板-〉VIRTUAL SERVERS ->Virtual IP Address: 设置VIP地址。
4.3。启用数据转发
# vi /etc/sysctl.conf

net.ipv4.ip_forward = 0
改为
net.ipv4.ip_forward = 1
注意:重新启动系统一个此设置才会生效。

传统文档的lvs节点配置现在都由piranha图形工具来完成,因此不需要使用命令行来配置。

5。ipvsadm启动
# service ipvsadm start
如果在重新启动的时候,提示说/etc/sysconfig/ipvsadm不存在。那么
# touch /etc/sysconfig/ipvsadm

三.Real Server的设置(r14、r15):
1。创建IP Tunnel
# ifconfig tunl0 192.168.1.20 netmask 255.255.255.255 broadcast 192.168.1.20 up
2。将tunl0加入路由表(routing table)
# route add -host 192.168.1.20 dev tunl0
这四句目的是为了关闭ARP广播响应
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/tunl0/arp_announce
注意:上面的语句只是临时关闭。服务器重新启动以后设置就自动消失了。
如果需要让设置长时间有效那么,进行如下操作:
# vi /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.tunl0.arp_ignore = 1
net.ipv4.conf.tunl0.arp_announce = 2
下面的语句恢复原始设置。
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/tunl0/arp_announce
注意:上面的语句只是临时恢复。服务器重新启动以后设置就自动消失了。
如果需要让设置长时间有效那么,进行如下操作:
# vi /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 0
net.ipv4.conf.all.arp_announce = 0
net.ipv4.conf.tunl0.arp_ignore = 0
net.ipv4.conf.tunl0.arp_announce = 0

Last modification:November 26th, 2018 at 04:16 pm
If you think my article is useful to you, please feel free to appreciate

9 comments

  1. ready

    可以在不同的网段和交换机上。

    建议你看看三种模式的特点。

  2. qiusir

    请问博主,这几个ip需要在同一个交换机下面吗。

  3. Johnny Woo

    TO WADE:
    虚拟IP就是一个真实IP地址.只是这个地址被LVS,以及后端服务器公用.几台上面都要绑定这个IP地址.如果LVS服务器只有一个IP地址,则LVS服务器的管理只能通过内网上去了.

  4. WADE

    麻烦加我QQ好吗,43188540,想请教您LVS,十分着急

  5. WADE

    博主,我想请教,如果在公网使用,Load Balance服务器的虚拟IP也要使用一个公网的固定IP吗?因为我的Load Balance服务器在电信机房只申请了一个IP,也只有一个网卡接口

  6. Druggo

    net.ipv4.ip_forward = 1
    这个没有必要吧?

  7. ready

    当初这个是用来测试视频文件缓存的。由于squid的先天缺陷在大文件的高并发下他的运行状况很不理想。非常不理想。

  8. freeke

    请教博主有没有在这个网络基础上做高并发的压力测试?

Leave a Comment