搭建LVS-NAT负载均衡群集

关于群集服务的一些概念介绍

1,群集,表示一群,一串的意思,用在服务器领域则表示大量服务器的集合体,以区分于单个服务器。至少包括两台节点服务器,而对外表现为一个整体,只提供一个访问入口(域名或IP地址)相当于一台大型计算机。

2,负载均衡群集(Load Balance Cluster);以提高应用系统的响应能力,尽可能处理更多的访问请求,以减少延迟为目标,获得高并发,高负载的整体性能。LB的负载分配依赖于主节点的分流算法,将来自客户端的请求分担给多个服务器节点,从而缓解整个系统的负载压力。

3,负载均衡的分层结构

在典型的负载均衡群集中,包括三个层次的组件,前端至少有一个负载均衡调度器(Load Balance,或称为Director)负责响应并分发来自客户机的访问请求;

后端由大量真实服务器构成服务器池,提供实际的应用服务,整个群集的伸缩性通过增加,删除服务器节点来完成,而这些过程对客户机是透明的;

为了保持服务的一致性,所有节点使用共享存储设备。

(1)第一层,负载调度器;这是访问整个群集系统的唯一入口,对外使用所有服务器共用的VIP(Virturl IP,虚拟IP)地址,也成为群集IP地址。通常会配置主,备两台调度器实现热备份,当主调度器失效后平滑替换至备份调度器,确保高可用性

(2)第二层,服务器池;群集所提供的应用服务(如HTTP,FTP)由服务器池承担,其中的每个节点具有独立的RIP(Real IP,真实IP)地址,只处理调度器分发过来的访问请求。当某个节点服务器暂时失效时,负载调度器的容错机制会将其隔离,等待错误排除以后再重新纳入服务器池。

(3)第三层,共享存储;为服务器池中的所有节点提供稳定,一致的存储服务,确保整个群集的统一性。在Linux/UNIX环境中,共享存储可以使用NAS设备,或者NFS(Network File System,网络文件系统)共享服务的专用服务器。

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

5,LVS群集是针对Linux内核开发的一个负载均衡项目,基于IP地址虚拟化应用VIP,为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决办法。可使用ipvsadm管理工具。通过整合多台相对廉价的普通服务器,以同一个地址对外提供相同的服务。

6,LVS的负载调度轮询算法(Round Robin);将收到的访问请求按照顺序轮流分配给群集中的各节点服务器,均等地对待每一台服务器,而不管服务器的实际连接数和系统负载。

7,ipvsadm管理工具,ipvsadm是在负载调度器上使用的LVS群集管理工具,通过ip_vs模块来添加,删除服务器节点,以及查看群集的运行状态。

实验部署简单拓扑图;

q1

实验环境配置介绍

服务器                            IP                                              需要安装配置                        系统

LVS调度器及网关      192.168.30.1   12.0.0.1                  双网卡,ipvsadm工具              CentOS7

节点服务器web1       192.168.30.15                                NFS,httpd                           RedHat6.5

节点服务器web2       192.168.30.99                                NFS,httpd                           RedHat6.5

共享存储服务器         192.168.30.77                                   NFS                                 CentOS7

客户机                     12.0.0.12                                     测试实验结果                         Windows7

配置LVS负载调度器

(1)配置双网卡   ens33:192.168.30.1      ens36:12.0.0.1

(2)配置SNAT转发规则

vim /etc/sysctl.conf

.................

    net.ipv4.ip_forward = 1        #开启路由转发功能

sysctl -p                                  #刷新内核参数
iptables -F -t nat                      #清空防火墙nat表中之前的设定的规则

iptables -t nat -I POSTROUTING -s 192.168.30.0/24 -o ens36 -j SNAT --to-source 12.0.0.1      #设定SNAT策略

(3)安装ipvsadm管理工具,加载ip_vs模块,配置负载分配策略

modprobe ip_vs             #加载ip_vs模块

yum -y install ipvsadm     #安装ipvsadm

ipvsadm --save >/etc/sysconfig/ipvsadm

systemctl start ipvsadm.service         #开启ipvsadm服务

ipvsadm -C                                      #清除原有策略

ipvsadm -A -t 12.0.0.1:80 -s rr                                     

ipvsadm -a -t 12.0.0.1:80 -r 192.168.30.15:80 -m                #设置lvs策略

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

ipvsadm                      #启用

 q2

配置NFS共享存储服务器

systemctl stop firewalld.service               #关闭防火墙

setenforce 0                                     #关闭增强型功能

rpm -q rpcbind                                   #检查rpcbind是否安装

rpm -q nfs-utils                                 #检查nfs-utils是否安装

systemctl start rpcbind.service            #打开rpcbind服务

systemctl start nfs.service                  #打开nfs服务

q3

 

vim /etc/exports                               #设定NFS共享规则

/usr/share *(ro,sync)
/var/www/html/accp 192.168.30.15(rw,sync)
/var/www/html/benet 192.168.30.99(rw,sync)

exportfs -rv                                       #发布NFS共享

exporting 192.168.30.99:/var/www/html/benet
exporting 192.168.30.15:/var/www/html/accp
exporting *:/usr/share

mkdir  /var/www/html/benet                   

chmod 777 /var/www/html/benet                   #创建共享目录benet,并赋予普通用户完全权限

           

mkdir  /var/www/html/accp

chmod 777 /var/www/html/accp                     #创建共享目录accp,并赋予普通用户完全权限

配置节点服务器,web1和web2配置设定大部分相同(个别不同下面单独标识)

service iptables stop                    #关闭防火墙

setenforce 0                               #关闭增强型功能

service httpd start                      #开启httpd服务(RedHat6.5系统桌面安装,系统自带httpd)

q5

showmount -e 192.168.30.77      #查看NFS服务共享信息         

mount.nfs 192.168.30.77:/var/www/html/accp /var/www/html/            #节点服务器web1挂载NFS共享存储:/var/www/html/accp

echo "<h1>this is accp web</h1>">/var/www/html/index.html             #节点服务器web1添加web测试页面

q6

mount.nfs 192.168.30.77:/var/www/html/benet /var/www/html/     #节点服务器web2挂载NFS共享存储目录:/var/www/html/benet

echo "<h1>this is benet web</h1>">/var/www/html/index.html            #节点服务器web2添加web测试页面

q7

客户机上配置网卡ip地址设为12.0.0.12   网关指定12.0.0.1

在浏览器上通过ip地址12.0.0.1访问网页,不断刷新,可以看到两个不同的网页不断切换。证明LVS负载均衡群集设定成功

q8 q9

猜你喜欢

转载自blog.51cto.com/13728740/2162111