LVS集群

目录

一、集群和分布式

1.集群的含义

2.系统性能扩展方式  

(1)Scale UP

(2)Scale Out

3.集群的分类

(1)LB:( Load Balancing)负载均衡群集

(2)HA:( High Availiablity)高可用集群

(3)HPC:(High-performance computing)高性能运算群集

PS(知识小科普)

4.分布式系统

(1)分布式存储

(2)分布式计算

(3)分布式常见应用

5.集群和分布式

6. 集群设计原则

7. 集群设计实现

(1)基础设施层面

(2)业务层面

二、Linux Virtual Server

1.LVS介绍

2.LVS工作原理

3.LVS集群体系架构

4. LVS 功能及组织架构

(1)应用于高访问量的业务

(2)扩展应用程序

(3)消除单点故障

(4)同城容灾 (多可用区容灾)

(5) LVS集群类型中的术语

三、LVS工作模式和相关命令

1.LVS集群的工作模式

(1)LVS的NAT模式

(2)直接路由

(3)IP隧道

(4)LVS工作模式总结和比较

四、ipvsadm 工具

ipvsadm 工具选项说明

五、NAT模式 LVS负载均衡部署

1.部署共享存储(NFS服务器:192.168.174.40)

(1)关闭防火墙selinx,并安装服务

(2)开启服务 

(3)新建目录,并创建站点文件

(4) 设置共享策略并发布服务

2.节点服务器(192.168.174.20、192.168.174.30)

第一台 

(1)关闭防火墙,selinux

(2) 安装httpd

(3)查看nfs服务

 (4)挂载站点

(5) 改变网卡配置,重启网卡服务

第二台

(2) 安装httpd

(3) 查看nfs服务

(4)开启服务

(5)永久挂载站点

(6) 改变网卡配置,重启网卡服务

3.调度服务器 

(1)添加一块网卡

(2)关闭防火墙,selinux

(3)更改网卡配置

(4)打开路由转发功能

(5)查看策略 

(6)清空策略

(7)添加策略

(8)加载内核模块 

(9)安装软件

(10) 保存配置文件并开启服务

(11)清空策略

(12) 指定IP地址 外网的入口  -s rr  轮询

(13)先指定虚拟服务器再添加真实服务器地址,-r:真实服务器地址 -m指定nat模式

(14)启动

(15)查看策略 

4. 验证

(1)开启客户端,修改ipv4

(2)检测连通性 

(3)进入网址,输入ip

​ 验证成功

六、LVS DR模式部署

1.原理解释

2.真实情况下可能会出现的问题 

(1)问题1:IP 地址冲突的

(2)问题2:第二次再有访问请求会不访问调度,直接访问节点

3.实际操作:

环境简介

配置负载调度器

(1)关闭防火墙,selinux

(2)安装服务

(3)配置虚拟IP地址(VIP:192.168.174.188)

①配置虚拟网卡,若为隧道模式ifcfg-tunl0

②删除dns与网关,注意子网,重启服务

③ 启动网卡

(4)调整/proc响应参数 

(5)配置负载分配策略 

(6) 加载模块

节点服务器

(1)关闭防火墙,selinux

(2)安装httpd服务,并开启服务

(3)创建简单的网页

(4)修改回环网卡名,IP地址,子网掩码 

(5)重启服务

(6)设置路由

(7)添加系统只响应目的IP为本地IP的APR请求

4.测试 

(1)先ping看各节点是否可以ping通

(2)进入网页


一、集群和分布式

1.集群的含义

Cluster:集群、群集由多台主机构成,但对外只表现为一个整体

2.系统性能扩展方式  

(1)Scale UP

        垂直扩展,向上扩展,增强,性能更强的计算机运行同样的服务

(2)Scale Out

        水平扩展,向外扩展,增加设备,并行地运行多个服务调度分配问题,Cluster

3.集群的分类

(1)LB:( Load Balancing)负载均衡群集

① 提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能

② LB的负载分配依赖于主节点的分流算法

(2)HA:( High Availiablity)高可用集群

① 提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA) 的容错效果

② HA的工作方式包括双工和主从两种模式 

(3)HPC:(High-performance computing)高性能运算群集

① 提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力

② 高性能依赖于“分布式运算”、"并行计算” , 通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力

PS(知识小科普)

一、涉及名词解释

MTBF:Mean Time Between Failure 平均无故障时间,正常时间

MTTR:Mean Time To Restoration( repair)平均恢复前时间,故障时间

A = MTBF /(MTBF+MTTR) (0,1):99%,99.5%,99.9%,99.99%,99.999%

SLA:服务等级协议(简称:SLA,全称:service level agreement)。是在一定开销下为保障服务的性能和可用性,服务提供商与用户间定义的一种双方认可的协定。通常这个开销是驱动提供服务质量的主要因素。在常规的领域中,总是设定所谓的三个9,四个9来进行表示,当没有达到这种水平的时候,就会有一些列的惩罚措施,而运维,最主要的目标就是达成这种服务水平。

1年 = 365天 = 8760小时
90 = (1-90%)*365=36.5天
99 = 8760 * 1% = 87.6小时
99.9 = 8760 * 0.1% = 8760 * 0.001 = 8.76小时
99.99 = 8760 * 0.0001 = 0.876小时 = 0.876 * 60 = 52.6分钟
99.999 = 8760 * 0.00001 = 0.0876小时 = 0.0876 * 60 = 5.26分钟
99.9999= (1-99.9999%)*365*24*60*60=31秒

二、这部分最好记住

停机时间又分为两种,一种是计划内停机时间,一种是计划外停机时间,而运维则主要关注计划外停机时间。

轮询(Round Robin):将收到的访问请求按照顺序轮流分配给群集中的各节点,均 等地对待每台服务器,而不管服务器实际的连接数和系统负载。 

加权轮询(Weighted Round Robin):根据调度器设置的权重值来分发请求,权重 值高的节点优先获得任务并且分配的请求越多,这样可以保证性能高的节点承担更 多请求。 

最少连接(Least Connections):根据真实服务器已建立的连接数进行分配,将收 到的访问请求优先分配给连接数最少的节点。如果所有的服务器节点性能相近,采用这种方式可以更好地均衡负载。 

加权最少连接(Weighted Least Connections):在服务器节点的性能差异较大的 情况下,调度器可以根据节点服务器负载自动调整权重,权重较高的节点将承担更 大比例的活动连接负载。 

IP_Hash根据请求来源的IP地址进行Hash计算,得到后端服务器,这样来自同一个IP的请求总是会落到同一台服务器上处理,以致于可以将请求上下文信息存储在这个服务器上,

url_hash 按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。具体没研究过

fair采用的不是内建负载均衡使用的轮换的均衡算法,是可以根据页面大小、加载时间长短智能的进行负载均衡。就是根据后端服务器时间来分配用户请求,响应时间短的优先分配

4.分布式系统

(1)分布式存储

         Ceph,GlusterFS,FastDFS,MogileFS

(2)分布式计算

         hadoop,Spark

(3)分布式常见应用

         分布式应用-服务按照功能拆分,使用微服务

         分布式静态资源--静态资源放在不同的存储集群上

         分布式数据和存储--使用key-value缓存系统

         分布式计算--对特殊业务使用分布式计算,比如Hadoop集群

微服务:单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值服务

5.集群和分布式

LVS集群_第1张图片

集群:同一个业务系统,部署在多台服务器上。集群中,每一台服务器实现的功能没有差别,数据和代码都是一样的。

分布式一个业务被拆成多个子业务,或者本身就是不同的业务,部署在多台服务器上。分布式中,每一台服务器实现的功能是有差别的,数据和代码也是不一样的,分布式每台服务器功能加起来,才是完整的业务。

分布式是以缩短单个任务的执行时间来提升效率的

集群则是通过提高单位时间内执行的任务数来提升效率

6. 集群设计原则

     可扩展性:集群的横向扩展能力

     可用性:无故障时间 (SLA service level agreement)

     性能:访问响应时间

     容量:单位时间内的最大并发吞吐量(C10K 并发问题)

7. 集群设计实现

(1)基础设施层面

      提升硬件资源性能:从入口防火墙到后端 web server 均使用更高性能的硬件资源

      多域名:DNS 轮询A记录解析

      多入口:将A记录解析到多个公网IP入口

      多机房:同城+异地容灾

      CDN(Content Delivery Network):基于GSLB(Global Server Load Balance)实现全局负载均衡 

(2)业务层面

      分层:安全层、负载层、静态层、动态层、(缓存层、存储层)持久化与非持久化

      分割:基于功能分割大业务为小服务

      分布式:对于特殊场景的业务,使用分布式计算

二、Linux Virtual Server

1.LVS介绍

LVS:Linux Virtual Server,负载调度器,内核集成,章文嵩(花名正明), 阿里的四层SLB(ServerLoad Balance)是基于LVS+keepalived实现

LVS 官网:http://www.linuxvirtualserver.org/
阿里SLB和LVS:
https://yq.aliyun.com/articles/1803
https://github.com/alibaba/LVS

四层负载均衡,采用开源软件LVS (linux virtual server),并根据云计算需求对其进行了定制化;该技术已经在阿里巴巴内部业务全面
七层负载均衡,采用开源软件Tengine;该技术已经在阿里巴巴内部业务全面上线应用3年多
控制系统,用于配置和监控负载均衡系统;

2.LVS工作原理

VS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS,根据调度算法来挑选RS。LVS是内核级功能,工作在INPUT链的位置,将发往INPUT的流量进行"处理"

3.LVS集群体系架构

LVS集群_第2张图片

LVS集群_第3张图片

4. LVS 功能及组织架构

负载均衡的应用场景为高访问量的业务,提高应用程序的可用性和可靠性。

(1)应用于高访问量的业务

如果您的应用访问量很高,可以通过配置监听规则将流量分发到不同的云服务器 ECS(Elastic

Compute Service 弹性计算服务)实例上。此外,可以使用会话保持功能将同一客户端的请求转发到同一台后端ECS

(2)扩展应用程序

可以根据业务发展的需要,随时添加和移除ECS实例来扩展应用系统的服务能力,适用于各种Web服务器和App服务器。

(3)消除单点故障

可以在负载均衡实例下添加多台ECS实例。当其中一部分ECS实例发生故障后,负载均衡会自动屏蔽故障的ECS实例,将请求分发给正常运行的ECS实例,保证应用系统仍能正常工作

(4)同城容灾 (多可用区容灾)

为了提供更加稳定可靠的负载均衡服务,阿里云负载均衡已在各地域部署了多可用区以实现同地域容灾。当主可用区出现机房故障或不可用时,负载均衡仍然有能力在非常短的时间内(如:大约30s中断)切换到另外一个备可用区恢复服务能力;当主可用区恢复时,负载均衡同样会自动切换到主可用区提供服务。

使用负载均衡时,您可以将负载均衡实例部署在支持多可用区的地域以实现同城容灾。此外,建议您结合自身的应用需要,综合考虑后端服务器的部署。如果您的每个可用区均至少添加了一台ECS实例,那么此种部署模式下的负载均衡服务的效率是最高的。

(5) LVS集群类型中的术语

VS:Virtual Server,Director Server(DS), Dispatcher(调度器),Load Balancer(lvs服务器)

RS:Real Server(lvs), upstream server(nginx), backend server(haproxy)(真实服务器)

CIP:Client IP(客户机IP)

VIP:Virtual serve IP VS外网的IP

DIP:Director IP VS内网的IP

RIP:Real server IP (真实IP)

LVS集群_第4张图片

访问流程:CIP <--> VIP == DIP <--> RIP  

三、LVS工作模式和相关命令

1.LVS集群的工作模式

lvs-nat:修改请求报文的目标IP,多目标IP的DNAT

lvs-dr:操纵封装新的MAC地址(直接路由)

lvs-tun:隧道模式

(1)LVS的NAT模式

LVS集群_第5张图片

lvs-nat:本质是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某处的RS的RIP和PORT实现转发

① RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP

② 请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈

③ 支持端口映射,可修改请求报文的目标PORT

④ VS必须是Linux系统,RS可以是任意OS系统

(2)直接路由

LVS集群_第6张图片

LVS集群_第7张图片直接路由(Direct Routing):简称 DR 模式,采用半开放式的网络结构,与 TUN 模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络。 

负载调度器与各节点服务器通过本地网络连接,不需要建立专用的 IP 隧道

直接路由,LVS默认模式,应用最广泛,通过请求报文重新封装一个MAC首部

进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变

(3)IP隧道

LVS集群_第8张图片

RIP和DIP可以不处于同一物理网络中,RS的网关一般不能指向DIP,且RIP可以和公网通信。也就是说集群节点可以跨互联网实现。DIP, VIP, RIP可以是公网地址。

RealServer的通道接口上需要配置VIP地址,以便接收DIP转发过来的数据包,以及作为响应的报文源IP

DIP转发给RealServer时需要借助隧道,隧道外层的IP头部的源IP是DIP,目标IP是RIP,而RealServer响应给客户端的IP头部是根据隧道内层的IP头分析得到的,源IP是VIP,目标IP是CIP

请求报文要经由Director,但响应不经由Director,响应由RealServer自己完成

不支持端口映射

RS的OS须支持隧道功能

一般来说,隧道模式常会用来负载调度缓存服务器组,这些缓存服务器一般放置在不同的网络环境,可以就近折返给客户端。在请求对象不在Cache服务器本地命中的情况下,Cache服务器要向源服务器发送请求,将结果取回,最后将结果返回给用户。

(4)LVS工作模式总结和比较

对比项 NAT TUN DR
优点 端口转换 WAN 性能最好
缺点 性能瓶颈 服务器支持隧道模式 不支持跨网段
真实服务器要求 any Tunneling Non-arp device
支持网络 private(私网) LAN/WAN(私网/公网) LAN(私网)
真实服务器数量 low (10~20) High (100) High (100)
真实服务器网关 lvs内网地址 Own router(网工定义) Own router(网工定义)

四、ipvsadm 工具

ipvsadm 工具选项说明

选项 说明
-A 添加虚拟服务器
-D 删除整个虚拟服务器
-s 指定负载调度算法(轮询: rr、加权轮询: wrr、最少连接: lc、加权最少连接: wlc)
-a 添加真实服务器(节点服务器)
-d 删除某一个节点
-t 指定VIP地址及TCP端口
-r 指定RIP地址及TCP端口
-m 表示使用NAT群集模式
-g 表示使用DR模式
-i 表示使用TUN模式
-w 设置权重(权重为0时表示暂停节点)
-p 60 表示保持长连接60秒
-l 列表查看 LVS虚拟服务器(默认为查看所有)
-n 以数字形式显示地址、端口等信息,常与"-l“选项组合使用。ipvsadm -ln

五、NAT模式 LVS负载均衡部署

配置环境:

负载调度器:配置双网卡内网:192.168.174.10(ens33)  外网卡:12.0.0.1(ens37)
二台WEB服务器集群池:192.168.174.20、192.168.174.30
一台NFS共享服务器:192.168.174.40
客户端:Windows10

1.部署共享存储(NFS服务器:192.168.174.40)

NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。通过使用 NFS

协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。对于大多数负载均衡

群集来说,使用 NFS 协议来共享数据存储是比较常见的做法,NFS 也是 NAS 存储设备必然支

持的一种协议。

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程

到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS

共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持

(1)关闭防火墙selinx,并安装服务

[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# yum install nfs-utils rpcbind -y

(2)开启服务 

[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs

(3)新建目录,并创建站点文件

[root@localhost ~]#mkdir /opt/kgc /opt/benet
[root@localhost ~]#chmod 777 /opt/kgc/ /opt/benet/
[root@localhost ~]#echo 'this is kgc !' > /opt/kgc/index.html
[root@localhost ~]#echo 'this is benet !' > /opt/benet/index.html 

(4) 设置共享策略并发布服务

[root@localhost ~]#vim /etc/exports

[root@localhost ~]#exportfs -rv

[root@localhost ~]# systemctl restart nfs

2.节点服务器(192.168.174.20、192.168.174.30)

第一台 

(1)关闭防火墙,selinux

[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld.service

(2) 安装httpd

[root@localhost ~]# yum install httpd -y

(3)查看nfs服务

[root@localhost ~]#rpm -qa |grep nfs
[root@localhost ~]#showmount -e 192.168.174.40

LVS集群_第9张图片

 (4)挂载站点

[root@localhost ~]# vi /etc/fstab 

LVS集群_第10张图片

(5) 改变网卡配置,重启网卡服务

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

LVS集群_第11张图片

[root@localhost ~]# systemctl restart network 

第二台

(1)关闭防火墙,selinx

[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld.service

(2) 安装httpd

[root@localhost ~]# yum install httpd -y 

(3) 查看nfs服务

[root@localhost ~]#showmount -e 192.168.174.40

(4)开启服务

[root@localhost ~]#systemctl start rpcbind
[root@localhost ~]#systemctl start nfs

(5)永久挂载站点

 [root@localhost ~]# vi /etc/fstab

(6) 改变网卡配置,重启网卡服务

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

LVS集群_第12张图片

[root@localhost ~]# systemctl restart networ

3.调度服务器 

(1)添加一块网卡

(2)关闭防火墙,selinux

[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0

(3)更改网卡配置

 [root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens37    复制内容
[root@localhost network-scripts]# vim ifcfg-ens37

LVS集群_第13张图片

 [root@localhost network-scripts]# vim ifcfg-ens33

LVS集群_第14张图片

  [root@localhost network-scripts]# systemctl restart network

(4)打开路由转发功能

[root@localhost network-scripts]# cd
[root@localhost ~]# vim /etc/sysctl.conf

[root@localhost network-scripts]#sysctl -p     查看
net.ipv4.ip_forward = 1            

(5)查看策略 

[root@localhost network-scripts]#iptables -nL -t nat

LVS集群_第15张图片

(6)清空策略

 [root@localhost network-scripts]#iptables -F

(7)添加策略

[root@localhost network-scripts]#iptables -t nat -A POSTROUTING -s 192.168.174.0/24 -o ens37 -j SNAT --to 12.0.0.1
[root@localhost network-scripts]#iptables -nL -t nat (查看策略)

LVS集群_第16张图片

(8)加载内核模块 

[root@localhost ~]# modprobe ip_vs

(9)安装软件

[root@localhost ~]# yum install ipvsadm* -y

(10) 保存配置文件并开启服务

[root@localhost ~]# ipvsadm-save >/etc/sysconfig/ipvsadm
[root@localhost ~]# systemctl start ipvsadm.service 

(11)清空策略

[root@localhost ~]# ipvsadm -C

(12) 指定IP地址 外网的入口  -s rr  轮询

[root@localhost ~]# ipvsadm -A -t 12.0.0.1:80 -s rr

(13)先指定虚拟服务器再添加真实服务器地址,-r:真实服务器地址 -m指定nat模式

[root@localhost ~]# ipvsadm -a -t 12.0.0.1:80 -r 192.168.174.20:80 -m
[root@localhost ~]# ipvsadm -a -t 12.0.0.1:80 -r 192.168.174.30:80 -m

(14)启动

[root@localhost ~]# ipvsadm

LVS集群_第17张图片

(15)查看策略 

[root@localhost ~]# ipvsadm -ln

LVS集群_第18张图片

4. 验证

(1)开启客户端,修改ipv4

LVS集群_第19张图片

LVS集群_第20张图片

(2)检测连通性 

LVS集群_第21张图片

(3)进入网址,输入ip

LVS集群_第22张图片 验证成功

六、LVS DR模式部署

1.原理解释

LVS集群_第23张图片

客户机发起请求,经过调度服务器(lvs),经过算法调度,去访问真实服务器(RS)

由于不原路返回,客户机不知道,真实主机的ip地址,

所以只能通过调度服务器的外网ip(vip)去反回报文信息。

LVS集群_第24张图片

第一次访问完整(不考虑实际问题)
客户端---->外网地址12.0.0.100      12.0.0.100---->客户端 
#12.0.0.18-----客户端   客户端会直接丢弃
对每台真实服务器配置外网地址 12.0.0.100
12.0.0.100------>客户端  

2.真实情况下可能会出现的问题 

(1)问题1:IP 地址冲突的

          路由器发送ARP请求(广播)
          ARP---->广播去找ip地址解析成mac地址
          默认使用调度服务器上的外网地址(vip地址)响应,
          在真实服务器上修改内核参数
          使真实服务器只对自己服务器上的真实IP地址响应ARP解析

(2)问题2:第二次再有访问请求会不访问调度,直接访问节点

          路由器上绑定了 真实服务器1的mac信息
          请求到达真实服务器
          在真实服务器上修改内核参数
          只对所有服务器真实网卡上的地址进行反馈,解析

3.实际操作:

环境简介

DR 服务器:192.168.174.10
web 服务器1:192.168.174.20
web 服务器2:192.168.174.30
vip(虚拟回环):192.168.174.188
客户端:192.168.174.139

配置负载调度器

(1)关闭防火墙,selinux

[root@localhost ~]#systemctl stop firewalld.service
[root@localhost ~]#setenforce 0

(2)安装服务

[root@localhost ~]# mount /dev/sr0 /mnt 
[root@localhost ~]# yum install ipvsadm.x86_64 -y

(3)配置虚拟IP地址(VIP:192.168.174.188)

①配置虚拟网卡,若为隧道模式ifcfg-tunl0

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0

②删除dns与网关,注意子网,重启服务

[root@localhost network-scripts]# vim ifcfg-ens33:0

LVS集群_第25张图片

 [root@localhost network-scripts]# systemctl restart network

③ 启动网卡

[root@localhost network-scripts]# ifup ifcfg-ens33:0

(4)调整/proc响应参数 

调整/proc响应参数  对于 DR 群集模式来说,由于 LVS 负载调度器和各节点需要共用 VIP 地址,应该关闭 Linux 内核的重定向参数响应服务器不是一台路由器,那么它不会发送重定向,所以可以关闭该功能

 [root@localhost network-scripts]#  vi /etc/sysctl.conf

[root@localhost network-scripts]# sysctl -p      刷新配置

(5)配置负载分配策略 

[root@localhost network-scripts]# modprobe ip_vs
[root@localhost network-scripts]# cat /proc/net/ip_vs

(6) 加载模块

[root@localhost network-scripts]# ipvsadm-save >/etc/sysconfig/ipvsadm   保存设置

[root@localhost network-scripts]#systemctl start ipvsadm.service               重启服务
[root@localhost network-scripts]#ipvsadm -C
[root@localhost ~]#ipvsadm -A -t 192.168.174.188:80 -s rr
[root@localhost ~]#ipvsadm -a -t 192.168.174.188:80 -r 192.168.174.20:80 -g
[root@localhost ~]#ipvsadm -a -t 192.168.174.188:80 -r 192.168.174.30:80 -g
[root@localhost network-scripts]#ipvsadm
[root@localhost network-scripts]#ipvsadm-save >/etc/sysconfig/ipvsadm

LVS集群_第26张图片

节点服务器

web 服务器1、2

(1)关闭防火墙,selinux

[root@localhost ~]#systemctl stop firewalld.service
[root@localhost ~]#setenforce 0

(2)安装httpd服务,并开启服务

[root@localhost ~]#yum install httpd -y
[root@localhost ~]#systemctl start httpd

(3)创建简单的网页

[root@localhost html]# vim index.html

节点1 hello wb!!!!

节点2 hello naruto

(4)修改回环网卡名,IP地址,子网掩码 

[root@localhost ~]#cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]#cp ifcfg-lo ifcfg-lo:0
[root@localhost ~]#ifconfig lo:0 192.168.174.188 255.255.255.255
[root@localhost network-scripts]#vim ifcfg-lo:0

配置文件内容
DEVICE=lo:0
IPADDR=192.168.174.188
NETMASK=255.255.255.255
NETWORK=127.0.0.0
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
#BROADCAST=127.255.255.255
ONBOOT=yes
#NAME=loopback

(5)重启服务

[root@localhost network-scripts]# systemctl restart network

我们可以用ifconfig的命令进行查看有没有虚拟网卡

(6)设置路由

[root@localhost network-scripts]# route add -host 192.168.174.188 dev lo:0

(7)添加系统只响应目的IP为本地IP的APR请求

[root@localhost network-scripts]# vim /etc/sysctl.conf


net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

LVS集群_第27张图片

4.测试 

(1)先ping看各节点是否可以ping通

LVS集群_第28张图片

都是可以ping通的 

(2)进入网页

输入192.168.174.188 

一分钟之后刷新 

你可能感兴趣的:(知识科普,项目,linux,运维,lvs)