LVS简介
1、 在互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器难以承担所有的访问。除了使用价格昂贵的大型机、专用负载分流设备以外,企业多选择构建群集服务器——通过整合多台相对廉价的普通服务器,以同一个地址对外提供相对的服务。本篇博客将介绍企业中常用的一种群集技术——LVS。
负载均衡群集:以提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能。LB的负载分配依赖于主节点的分流算法,将来自客户机的访问请求分担给多个服务器节点,从而缓解整个系统的负载压力。
2、负载均衡的分层结构:
第一层,负载调度器:这是整个群集系统的唯一入口,对外使用所有服务器共有的VIP地址,也称为群集IP地址,通常会配置主、备两台调度器实现热备份,当主调度器失效以后平滑替换至备用调度服务器,确保高可用性
第二层:服务器池:也就是提供各种服务的服务器,其中每个节点具有独立的RIP地址,例如web服务器,ftp服务器,数据库服务器等,处理调度器发来的请求。
第三层:共享存储:主要存储服务器池中应用程序的数据,一般会采用NAS或者SAN设备,为所有节点提供稳定、一致的文件存储服务,确保整个群集的统一性。
3、本次实验采用地址转换(NAT)模式:类似于防火墙的私有网络结构,负载调度器作为服务器节点的网关。服务器节点使用私有IP,与负载调度器使用同一个物理网络,安全性较高。采用的算法为轮询,将接收到的请求按照顺序轮流分配给群集中的各节点服务器,均等的对待每一台服务器。
实验环境:
CentOS7-1为调度器(双网卡):内--192.168.10.1 外--12.0.0.1
CentOS7-2为web1: 192.168.10.20
CentOS7-3为web2: 192.168.10.30
Redhat6.5为NFS服务器:192.168.10.10
win7作为客户端:12.0.0.12
实验过程:
一、安装实验所需软件包
调度器(LVS):
[[email protected] ~]# yum install -y ipvsadm
web节点服务器:
[[email protected] ~]# yum install -y httpd
[[email protected] ~]# systemctl start httpd.service
[[email protected] ~]# systemctl stop firewalld.service
[[email protected] ~]# setenforce 0
NFS(存储服务):
[[email protected] ~]# yum install -y nfs rpcbind
[[email protected] ~]# service iptables stop
[[email protected] ~]# setenforce 0
二、切换网卡为仅主机模式,此处注意,需要安装好软件包再进行网卡切换,否则centos7无法加载yum仓库
调度器(LVS):
[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36
[[email protected] network-scripts]# vim ifcfg-ens33
[[email protected] network-scripts]# vim ifcfg-ens36
[[email protected] ~]# service network restart
开启调度器的路由功能
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
web节点服务器、NFS也进行同样网卡切换操作,此处不再赘述。
配置完成后即可测试互联互通
三、NFS存储服务操作
NFS服务器:192.168.10.10
[[email protected] ~]# service rpcbind start
[[email protected] ~]# service nfs start
[[email protected] ~]# vim /etc/exports #编辑存储模块
/usr/share *(ro,sync)
/opt/benet 192.168.10.0/24(rw,sync)
/opt/accp 192.168.10.0/24(rw,sync)
[[email protected] ~]# exports -rv
[[email protected] ~]# mkdir /opt/benet /opt/accp 建立目录
[[email protected] ~]# chmod 777 /opt/benet /opt/accp
web1:提供挂载点,设置首页
[[email protected] ~]# showmount -e 192.168.10.10 #查看是否提供存储空间
[[email protected] ~]# mount.nfs 192.168.10.10:/opt/benet /var/www/html
[[email protected] ~]# echo "this is benet" > /var/www/html/index.html #首页设置
web2:提供挂载点,设置首页
[[email protected] ~]# showmount -e 192.168.10.10 #查看是否提供存储空间
[[email protected] ~]# mount.nfs 192.168.10.10:/opt/accp /var/www/html
[[email protected] ~]# echo "this is accp" > /var/www/html/index.html #首页设置
客户机检测:
四、负载调度设置---调度器
防火墙SNAT装换配置:
[[email protected] ~]# iptables -F #清空防火墙列表
[[email protected] ~]# iptables -t nat -F #清空NAT表
[[email protected] ~]#iptables -t nat -A POSTROUTING -o ens36 -s 192.168.10.0/24 -j SNAT --to-source 12.0.0.1 #防火墙SNAT转换设置
负载调度算法:
[[email protected] ~]# ipvsadm --save > /etc/sysconfig/ipvsadm #保存策略,此条不输入将无法启动服务
[[email protected] ~]# systemctl start ipvsadm.service #启动服务
[[email protected] ~]# vim /opt/nat.sh
[[email protected] ~]# source /opt/nat.sh #执行脚本
[[email protected] ~]# systemctl restart ipvsadm.service #重启服务
[[email protected] ~]# ipvsadm -ln
在LVS负载调度器中,通过查看节点状态可以观察当前负载分配情况,对于轮询算法来说,每个节点所获得连接负荷应大致相同。
原文地址:http://blog.51cto.com/13784264/2160945