LVS之高可用集群DR

2023-10-23 13:08
文章标签 集群 可用 dr lvs 之高

本文主要是介绍LVS之高可用集群DR,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

LVS之高可用集群DR

  • 一、LVS-DR工作原理
    • 1、数据包流向分析
    • 2、DR模式的特点
  • 二、LVS-DR中的ARP问题
    • 问题一:
    • 问题二:
  • 三、LVS负载均衡DR模式群集部署
    • 1、部署共享存储
    • 2、配置节点服务器
    • 3、配置负载调度器
    • 4、测试验证

一、LVS-DR工作原理

1、数据包流向分析

在这里插入图片描述

2、DR模式的特点

在这里插入图片描述

二、LVS-DR中的ARP问题

问题一:

在这里插入图片描述

问题二:

在这里插入图片描述

修改 /etc/sysctl.conf 文件
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2

三、LVS负载均衡DR模式群集部署

搭建环境:
DR 服务器(负载调度器)192.168.221.30 | ens33:0 (VIP):192.168.221.100
NFS服务器 CentOS7 192.168.221.20
Web节点服务器1 192.168.221.109 | lo:0 (VIP):192.168.221.100
Web节点服务器2 192.168.221.110 | lo:0 (VIP):192.168.221.100
客户端 Windows10 192.168.221.88

1、部署共享存储

NFS服务器:192.168.221.20systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0yum -y install nfs-utils rpcbindsystemctl start rpcbind.service
systemctl start nfs.service
systemctl enable nfs.service
systemctl enable rpcbind.servicemkdir /opt/test1
mkdir /opt/test2chmod 777 /opt/test1
chmod 777 /opt/test2vim /etc/exports
/opt/test1 192.168.221.0/24(rw,sync)
/opt/test2 192.168.221.0/24(rw,sync)exportfs -rv

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

2、配置节点服务器

Web节点服务器1:ens33:192.168.221.109 lo:0 (VIP):192.168.221.100
Web节点服务器2:ens33:192.168.221.110 lo:0 (VIP):192.168.221.100
接下来是两台服务器相同的配置

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

在这里插入图片描述
(1)web1和web2配置虚拟 IP 地址(VIP:192.168.221.100)

#此地址仅用做发送 Web 响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。
#因此使用虚接口 lo:0 来承载 VIP 地址,并为本机添加一条路有记录,将访问 VIP 的数据限制在本地,以避免通信紊乱。vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.221.100
NETMASK=255.255.255.255
ONBOOT=yesifup lo:0
ifconfig lo:0#设置临时的路由,重启失效;禁锢路由
route add -host 192.168.221.100 dev lo:0
#查看路由
route -n#开机自动添加路由,生产环境应该用这个
vim /etc/rc.local
/sbin/route add -host 192.168.221.100 dev lo:0
chmod +x /etc/rc.d/rc.local

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
(2)调整内核的ARP 响应参数以阻止更新 VIP 的MAC 地址,避免发生冲突

vim /etc/sysctl.conf
......
net.ipv4.conf.lo.arp_ignore = 1 #系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_announce = 2 #系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2sysctl -pyum install -y nfs-utils rpcbind httpd
systemctl start rpcbind
systemctl enable rpcbind
systemctl start httpd.service
systemctl enable httpd.service

在这里插入图片描述
在这里插入图片描述
下面两个服务器设置有点不一样了

Web节点服务器1:ens33:192.168.221.109 lo:0 (VIP):192.168.221.100
showmount -e 192.168.221.20
mount.nfs 192.168.221.20:/opt/test1 /var/www/html
echo 'this is test1 web!' > /var/www/html/index.htmlWeb节点服务器2:ens33:192.168.221.110 lo:0 (VIP):192.168.221.100(同web1差不多)
showmount -e 192.168.221.20
mount.nfs 192.168.221.20:/opt/test2 /var/www/html
echo 'this is test2 web!' > /var/www/html/index.html

在这里插入图片描述

3、配置负载调度器

负载调度器:192.168.221.30 lo:0 (VIP):192.168.221.100
(1)关防火墙,加载ip_vs模块

systemctl stop firewalld.service 
systemctl disable firewalld.service 
setenforce 0#加载ip_vs模块,并安装ipvsadm工具
modprobe ip_vs
cat /proc/net/ip_vs
yum install -y ipvsadm

在这里插入图片描述
(2)配置虚拟 IP 地址(VIP:192.168.221.100)

vim /etc/sysconfig/network-scripts/ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.221.100
NETMASK=255.255.255.255ifup ens33:0
ifconfig ens33:0

在这里插入图片描述
在这里插入图片描述
(3)调整 proc 响应参数

#由于 LVS 负载调度器和各节点需要共用 VIP 地址,应该关闭Linux 内核的重定向参数响应,不充当路由器,
vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0sysctl -p

在这里插入图片描述
(4)配置负载分配策略

ipvsadm-save > /etc/sysconfig/ipvsadm
或者
ipvsadm --save > /etc/sysconfig/ipvsadmsystemctl start ipvsadm.service#清除原有策略
ipvsadm -C
ipvsadm -A -t 192.168.221.100:80 -s rr
ipvsadm -a -t 192.168.221.100:80 -r 192.168.221.109:80 -g #如果这里是隧道模式,直接将-g替换成-i即可
ipvsadm -a -t 192.168.221.100:80 -r 192.168.221.110:80 -g#查看节点状态,Route代表 DR模式
ipvsadm -ln

在这里插入图片描述

4、测试验证

在客户端访问 http://192.168.221.88/,刷新测试负载均衡是否成功
在这里插入图片描述

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

这篇关于LVS之高可用集群DR的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/268030

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应

JAVA用最简单的方法来构建一个高可用的服务端,提升系统可用性

一、什么是提升系统的高可用性 JAVA服务端,顾名思义就是23体验网为用户提供服务的。停工时间,就是不能向用户提供服务的时间。高可用,就是系统具有高度可用性,尽量减少停工时间。如何用最简单的方法来搭建一个高效率可用的服务端JAVA呢? 停工的原因一般有: 服务器故障。例如服务器宕机,服务器网络出现问题,机房或者机架出现问题等;访问量急剧上升,导致服务器压力过大导致访问量急剧上升的原因;时间和

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧! 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体

kubernetes集群部署Zabbix监控平台

一、zabbix介绍 1.zabbix简介 Zabbix是一个基于Web界面的分布式系统监控的企业级开源软件。可以监视各种系统与设备的参数,保障服务器及设备的安全运营。 2.zabbix特点 (1)安装与配置简单。 (2)可视化web管理界面。 (3)免费开源。 (4)支持中文。 (5)自动发现。 (6)分布式监控。 (7)实时绘图。 3.zabbix的主要功能

laravel框架实现redis分布式集群原理

在app/config/database.php中配置如下: 'redis' => array('cluster' => true,'default' => array('host' => '172.21.107.247','port' => 6379,),'redis1' => array('host' => '172.21.107.248','port' => 6379,),) 其中cl