集群 day-45 ( 18.6 负载均衡集群介绍, LVS介绍, LVS调度算法, LVS NAT模式搭建, LVS DR模式搭建 , keepalived + LVS)

本文主要是介绍集群 day-45 ( 18.6 负载均衡集群介绍, LVS介绍, LVS调度算法, LVS NAT模式搭建, LVS DR模式搭建 , keepalived + LVS),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

18.6 负载均衡集群介绍

在这里插入图片描述

18.7 LVS介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

18.8 LVS调度算法

前4种重点
在这里插入图片描述
在这里插入图片描述

18.9 LVS NAT模式搭建(上)

在这里插入图片描述
准备三台设备,更改IP 计算名机
在这里插入图片描述
设备1上设置双网卡
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试ping 192.168.142.147

三台设备都要关闭防火墙
在这里插入图片描述

在这里插入图片描述
使用iptables-service
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
vi /etc/selinux/config
在这里插入图片描述

设备2 和设备3 网关设置为设备1的IP地址
在这里插入图片描述
重启网络服务
在这里插入图片描述

18.10 LVS NAT模式搭建(下)

在这里插入图片描述
在dir 即设备1上安装ipvsadm 工具
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设备2 和设备3同样操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

18.11 LVS DR模式搭建

在这里插入图片描述
生产环境中,dir模式用得比较多
nat 模式 网站服务器10台范围内,好处占用少 公网IP

3台设备 都要 一个网卡 一个公网IP
在这里插入图片描述
重启网络服务

在这里插入图片描述

#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/usr/sbin/ipvsadm
vip=192.168.30.200
rs1=192.168.30.130
rs2=192.168.30.140
#注意这里的网卡名字
ifdown ens33
ifup ens33
ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev ens33:2
$ipv -C
$ipv -A -t $vip:80 -s rr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1    (-W 1 为权重)

在这里插入图片描述
在这里插入图片描述
设备2.3 上执行同样操作
在这里插入图片描述

#/bin/bash
vip=192.168.30.200
#把vip绑定在lo上,是为了实现rs直接把结果返回给客户端
ifdown lo
ifup  lo
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
#以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端
#参考文档www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
建议在新开一台虚拟机用curl 命令测试
在这里插入图片描述
在这里插入图片描述

18.12 keepalived lvs

入口都在dr 设备上,如果DOWN机会影响访问, 所以需要在dr上实现高可用
当rs DOWN 机后 lvs dr 仍然会把请求发到故障的RS 设备上,造成访问出错 使用keepalived lvs就不会把请求发到故障设备上
在这里插入图片描述
在这里插入图片描述
录请求发到故障设备上,会出现无法连接
在这里插入图片描述
使用keepalived + lvs (dr设备上不需要安装ipvsadm ,之前安装过的可以卸载)

在这里插入图片描述
之前做keeplived 实验的脚本
更改新脚本

vrrp_instance VI_1 {#备用服务器上为 BACKUPstate MASTER#绑定vip的网卡为ens33,你的网卡和阿铭的可能不一样,这里需要你改一下interface ens33virtual_router_id 51#备用服务器上为90priority 100advert_int 1authentication {auth_type PASSauth_pass aminglinux}virtual_ipaddress {192.168.30.200}
}
virtual_server 192.168.30.200 80 {#(每隔10秒查询realserver状态)delay_loop 10#(lvs 算法)lb_algo wlc#(DR模式)lb_kind DR#(同一IP的连接60秒内被分配到同一台realserver)persistence_timeout 0#(用TCP协议检查realserver状态)protocol TCPreal_server 192.168.30.130 80 {#(权重)weight 100TCP_CHECK {#(10秒无响应超时)connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 192.168.30.140 80 {weight 100TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于之前配置过keepalived 所以还保留了192.168.133.200 ens33:2 的虚拟IP
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在dr 设备上停上keepalived 等一会 在启动服务
weight 权重看出是新的连接
在这里插入图片描述
模拟RS down 后,keepalived 会自动把故障设备踢出

在这里插入图片描述
在这里插入图片描述

注意:
dr 上配置 keepalived + lvs 时
仍要执行上的脚本,路径 /usr/local/sbin/lvs_rs.sh 即下面这个
sh /usr/local/sbin/lvs_rs.sh
在这里插入图片描述

dr 设备上
在这里插入图片描述

总结:keepalived +lvs

  1. 两台DR yum 安装keepalive + ipvsadm
  2. 两台DR 编写脚本vim /usr/local/sbin/lvs_dr.sh
    执行脚本 sh /usr/local/sbin/lvs_dr.sh
#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/usr/sbin/ipvsadm
vip=192.168.30.169
rs1=192.168.30.160
rs2=192.168.30.161
  1. 两台RS 编写脚本 vim /usr/local/sbin/lvs_rs.sh
    执行脚本 sh /usr/local/sbin/lvs_rs.sh
#/bin/bash
vip=192.168.30.169
#把vip绑定在lo上,是为了实现rs直接把结果返回给客户端
ifdown lo
ifup  lo
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
#以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端
#参考文档www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
  1. 两台DR 上编写keepalive 脚本vi /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {#备用服务器上为 BACKUPstate MASTER#绑定vip的网卡为ens33,你的网卡和阿铭的可能不一样,这里需要你改一下interface eth0virtual_router_id 51#备用服务器上为90priority 100advert_int 1authentication {
vrrp_instance VI_1 {#备用服务器上为 BACKUPstate MASTER#绑定vip的网卡为ens33,你的网卡和阿铭的可能不一样,这里需要你改一下interface eth0virtual_router_id 51#备用服务器上为90priority 100advert_int 1authentication {auth_type PASSauth_pass aminglinux}virtual_ipaddress {192.168.30.169}
}
virtual_server 192.168.30.169 80 {#(每隔10秒查询realserver状态)delay_loop 10#(lvs 算法)lb_algo rr#(DR模式)lb_kind DR#(同一IP的连接60秒内被分配到同一台realserver)persistence_timeout 60#(用TCP协议检查realserver状态)protocol TCPreal_server 192.168.30.160 80 {#(权重)weight 100TCP_CHECK {#(10秒无响应超时)connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 192.168.30.161 80 {weight 100TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}
}

启动 systemctl start keepalived
route -n 查看到VIP 的路由是否存在
在这里插入图片描述
在这里插入图片描述

这篇关于集群 day-45 ( 18.6 负载均衡集群介绍, LVS介绍, LVS调度算法, LVS NAT模式搭建, LVS DR模式搭建 , keepalived + LVS)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1019781

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R