第1章 LVS 简介 1.1 LVS介绍
LVS是Linux Virtual Server的简写,意为Linux虚拟服务器,是虚拟的服务器集群系统,可在UNIX/LINUX平台下实现负载均衡集群功能。该项目在1998年5月由章文嵩博士组织成立,是国内最早出现的自由软件项目之一
官网:
中文资料: LVS项目介绍 http:// LVS集群的体系结构 http:// LVS集群中的IP负载均衡技术 http:// LVS集群的负载调度 http://
简单一句话,当并发超过了Nginx上限,就可以使用LVS了。
日1000-2000W PV或并发请求1万以下都可以考虑用Nginx。
大型门户网站,电商网站需要用到LVS。
早在2.2内核时,IPVS就已经以内核补丁的形式出现
从2.4.23版本开始,IPVS软件就合并到Linux内核常用版本的内核补丁的集合
从2.4.24以后IPVS已经成为Linux官方标准内核的一部分
说明:
LVS无需安装
安装的是管理工具,第一种叫ipvsadm,第二种叫keepalive
ipvsadm是通过命令行管理,而keepalive读取配置文件管理
后面我们会用Shell脚本实现keepalive的功能
第2章 LVS集群搭建 2.1 环境准备主机名
主机IP
备注
lb03
10.0.0.15
01.Cent0S7.4系统,内存512M
02.防火墙firewall和Selinux关闭
03.web03和web04只安装Nginx软件,并满足
curl 页尾得到结果为web03
curl 页尾得到结果为web04
lb04
10.0.0.16
web03
10.0.0.17
web04
10.0.0.18
2.1 安装ipvsadm管理工具
1 lsmod |grep ip_vs #查看系统的LVS模块->默认没有加载模块,需安装管理工具才会激活 2 yum -y install ipvsadm
查看当前LVS状态,顺便激活LVS内核模块
[root@lb03 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@lb03 ~]# lsmod|grep ip_vs
ip_vs 141092 0
nf_conntrack 133387 1 ip_vs
libcrc32c 12644 3 xfs,ip_vs,nf_conntrack
注意ipvsadm -ln作用:健康检查,即当某台web服务器出现问题时LVS将自动踢出;等恢复后再添加进来
2.1.1 ①在eth0网卡绑定VIP地址(高可用)
1 ip addr add 10.0.0.13/24 dev eth0 #lb服务的IP地址可扩展性较差,故使用VIP地址(删除del;显示show)
2.1.2 ②清除当前所有LVS规则
1 ipvsadm -C
2.1.3 ③设置tcp、tcpfin、udp链接超时时间(s)
1 ipvsadm --set 30 5 60 #控制浏览器与lb01的超时时间
2.1.4 ④添加虚拟服务,调度算法见man ipvsadm
1 ipvsadm -A -t 10.0.0.13:80 -s wrr -p 20 2 3 #LVS默认无80端口,需另外添加新的虚拟IP记录->控制lb01与web01、web02的超时时间
2.1.5 ⑤将虚拟服务关联到真实服务上
1 ipvsadm -a -t 10.0.0.13:80 -r 10.0.0.17:80 -g -w 1 2 3 ipvsadm -a -t 10.0.0.13:80 -r 10.0.0.18:80 -g -w 1
2.1.6 ⑥查看配置结果[root@lb03 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096) #LVS版本号
Prot LocalAddress:Port Scheduler Flags #协议(TCP)本地IP:端口 调度算法 标志(持续时间20s)
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
#后端节点IP:端口 工作模式 权重 已建立连接 正在连接
TCP 10.0.0.3:80 wrr persistent 20
-> 10.0.0.17:80 Route 1 0 0
-> 10.0.0.18:80 Route 1 0 0
1 ip addr add 10.0.0.13/32 dev lo
2.2.2 Ⅱ.修改内核参数抑制ARP响应