当前位置: 首页 > news >正文

关于lvs+keeplived在mysql分库分上负载部署

架构图:
在这里插入图片描述

模块IP主机规格VIP
keepalived+lvs

1x2.2x.37.67

1x2.2x.38.85


4c8G  SSD

vip:

1x2.2x.37.126
dble集群

1x2.2x.37.51

1x2.2x.38.13

8c32G  SSD
mysql主从

1x2.2x.37.85 主

1x2.2x.38.162 从

1x2.2x.38.56 从

8c32G  SSD
  1. 安装lvs+keepalive
    在1x2.2x.37.67和1x2.2x.38.85分别安装
    yum install -y ipvsadm
    yum install keepalived –y

  2. 给后端被转发服务器添加vip
    本实验环境为172.21.37.51 和 xx(添加在本地回环网卡lo上),本次采用单VIP
    ifconfig lo:0 1x2.2x.37.126 netmask 255.255.255.255 broadcast 1x2.2x.37.126
    /sbin/route add -host 172.21.37.126 dev lo:0

  3. 给后端被转发服务器配置arp抑制防止ip冲突
    37.51和38.13均需要设置
    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
    sysctl -p

  4. 配置keepalive参数
    在1x2.2x.37.67和1x2.2x.38.85都要设置,配置分三个部分,一、三部分两机设置相同,第二部分有区别。vi /etc/keepalived/keepalived.conf

A. 第一部分全局设置

! Configuration File for keepalived

global_defs {
router_id LVS_3767
script_user root
enable_script_security
}

B. 第二部分vip设置

vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 50
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 5211
}
virtual_ipaddress {
1x2.2x.37.126/32
}
}

C. 第三部分lvs转发设置

virtual_server 1x2.2x.37.126 8066 {
delay_loop 3
lb_algo lc
lb_kind DR
protocol TCP

real_server 1x2.2x.37.51 8066 {
weight 1
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 1
connect_port 8066
}

MISC_CHECK {
misc_path “/etc/keepalived/check_tidb.sh 1x2.2x.37.51 8066”
misc_timeout 3
misc_dynamic
}
}

real_server 1x2.2x.38.13 8066 {
weight 1
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 1
connect_port 8066
}

MISC_CHECK {
misc_path “/etc/keepalived/check_tidb.sh 1x2.2x.38.13 8066”
misc_timeout 3
misc_dynamic
}
}

}

#启动 keepalived
systemctl start keepalived

查看 LVS 规则

ipvsadm -Ln

检查 ip_vs 内核模块是否加载

lsmod | grep ip_vs

#测试连接 去非路由机器上测
[root@host-1x2-2x-37-51 ~]# mysql -u root -p’xxxx’ -h 1x2.2x.37.126 -P 8066 -e “select version();”

±------------------------------------------------------------------------------+
| VERSION() |
±------------------------------------------------------------------------------+
| 8.0.20-dble-3.23.04.0-a9257aa72722c03ebe3290fd20201437b4f3a1f5-20230619104507 |
±------------------------------------------------------------------------------+

keeplived和dble高可用测试:
1、停掉vip所在的keeplived机器 ,另一台keeplived机器 会邦定新的VIP。

2、停掉其中一台dble服务器,服务仍然能正常提供服务。

http://www.dtcms.com/a/389463.html

相关文章:

  • Springboot获取bean的工具类
  • C++学习日记
  • DRAM的原理
  • Ansible插件开发
  • ubuntu 两个网卡进行映射
  • 通信高效的数据并行分布式深度学习-综述-图表解读
  • 为何我的无刷电机在FOC开环控制下迅速发烫?
  • Docker多容器编排:Compose 实战教程——深入探索与实践
  • 网络交换机分类与功能解析
  • FPGA学习笔记——Vivado创建工程(2022版)
  • Python 美食菜谱可视化:Django 后端 + Vue 前端 + 豆果爬虫 + Echarts(大数据方向)(建议收藏)✅
  • 【从入门到精通Spring Cloud】声明式服务调用组件OpenFeign
  • 【Linux】系统部分——线程互斥
  • Qt QVBoxPlotModelMapper详解
  • Arcgis中的模型构建器技术之按属性批量建库并对应输出
  • Selenium UI 自动化:自定义 send_keys 方法实现与优化
  • golang后端面试复习
  • webpack学习笔记-entry
  • webpack学习之output
  • 应急响应靶机-WindowsServer2022-web2
  • Netty:网络编程基础
  • VulnHub打靶记录——AdmX_new
  • 筑牢安全防线,守护线上招标采购管理软件
  • TP8框架安全文件与文件夹权限相关设置
  • 练习:客户端从终端不断读取数据,通过UDP,发送给服务端,服务端输出
  • Android Studio报错 C Users User .gradle caches... (系统找不到指定的文件)
  • 微服务分页查询:MyBatis-Plus vs 自定义实现
  • Opera Neon:Opera 推出的AI智能代理浏览器
  • Java 基础知识整理:字面量、常量与变量的区别
  • 模型部署:(六)安卓端部署Yolov8分类项目全流程记录