浅谈LVS负载均衡问题
负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群。常用的负载均衡开源软件有nginx、lvs、haproxy,商业的硬件负载均衡设备F5、Netscale。这里主要是学习 LVS 并对其进行了详细的总结记录。
LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director Server上,然后它把用户的请求根据设置好的调度算法,智能均衡地分发到后端真正服务器(real server)上。为了避免不同机器上用户请求得到的数据不一样,需要用到了共享存储,这样保证所有用户请求的数据是一样的。
1. Lvs的组成:
LVS 由2部分程序组成,包括 ipvs 和 ipvsadm。
1. ipvs(ip virtual server):一段代码工作在内核空间,叫ipvs,是真正生效实现调度的代码。
2. ipvsadm:另外一段是工作在用户空间,叫ipvsadm,负责为ipvs内核框架编写规则,定义谁是集群服务,而谁是后端真实的服务器(Real Server)
2. Lvs配置步骤:
a. 准备好3台虚拟机,配置ip在同一网段
b. 配置lvs的VIP
c. 调整后端真实server的响应,通告级别(每一台)
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
d. 调整后端真实server的VIP(每一台)
ifconfig lo:8 192.168.9.100 netmask 255.255.255.255
e. 启动真实server上的httpd服务,并编写欢迎页面
service httpd start
/var/www/html
vi index.html from ooxxip
f. 在LVS主机器上安装ipvsadm,并配置
yum install ipvsadm -y
ipvsadm -A -t 192.168.9.100:80 -s rr
ipvsadm -a -t 192.168.9.100:80 -r 192.168.9.12 -g
ipvsadm -a -t 192.168.9.100:80 -r 192.168.9.13 -g
ipvsadm -ln
ipvsadm –lnc
g. 保存规则:
ipvsadm -S > /tmp/lvs_conf
h. 载入此前规则:
ipvsadm -R < /tmp/lvs_conf