莫问 发表于 2019-1-4 12:32:27

搭建LVS

关于群集服务的一些概念介绍
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模块来添加,删除服务器节点,以及查看群集的运行状态。
实验部署简单拓扑图;
http://s1.运维网.com/images/20180820/1534763863867093.jpg
实验环境配置介绍
  服务器                            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                      #启用
http://i2.运维网.com/images/blog/201808/20/54311dda32c4c000fbce9c5bed7335cd.jpg
配置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服务
http://i2.运维网.com/images/blog/201808/20/666d21d051aa56584a593eb37e112940.jpg
  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)
http://i2.运维网.com/images/blog/201808/20/477d64af1c5211479bf8c2803bc769a8.jpg
  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 "this is accp web">/var/www/html/index.html             #节点服务器web1添加web测试页面
http://i2.运维网.com/images/blog/201808/20/03b133fb4ed3cb9932f1e1b6e7bde104.jpg
mount.nfs 192.168.30.77:/var/www/html/benet /var/www/html/   #节点服务器web2挂载NFS共享存储目录:/var/www/html/benet
echo "this is benet web">/var/www/html/index.html            #节点服务器web2添加web测试页面
http://i2.运维网.com/images/blog/201808/20/ee94d6d951d8478b59abb90e9005f019.jpg
客户机上配置网卡ip地址设为12.0.0.12   网关指定12.0.0.1
在浏览器上通过ip地址12.0.0.1访问网页,不断刷新,可以看到两个不同的网页不断切换。证明LVS负载均衡群集设定成功
http://i2.运维网.com/images/blog/201808/20/b83a63fac8d94a0b7c1615ffe874e81a.jpg http://i2.运维网.com/images/blog/201808/20/b37110f87cb5bb0ba22ed5262c6ed788.jpg



页: [1]
查看完整版本: 搭建LVS