一、LVS和Nginx的对比:
LVS相当于一个路由器,负责数据包的转发,它和路由器的区别就是LVS具有调度功能,是linux内核功能。
使用nginx也可以创建集群,nginx是代理(代替用户访问),代替用户发送请求,然后把结果返回给用户。
nginx的效率不如lvs高,lvs的功能不如nginx多,lvs只是单纯的做数据包转发。
二、LVS专业术语:
Director Server:调度服务器
Real Server:真实服务器
VIP:虚拟ip,公布给客户机使用的ip地址
RIP:真实ip,集群节点(real server)的ip地址
DIP:调度服务器连接节点的ip地址。
三、LVS组成:
前端:负载均衡层,由一台或者多台调度服务器组成
中端:服务器群组成,由real server组组成。
后端:数据库共享存储层,数据库
使用LVS要打开NAT,用于vip和rip的相互转换。
四、LVS工作模式:
1、NAT模式:
所有的流量都经过lvs调度服务器,因此lvs调度服务器可能成为瓶颈。这种工作模式只能适用于中小型规模的集群。2、DR模式:(直连)
lvs把用户的请求转发给server,然后server直接把返回的结果给用户。适用于大规模集群。3、Tun模式:(隧道模式)
服务器和调度器之间是通过互联网连接的,需要在lvs和server之间创建一个隧道。很少这样用。
五、LVS负载均衡调度算法:
rr:轮询
wrr:加权轮询
lc:最少连接
wlc:加权最少连接
sh:客户机访问固定服务器(相当于nginx中ip_hash),对源地址做hash
dh:客户机访问固定服务器,对目的地址做hash
六、lvs基础操作:
yum -y install ipvsadm #安装软件包通过命令行进行lvs操作
ipvsadm 选项命令:
-A 创建一个集群,此时还没有真实服务器
-E 修改集群信息
-D 删除集群
-C 清空所有集群
-a 为集群添加real server
-e 修改real server信息
-d 删除real server
-L 查看集群信息
-s [ rr | wrr | lc | wlc | hs ] #指定调度算法
创建集群:
ipvsadm -A -t 192.168.4.5:80 -s wrr
#创建集群,采用wrr调度。-t代表tcp协议,udp使用-u
修改集群信息:
ipvsadm -E -t 192.168.4.5:80 -s lc #修改集群信息,采用lc调度
删除集群:
ipvsadm -D -t 192.168.4.5:80
为集群添加real server:
ipvsadm -a -t 192.168.4.5:80 -r 192.168.2.100 -m -w 1
#位192.168.4.5:80集群添加了一台real server。-m表示NAT模式 ,-w表示权重(默认是1)
# -r表示real server
# -m是NAT模式,-g是DR模式(默认),-i是隧道模式
修改real server信息:
ipvsadm -e -t 192.168.4.5:80 -r 192.168.2.100 -g -w 2
#修改为DR模式,权重修改为2
删除real server:
ipvsadm -d -t 192.168.4.5:80 -r 192.168.2.100
查看集群信息:
ipvsadm -Ln #n表示采用数字的形式表示ip和端口
永久保存所有规则:
ipvsadm-save -n > /etc/sysconfig/ipvsadm