首页 > 代码库 > 44.LVS群集应用

44.LVS群集应用

LVS群集

群集的类型:

负载均衡群集:提高应用程序的响应能力,以减少延迟为目标,获得高并发,高负载的整体性能。

高可用群集:提高应用系统的可靠性,尽可能的减少中断为目标,确保服务的连续性,达到高可用的容错效果。

高性能运算群集:提高应用系统的CPU运算速度,获得相当于大型,超级计算的高性能运算能力。

负载均衡群集的分层结构:负载调度器,服务器池,共享存储。 

负载均衡的工作模式:

地址转换模式:NAT,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各个节点回应客户机的访问出口,服务器节点使用私有IP地址,与负载均衡器位于同一个物理网络。

直接路由模式:DR,采用半开式的网络结构,服务器与调度器位于同一个物理网络。

IP隧道模式:TUN,采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的internet连接直接会用客户机,而不再进过负载均衡调度器。

  

LVS虚拟服务器是针对Linux内核开发的一个负载均衡的项目,LVSlinux系统内核的一部分,默认编译为ip_vs模块,使用管理ipvsadm管理工具。

LVS的负载调度算法:

轮询:将收到的访问请求按顺序来分配给群集中的各个节点。

加权轮询:根据真实服务器的处理能力轮流分配给群集中的各个节点。

最少连接:根据真是服务器已建立的连接数进行分配。

加权最少连接:为真是服务器自动调整权重,权重较高的节点承担更大比例的活动连接。

直接路由LVS-DR部署:

配置调度服务器:

#iptables -F                                    关闭防火墙

#setenfoece 0

#modprobe ip_vs                               加载IP_vs模块

#yum -y install ipvsadm                          安装ipvs管理工具

#ifconfig eth0:0 1.1.1.100/32                        创建环回虚IP

#route add -host 1.1.1.100 dev eth0:0                 创建虚IP路由

#service ipvsadm stop                           清楚ipvsadm策略

#ipvsadm -A -t 1.1.1.100:80 -s rr                   创建虚拟服务器

#ipvsadm -a -t 1.1.1.100:80 -r 1.1.1.180  -g  -w  1    创建ipvsadm策略

#ipvsadm -a -t 1.1.1.100:80 -r 1.1.1.280  -g  -w  1

#service ipvsadm save                          保存策略

 

 

 

配置节点服务器:

#iptables -F

#setenforce 0                                关闭防火墙

#ifconfig lo:0 1.1.1.100/32                    创建虚IP

#route add -host 1.1.1.100 dev lo:0            创建虚IP路由

#vim /etc/sysctl.conf                          关闭ARP解析

修改内容:

Net.ipv4.conf.all.arp_ignore = 1

Net.ipv4.conf.all.arp_announce = 2

Net.ipv4.conf.default.arp_ignore = 1

Net.ipv4.conf.default.arp_announce = 2

Net.ipv4.conf.lo.arp_ignore = 1

Net.ipv4.conf.lo.arp_announce = 2

#sysctl -p

#service httpd restart

配置节点服务器:

#iptables -F                                关闭防火墙

#setenforce 0                                 

#ifconfig lo:0 1.1.1.100/32                  创建虚IP

#route add -host 1.1.1.100 dev lo:0           创建虚IP路由

#vim /etc/sysctl.conf                         关闭ARP解析

修改内容:

Net.ipv4.conf.all.arp_ignore = 1

Net.ipv4.conf.all.arp_announce = 2

Net.ipv4.conf.default.arp_ignore = 1

Net.ipv4.conf.default.arp_announce = 2

Net.ipv4.conf.lo.arp_ignore = 1

Net.ipv4.conf.lo.arp_announce = 2

#sysctl -p

#service httpd restart

地址转换LVS-NAT部署:

配置负载调度器:

#vim /etc/sysctl.conf

修改内容:

Net.ipv4.ip_forword  = 1                         打开路由开关

#sysctl -p

#iptables -t nat -A POSTROUTING -s 1.1.1.0/24 -o eth0 -j SNAT --to-source 1.1.1.100    NAT转换

#service ipvsadm stop                           清除ipvsadm策略

#ipvsadm -A -t 1.1.1.100:80 -s rr                   创建虚拟服务器

#ipvsadm -a -t 1.1.1.100:80 -r 1.1.1.180  -m  -w  1    创建ipvsadm策略

#ipvsadm -a -t 1.1.1.100:80 -r 1.1.1.280  -m  -w  1

#service ipvsadm save

节点服务器只需要开启web服务即可:

#service httpd restart

ipvsadm命令选项总汇

-A

表示添加虚拟服务器

-t

表示使用TCP协议

-s

表示指定负载调度的算法:轮询(rr),加权轮询(wrr),最少连接(lc),加权最少连接(wlc

-a

表示添加服务器节点

-r

表示真实服务器地址

-m

表示使用NAT群集模式

-g

表示使用DR群集模式

-i

表示用TUN群集模式

-w

表示权重

-ln

查看ipvsadm节点状态

-C

表示清楚ipvsadm策略

-d

表示删除服务器节点

创建虚拟服务器命令格式:

Ipvsadm -A -t 虚拟地址:端口 -s 调度算法

例:ipvsadm -A -t 1.1.1.100:80 -s rr

创建ipvsadm策略:

Ipvsadm -a -t 虚拟地址:端口 -r 真实地址:端口  群集模式  -w 权重值

例:ipvsadm -a -t 1.1.1.100:80  -r  1.1.1.180  -m  -w  1

注:

永久修改虚IP

vim /etc/sysconfig/netwrok-scripts/ifcfg-lo:0

内容如下:

DEVICE=lo:0

ONBOOT=yes

IPADDR=1.1.1.1

NETMASK=255.255.255.255

永久修改路由方法一:

Vim /etc/rc.local

添加内容:

/sbin/route add -host 1.1.1.1 dev lo:0

永久修改路由方法二:

Vim /etc/sysconfig/networking/static-route

添加内容:

Any -host 1.1.1.1 dev lo:0

思考:

为什么节点服务器要使用lo环回口做虚IP

答:节点服务器只用于发送web数据的源地址,并不需要监听客户机的访问请求,为了将虚IP的数据限制在本地,以免通信紊乱。

为什么要节点服务器关闭ARP解析?

答:当调度服务器和节点服务器使用同一个IP时,访问者发送ARP请求,那么如果是节点服务器响应,那么访问就不会通过调度服务器。


44.LVS群集应用