lvs负载均衡

1.集群

集群:为解决某个特定问题将多个计算机组合起来形成一个单系统

集群的目的就是为了解决系统的性能瓶颈

1.1 集群的类型

负载均衡集群:LB(loab blance)多个主机组成,每个主机只承担一部分访问请求,靠负载均衡算法来实现。

高可用集群:HA(high availablity) 避免SPOF(single point of failuer)单点故障。系统当中有一部分组件出现故障,可以保障整个系统继续运行。

1.2 集群的可靠性指标

MTBF: mean time between failure 系统在正常运行期间无故障的平均时间,一般用小时或者天数来表示。MTBF值越高,系统的可靠性越高,出现的故障的概率也越小

MTTR:系统从发生故障到恢复正常运行的平均时间,一般用小时或者天数表示。MTTR值越小,说明系统恢复故障的能力越强

A:系统的可靠性指标 A值越高越好

停机时间:

计划内停机:指的预定时间内的维护或者维修时间。可以自定义

计划外停机:运维人员主要关注的就是计划外。7*24小时

1.3 设计集群时需要考虑的一些原则

1.可扩展性:集群要有随时可以添加或者删除设备的能力。动态的扩缩容。

2.可靠性:集群中如果有节点发送故障,可以快速检测并且自动切换。

3.负载均衡:要合理的分配负载避免单个节点过载,影响整体性能。

4.可维护性:能够方便的进行配置,部署,维护,监控,降低成本。

5.安全性:防止恶意的攻击以及数据的泄密,数据丢失。

6.易用性:相关的工作人员,可以方便的进入集群,能够快速的开发,部署,测试等等

2.lvs集群

2.1 lvs

lvs:linux virtual server 只能部署在linux服务器上 通过内核层面,实现负载均衡的软件。

主要作用:多个后端服务器组成一个高可用,高性能,负载均衡的高性能集群。通过负载均衡的算法将客户端请求发送到后端服务器。

2.2 lvs集群当中的术语

(1)VS(virtual server):lvs服务的逻辑名称,外部访问lvs集群时提供的一个虚拟ip地址和端口号

(2)DS(director server):lvs集群中的主服务器或调度器,是整个lvs集群的核心。作用:接收客户端的请求转发到后端RS

(3)RS(real server):lvs集群的后端的真实服务器的ip。作用:接收到DS请求后,由RS处理请求并返回响应结果

(4)CIP(client ip):客户端的ip地址

(5)VIP(virtual ip):对外提供访问的统一的、虚拟的ip地址

(6)DIP(director ip):DS调度器在lvs内部使用的ip地址。作用:用于和RS进行通信

(7)RIP(real ip):后端真实服务器的ip地址

2.3 lvs的工作原理

(1)客户端访问vip

(2)DS调度器接收到请求,根据调度算法选择后端服务器RS,请求发送给RS

(3)RS处理请求并将响应发送到DS调度器

(4)DS会把RS真实服务器的响应包装成自己的响应,然后发送到客户端

客户端不知道请求的真实服务器,也不知道响应的服务器是谁

2.4 负载均衡的方式

(1)NAT模式——地址转换(常用)

(2)DR模式——直接路由(最常用)

(3)TUN模式——隧道协议(不用)【花钱】

3.NAT模式

工作原理:

(1)在调度器上配置双网卡,一个指向内部,一个指向外部

(2)配置一个可以和公网进行通信的vip

(3)配置转发策略,如果访问vip,会把请求的数据转发到后台的RS。请求以报文的格式请求,调度器会修改目标ip地址和端口

(4)RS处理完请求之后响应客户端。先到DS,调度器进行地址转换,把内网地址转换成公网地址,调度器响应给用户

3.1配置

nat模式的部署方式:

负载调度器 :配置爽网卡 192.168.233.10(内网)12.0.0.1(ens36)

二台后端web真实服务器:192.168.233.20 192.168.233.30

一台NFS共享服务器:192.168.233.40

全部关闭

systemctl stop firewalld

setenforce 0

test2,3,4

yum -y install nfs-utils rcpbind

test2

mkdir kgc benet

echo "this is kgc" > /opt/kgc/index.html

echo "this is benet" > /opt/benet/index.html

vim /etc/exports

/opt/kgc 192.168.233.0/24(rw,sync)

/opt/benet 192.168.233.0/24(rw,sync)

systemctl restart rpcbind

systemctl restart nfs

exportfs -rv

showmount -e 192.168.233.40

yum -y install httpd

mount 192.168.233.40:/opt/kgc /var/www/html

systemctl restart httpd

test3:

systemctl restart rpcbind

systemctl restart nfs

showmount -e 192.168.233.40

systemctl restart httpd

mount 192.168.233.40:/opt/benet /var/www/html

curl 192.168.233.30

test2

vim /etc/sysconfig/network-scripts/ifcfg-ens33lvs负载均衡_第1张图片

systemctl restart network

test3

vim /etc/sysconfig/network-scripts/ifcfg-ens33

lvs负载均衡_第2张图片

test1

cd /etc/sysconfig/network-scripts

cp ifcfg-ens33 ifcfg-ens36

vim ifcfg-ens36

ens33

lvs负载均衡_第3张图片

ens36

lvs负载均衡_第4张图片

systemctl restart network

yum -y install iptables-services iptables

yum -y install ipvsadm*

iptables -F

iptables -t nat -A POSTROUTING -s 192.168.66.0/24 -o ens36 -j SNAT --to 12.0.0.1

iptables -t nat -vnL

ipvsadm-save>/etc/sysconfig/ipvsadm

ipvsadm -A -t 12.0.0.1:80 -s rr

ipvsadm -a -t 12.0.0.1:80 -r 192.168.66.15:80 -m

ipvsadm -a -t 12.0.0.1:80 -r 192.168.66.16:80 -m

ipvsadm-save>/etc/sysconfig/ipvsadm

systemctl restart ipvsadm.service

vim /etc/sysctl.conf

添加 net.ipv4.ip_forward=1

sysctl -p

你可能感兴趣的:(lvs,负载均衡,java)