LVS负载均衡群集(LVS
负载均衡集群指使用多台提供相同服务的服务器组成集群系统,提高服务的并发处理能力。负载均衡集群的前端使用一个调度器,将客户端请求平均分配到后端的服务器中,同时调度器可能还具有后端服务器状态检测的功能,将故障的服务器自动下线,使得集群具有一定的容错能力。集群拥有三种类型,负载均衡群集、高可用集群、高性能运算群集。在典型的负载均衡群集中,包括三个层次的组件。
[*]第一层,负载调度器:访问整个群集系统的唯一入口,对外使用所有的服务器共有的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
http://i2.运维网.com/images/blog/201806/20/4c8be62eba77eb44b8a5d4ac4296850c.jpg
配置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)
http://i2.运维网.com/images/blog/201806/20/ceda3ca298ece45cbc2fa4123d1f94bb.jpg
http://i2.运维网.com/images/blog/201806/20/2da7a482021db1debcd18a3bf186ebd9.jpg
http://i2.运维网.com/images/blog/201806/20/f9df67f67478c514c399c1d5f42a07b1.jpg
在创建完成站点目录之后,文件夹的权限也要可读写
http://i2.运维网.com/images/blog/201806/20/760ab4fad5da35ec8bad56eb7035d4de.jpg
[*]发布共享
exportfs -rv
http://i2.运维网.com/images/blog/201806/20/6756d698cf353f23f13706205beef303.jpg
配置节点服务器
[*]安装httpd软件,启动服务
systemctl start httpd
[*]查看共享存储,并挂载到/var/www/html/下
http://i2.运维网.com/images/blog/201806/20/995efd6cff5ad08c6c537157e001d6c1.jpg
[*]创建测试网页(/var/www/html/)
[*]关闭防火墙及selinux防火墙
systemctl stop firewalld
setenforce 0 节点2服务器的创建方式和节点1大同小异,区别在于挂载的共享存储路径,首页网站内容也要有所区别,便于实验分析。
配置负载调度器
[*]配置双网卡内网ens33:192.168.100.1 外网ens36:12.0.0.1
http://i2.运维网.com/images/blog/201806/20/40649c7b02644427bbefada4a7604fcb.jpg
[*]开启路由转发功能,在(/etc/sysctl.conf)配置文件中添加开启路由转发的命令
net.ipv4.ip_forward = 1
sysctl -p //加载,立即生效
http://i2.运维网.com/images/blog/201806/20/73054d7cbe5b34bf6a6b0e0e23eea779.jpg
[*]配置SNAT转发规则
在配置规则之前,首先清空防火墙规则,然后再添加新的规则
iptables -t nat -F//清空nat表规则
iptables -F //清空转发表规则
iptables -t nat -A POSTROUTING -o ens36 -s 192.168.100/24 -j SNAT --to-source 12.0.0.1 //添加新的规则
由于是在防火墙内添加规则,所以防火墙不需要关闭,但是selinux防火墙仍需关闭
[*]配置负载分配策略
[*]加载LVS内核模块
modprobe ip_vs
cat /proc/net/ip_vs
http://i2.运维网.com/images/blog/201806/20/ca008d09949cf03e834228fbeec037dc.jpg
[*]安装ipvsadm管理软件,同时启动服务,服务的启动和以往的版本有所不同,在服务启动前需将管理规则进行保存,然后再启动服务
ipvsadm --save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
http://i2.运维网.com/images/blog/201806/20/40ba24aaeda5b0f2aad20dd929a52d79.jpg
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 //启用
http://i2.运维网.com/images/blog/201806/20/4ba444d0ee2497204cea0b07c5a59e82.jpg
测试LVS群集
使用客户机访问http://12.0.0.1/,可以看到由真实服务器提供的网页内容——如果个节点的网页不同,则多次刷新的网页也会不同。
http://i2.运维网.com/images/blog/201806/20/5571b5a6a0d838639ae6e39a12f8eede.jpg
http://i2.运维网.com/images/blog/201806/20/2c5565d2e730726e7e1d403ed399f5fe.jpg
页:
[1]