LVS负载均衡群集(LVS-NAT)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS负载均衡群集(LVS-NAT)相关的知识,希望对你有一定的参考价值。
负载均衡集群指使用多台提供相同服务的服务器组成集群系统,提高服务的并发处理能力。负载均衡集群的前端使用一个调度器,将客户端请求平均分配到后端的服务器中,同时调度器可能还具有后端服务器状态检测的功能,将故障的服务器自动下线,使得集群具有一定的容错能力。集群拥有三种类型,负载均衡群集、高可用集群、高性能运算群集。
在典型的负载均衡群集中,包括三个层次的组件。
- 第一层,负载调度器:访问整个群集系统的唯一入口,对外使用所有的服务器共有的VIP(Virtual IP 虚拟IP)地址,也称为群集IP地址。通常会配置主、备两台调度器实现热备份,当主调度器失效以后平滑替换至备用调度器,确保高可用性。
- 第二层,服务器池:群集所提供的应用服务由服务器池承担,例如HTTP、FTP。其中每个节点具有独立的RIP(Real IP,真实IP)地址,只处理调度器分发过来的客户请求。当某个节点暂时失效时,负载调度器的容错机制会将其隔离,等待错误排除以后再重新纳入服务器池。
- 第三层,共享存储:为服务器池中的所有节点提供稳定、一致的稳点存储服务,确保整个群集的统一性。
关于群集的负载调度技术,可以基于IP、端口、内容等进行分发,其中基于IP的负载调度是效率最高的。基于负载均衡模式中,常见的有地址转换(NAT)、IP隧道(TUN)、直接路由(DR)三种工作模式。NAT方式只需要一个公网IP地址,从而成为最易用的一种负载均衡模式,安全性也较好。
构建LVS负载均衡群集,拥有两种工作模式——LVS-NAT和LVS-DR。本篇主要讲解LVS-NAT模式。
地址转换模式(LVS-NAT)
环境准备
网卡模式为仅主机模式,在centos7中,软件的安装方式多为在线安装,这里我们可以事先将所需的软件安装好之后再更改网卡模式及IP地址。
主机 | 操作系统 | IP地址 | 主要软件 |
---|---|---|---|
调度器,网关 | CentOS-7-x86_64 | 192.168.100.1/12.0.0.1 | ipvsadm |
Apache网站服务器 | CentOS-7-x86_64 | 192.168.100.110 | httpd |
Apache网站服务器 | CentOS-7-x86_64 | 192.168.100.120 | httpd |
NFS共享存储服务 | CentOS-7-x86_64 | 192.168.100.130 | nfs-utils、rpcbind |
配置NFS
- 安装两个软件包nfs-utils、rpcbind,在centos7系统中一般都默认安装有,如果没有使用yum安装即可。
- 关闭防火墙及selinux防火墙
systemctl stop firewalld setenforce 0
- 开启服务,编辑访问规则(/etc/exports)
systemctl start nfs systemctl start rpcbind /usr/share *(ro,sync) /opt/benet 192.168.100.0/24(rw,sync) /opt/accp 192.168.100.0/24(rw,sync)
在创建完成站点目录之后,文件夹的权限也要可读写 - 发布共享
exportfs -rv
配置节点服务器
- 安装httpd软件,启动服务
systemctl start httpd
- 查看共享存储,并挂载到/var/www/html/下
- 创建测试网页(/var/www/html/)
- 关闭防火墙及selinux防火墙
systemctl stop firewalld setenforce 0
节点2服务器的创建方式和节点1大同小异,区别在于挂载的共享存储路径,首页网站内容也要有所区别,便于实验分析。
配置负载调度器
- 配置双网卡内网ens33:192.168.100.1 外网ens36:12.0.0.1
- 开启路由转发功能,在(/etc/sysctl.conf)配置文件中添加开启路由转发的命令
.ipv4.ip_forward = 1 sysctl -p //加载,立即生效
- 配置SNAT转发规则
在配置规则之前,首先清空防火墙规则,然后再添加新的规则iptables -t nat -F //清空nat表规则 iptables -F //清空转发表规则 iptables -t nat -A POSTROUTING -o ens33 -s 192.168.100/24 -j SNAT --to-source 12.0.0.1 //添加新的规则
由于是在防火墙内添加规则,所以防火墙不需要关闭,但是selinux防火墙仍需关闭
- 配置负载分配策略
- 加载LVS内核模块
modprobe ip_vs cat /proc/net/ip_vs
- 安装ipvsadm管理软件,同时启动服务,服务的启动和以往的版本有所不同,在服务启动前需将管理规则进行保存,然后再启动服务
ipvsadm --save > /etc/sysconfig/ipvsadm systemctl start ipvsadm
3.编写一个脚本文件(脚本可在任意目录编写),实现负载策略分配ipvsadm -C //清楚缓存 ipvsadm -A -t 12.0.0.1:80 -s rr //添加虚拟服务器 ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.110:80 -m ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.120:80 -m ipvsadm //启用
测试LVS群集
使用客户机访问http://12.0.0.1/,可以看到由真实服务器提供的网页内容——如果个节点的网页不同,则多次刷新的网页也会不同。
- 加载LVS内核模块
以上是关于LVS负载均衡群集(LVS-NAT)的主要内容,如果未能解决你的问题,请参考以下文章