Web服务器集群——LVS负载均衡群集

                                                     第十章 LVS负载均衡群集

一、LVS群集应用基础
1、群集技术概述
(1)群集类型
负载均衡群集:提高系统响应能力,尽可能处理更多的访问请求、减少延迟、获得高并发、高负载的整体能力
高可用群集:提高系统的可靠性。减少中断时间、确保服务的连续性,达到高可用的容错效果
高性能运算群集:提高系统CPU运算速度、扩展硬件资源和分析能力
(2)负载均衡的分层结构
①负载调度器:整个访问群集的唯一入口,对外使用所有服务器共有VIP地址,也称为群集IP地址。通常会配置主、备两台实现热备份
②服务器池:群集提供的应用服务由服务器池承担,每个节点具有独立的RIP地址,只处理调度器分发过来的客户机请求
③共享存储:为服务器池所有节点提供稳定、一致的文件存取服务,确保整个群集的统一性。Linux环境中,可以使用NAS设备或者提供NFS共享服务的专用服务器
(3)负载均衡的工作模式
地址转换(Network Address Translation):简称NAT,调度器作为所有节点的网关。服务器节点使用私网IP,与调度器在同一物理网络,安全性最高
IP隧道:简称TUN模式,采用开放式网络结构,调度器仅作为客户机访问入口,各节点通过internet连接直接回复客户机,拥有各自的公网IP
直接路由:简称DR模式。采用半开放的网络结构,与TUN类似,但节点与调度器处于同一个物理网络。
2、LVS虚拟服务器
Linux Virtual Server是针对Linux内核开发的一个负载均衡项目,由我国张文嵩博士1998年5月创建,管网http://www.linuxvirtualserver.org
模块启用:modprobe ip_vs
版本查看:cat /proc/net/ip_vs
(1)LVS的负载调度算法
轮询(Round Robin)
加权轮询(Weighted Round Robin)
最少连接(Least Connections)
加权最少连接(Weighted Least Connections)
(2)使用ipvsadm管理工具
①安装:yum install -y ipvsadm
创建虚拟服务器:ipvsadm -A -t 192.168.11.20:80 -s rr
1)A:添加虚拟服务器
2)t:指定VIP地址及端口
3)s:调度算法(轮询:rr、加权轮询:wrr、最少连接:lc、加权最少连接:wlc)
添加服务节点:ipvsadm -a -t 192.168.11.20:80 -r 192.168.1.31:8080 -m -w 1
1)a:添加节点
2)r:RIP及端口
3)m:NAT模式(g:DR模式、i:TUN模式)
4)w:权重(0表示暂停节点)
查看群集节点状态:ipvsadm -ln
1)l:查看列表
2)n:数字形式显示
删除节点:ipvsadm -d -r 192.168.1.31:8080 -t192.168.11.20:80
⑥保存策略:
1)ipvsadm-save/ipvsadm-restore
2)service ipvsadm save

二、负载均衡实例
1、NAT模式
(1)建立内网web服务器两台,LVS调度器一台
(2)调度器SNAT配置:iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 192.168.11.20
(3)调度器策略配置
①service ipvsadm stop
②ipvsadm -A -t 192.168.11.20:80 -s rr
③ipvsadm -a -t 192.168.11.20:80 -r 192.168.1.31:8080 -m -w 1
④ipvsadm -a -t 192.168.11.20:80 -r 192.168.1.32:8080 -m -w 1

⑤service ipvsadm save
⑥service ipvsadm start
⑦chkconfig ipvsadm on
(4)测试:通过访问调度器IP的80端口进行测试
Web服务器集群——LVS负载均衡群集_第1张图片
2、DR模式
Web服务器集群——LVS负载均衡群集_第2张图片
Web服务器集群——LVS负载均衡群集_第3张图片
Web服务器集群——LVS负载均衡群集_第4张图片
(1)配置负载调度器
配置虚拟IP地址(VIP)
1)双网卡则分别设置同网段不同IP
2)单网卡可配置虚接口
a.修改eth0
DEVICE=eht0:0
ONBOOT=yes
IPADDR=192.168.11.22
NETMASK=255.255.255.0
b.ifup eth0:0
3)调整/proc响应参数
a.DR模式,LVS负载调度器和各节点需要共用VIP地址,应该关闭Linux内核的重定向参数响应(不关闭重定向,调度器将把请求转发到网关)
b.vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.eth0.send_redirects=0
c.sysctl -p

4)配置负载分配策略
service ipvsadm stop
ipvsadm -A -t 192.168.11.22:80 -s rr
ipvsadm -a -t 192.168.11.22:80 -r 192.168.11.31:8080 -g -w 1
ipvsadm -a -t 192.168.11.22:80 -r 192.168.11.32:8080 -g -w 1

service ipvsadm save
service ipvsadm start
chkconfig ipvsadm on
配置节点服务器
使用DR模式,节点服务器也需要配置VIP地址,并调整内核ARP响应参数以阻止更新VIP的MAC地址,避免发生冲突。除此之外,WEB服务器的配置与NAT模式类似
1)配置VIP
a.vim /etc/sysconfig/network-script/ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.11.22
NETMASK=255.255.255.255
b.ifup lo:0
c.route add -host 192.168.11.22 dev lo:0
2)调整/proc响应参数
Web服务器集群——LVS负载均衡群集_第5张图片
a.vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf..all.arp_announce = 2
net.ipv4.conf.default.arp_inore = 1
net.ipv4.conf..default.arp_announce = 2
net.ipv4.conf.lo.arp_inore = 1
net.ipv4.conf..lo.arp_announce = 2
b.sysctl -p

3)安装httpd,创建测试页面
③测试LVS群集
1)测试过程中可能出现刷新网页后,网页不会跳转到其他节点,此问题因测试机ARP记录导致,清空ARP表后可正常跳转
2)可增加一台NAT服务器,将LVS的三台服务器调整至领一网段,通过NAT服务器进行测试,此时将不会出现上述问题

 

你可能感兴趣的:(云计算,Linux,lvs,负载均衡器)