一,LVS群集应用
群集或者集群的称呼来自于英文单词群集表示一群,一串的意思,用在服务器领域则表示大量的服务器的集合体,以区分于单个服务器,本次将对集群结构,工作模式,LVS虚拟应用。
1.群集的类型
负载均衡群集:以提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟为目标,获得高并发,高负载的整体性能。
高可用群集:以提高应用系统的可靠性,尽可能地减少中断时为目标,确保服务的连续性,达到高可用的容错效果。
高性能的运算集群:以提高应用系统的CPU运算速度,扩展硬件资源和分析能力为目标,获得相当于大型,超级计算机的高性能运算。
2.负载均衡的分层结构
第一层:负载均衡调度器,这是访问整个群集系统的唯一的入口,对外使用所有服务器共有的贵宾,也称为群集的IP地址
第二层:服务器池,群集所提供的应用服务如:HTTP FTP等由服务器池承担。
第三层:共享存储,为服务器中所有的节点提供稳定,一致的文件存取服务,确保整个群集的统一性在Linux / UNIX的环境中,共享存储可以使用NAS设备或者提供NFS共享服务的专用服务器
3,负载均衡的工作模式
1.地址转换:简称为NET模式,类似于防火墙的私有网络结构,负载调度器作为所有的服务器节点的网关,及作为客户机的访问入口,也是各个节点回应客户机的访问出口服务器节点使用私有的IP地址于负载调度器位于同一个物理网络,安全性要优于其他两个方式
2,IP隧道模式:简称TUN模式采用开放式网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的互联网连接直接回应客户机,而不是经过负载调度器服务器,服务器的节点分散在互联网中的不同位置,具有独立的IP地址,通过IP隧道于负载调度器相互通信
3.直接路由:简称DR模式,采用的半开放式的网络结构,与TUN模式结构类似,但各个节点并不是分散在各地,而是与调度器位于同一个物理网络负载调度器与各个节点服务器通过本地网络连接,不需要建立专用的网络隧道
以上的三种模式中,在NAT方式只需要一个公网的IP地址,从而为最易用的一种负载均衡模式,安全性也比较好,许多硬件负载均衡设备就是采用的这种方式;相对而言,DR模式和TUN模式的负载能力更加强大,适用能力范围更广,但是节点的安全性稍差一些
准备环境:client-客户端 Centos7.0---分发器-两块网卡
Centos7.0---Web服务器
Centos7.0---Web服务器
下面开始配置分发器
1)打开路由转发功能
[root@yankai ~]# vim /etc/sysctl.conf
改:net.ipv4.ip_forward = 0 为:net.ipv4.ip_forward = 1
让配置生效:[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
2)配置网络环境
添加一块网卡,配置以下的网络环境。
ens33 192.168.161.128 模式:NET 这台我直接DHCP获取了,为了和客户机通信这里我就不设置IP地址了
ens36 192.168.100.1 模式:Vmnet4
3)安装: LVS管理工具: ipvsadmin
[root@yankai ~]# yum install -y ipvsadm
4)配置Web服务器
首先我们更改Web1的IP地址为192.168.100.2 网关指向分发器192.168.100.1
web2的地址为192.168.100.3 网关指向分发器192.168.100.1
注意:分发器/Web1/Web2全部关闭防火墙/Selinux 关闭防火墙后我们拿web1/2ping分发器看看是否能通信
确定可以通信之后我们配置LVS分发器
配置LVS转发规则
[root@localhost ~]# ipvsadm -A -t 192.168.161.128:80 -s rr
-A 添加 -t 表示TCP的服务 VIP:PORT -s 指定调度算法 rr表示round-robin 轮循
[root@localhost ~]# ipvsadm -a -t 192.168.161.128:80 -r 192.168.100.2 -m
[root@localhost ~]# ipvsadm -a -t 192.168.161.128:80 -r 192.168.100.3 -m
选项: -a 表示添加real server的地址 -r 指定real server的IP地址 -m 表示masquerade 也就是NAT方式的LVS
查看: ipvsadm 配置及查看内核IPVS表和算法的工具类似于iptables
[root@localhost ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.161.128:80 rr
-> 192.168.100.2:80 Masq 1 0 0
-> 192.168.100.3:80 Masq 1 0 0
配置web1/2,并启动httpd服务
web1:
[root @ localhost~] #yum install -y httpd
systemctl启动httpd.server
[root @ localhost~] #echo“yk111111”> /var/www/html/index.html
WEB2:
[root @ localhost~] #yum install -y httpd
systemctl启动httpd.server
[root @ localhost~] #echo“yk222222”> /var/www/html/index.html#(实验期间,各个服务器的页面不同)
测试:拿客户端打开浏览器去访问分发器192.168.161.128按F5多刷新几次,就会变换一个页面
访问成功!希望对您有所帮助