iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL5.7+keepalived+LVS从库负载均衡搭建
  • 564
分享到

MySQL5.7+keepalived+LVS从库负载均衡搭建

2024-04-02 19:04:59 564人浏览 独家记忆
摘要

数据库架构:一主三从 master:192.168.8.57 slave1:192.168.8.58 slave2:192.168.8.59 slave3:192.168.8.61

数据库架构:一主三从

master:192.168.8.57

slave1:192.168.8.58

slave2:192.168.8.59

slave3:192.168.8.61

manager:192.168.8.60

工具包:

mha4Mysql-manager-0.58.tar.gz

mha4mysql-node-0.58.tar.gz

keepalived-1.4.5.tar.gz

        此项目数据库架构中,master和slave1利用MHA和keepalived实现故障自动切换,slave2和slave3利用 keepalived和LVS实现负载均衡,本文着重讲解负载均衡的搭建过程。

一、安装ipvsadm

在slave2和slave3安装


mount /dev/cdrom /media
yum install -y ipvsadm

二、安装keepalived


tar zxvf keepalived-1.4.5.tar.gz
cd keepalived-1.4.5
./configure --prefix=/usr/local/keepalived/
make && make install

设置开机自动启动


systemctl enable keepalived

三、更改keepalived日志位置

keepalived日志默认位置为/var/log/messages

把日志单独存放

修改 vi /usr/local/keepalived/etc/sysconfig/keepalived

把 KEEPALIVED_OPTioNS="-D" 修改为:KEEPALIVED_OPTIONS="-D -d -S 0"


vi /usr/local/keepalived/etc/sysconfig/keepalived
# Options for keepalived. See `keepalived --help' output and keepalived(8) and
# keepalived.conf(5) man pages for a list of all options. Here are the most
# common ones :
#
# --vrrp               -P    Only run with VRRP subsystem.
# --check              -C    Only run with Health-checker subsystem.
# --dont-release-vrrp  -V    Dont remove VRRP VIPs & VROUTEs on daemon stop.
# --dont-release-ipvs  -I    Dont remove IPVS topology on daemon stop.
# --dump-conf          -d    Dump the configuration data.
# --log-detail         -D    Detailed log messages.
# --log-facility       -S    0-7 Set local syslog facility (default=LOG_DAEMON)
#
KEEPALIVED_OPTIONS="-D -d -S 0"

重启服务


systemctl restart rsyslog

四、修改keepalived配置文件

192.168.8.59

vi /etc/keepalived/keepalived.conf


! Configuration File for keepalived
global_defs {
router_id 859
notification_email {
zdd5503@163.com
}
notification_email_from zdd5503@163.com
smtp_server stmp.163.com
smtp_connect_timeout 30
}
vrrp_instance v_mysql_slave_wgpt1 {
state MASTER
interface enp0s3
virtual_router_id 98
priority 100
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass steven
}
virtual_ipaddress {
192.168.8.98/24
}
}
virtual_server 192.168.8.98 3306 {
delay_loop 2
lb_alGo rr
lb_kind DR
persistence_timeout 0
protocol tcp
real_server 192.168.8.59 3306 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
real_server 192.168.8.61 3306 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}

192.168.8.61

vi /etc/keepalived/keepalived.conf


! Configuration File for keepalived
global_defs {
router_id 861
notification_email {
zdd5503@163.com
}
notification_email_from zdd5503@163.com
smtp_server stmp.163.com
smtp_connect_timeout 30
}
vrrp_instance v_mysql_slave_wgpt1 {
state BACKUP
interface enp0s3
virtual_router_id 98
priority 80
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass steven
}
virtual_ipaddress {
192.168.8.98/24
}
}
virtual_server 192.168.8.98 3306 {
delay_loop 2
lb_algo rr
lb_kind DR
persistence_timeout 0
protocol TCP
real_server 192.168.8.59 3306 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
real_server 192.168.8.61 3306 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}

systemctl daemon-reload

systemctl start keepalived

systemctl enable keepalived

ps -ef |grep keepalived

ip a

五、lo:0绑定VIP地址、抑制ARP广播

192.168.8.59

vi /etc/rc.d/init.d/lvsmysql.sh


#!/bin/bash
#
. /etc/rc.d/init.d/functions
VIP1=$1
case "$2" in
start)
echo " Start LVS of MySQL Slave REALServer"
/sbin/ifconfig lo:0 $VIP1 broadcast $VIP1 netmask 255.255.255.255 up
/sbin/route add -host $VIP1 dev lo:0
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 >/dev/null 2>&1
;;
stop)
/sbin/ifconfig lo:0 down
/sbin/route del $VIP1 >/dev/null 2>&1
echo "Stoped LVS of MySQL Slave Directorserver"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
status)
isLoOn=`/sbin/ifconfig lo:0 | grep "$VIP"`
isRoOn=`/bin/netstat -rn | grep "$VIP"`
if [ "$isLoON" == "" -a "$isRoOn" == "" ]; then
echo "LVS-DR real server has run yet."
else
echo "LVS-DR real server is running."
fi
exit 3
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0

192.168.8.61

vi /etc/rc.d/init.d/lvsmysql.sh


#!/bin/bash
#
. /etc/rc.d/init.d/functions
VIP1=$1
case "$2" in
start)
echo " Start LVS of MySQL Slave REALServer"
/sbin/ifconfig lo:0 $VIP1 broadcast $VIP1 netmask 255.255.255.255 up
/sbin/route add -host $VIP1 dev lo:0
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 >/dev/null 2>&1
;;
stop)
/sbin/ifconfig lo:0 down
/sbin/route del $VIP1 >/dev/null 2>&1
echo "Stoped LVS of MySQL Slave Directorserver"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
status)
isLoOn=`/sbin/ifconfig lo:0 | grep "$VIP"`
isRoOn=`/bin/netstat -rn | grep "$VIP"`
if [ "$isLoON" == "" -a "$isRoOn" == "" ]; then
echo "LVS-DR real server has run yet."
else
echo "LVS-DR real server is running."
fi
exit 3
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0

六、测试负载均衡

/etc/rc.d/init.d/lvsmysql.sh 192.168.8.59 start

/etc/rc.d/init.d/lvsmysql.sh 192.168.8.59 stop

/etc/rc.d/init.d/lvsmysql.sh 192.168.8.61 start

/etc/rc.d/init.d/lvsmysql.sh 192.168.8.61 stop

echo "/etc/rc.d/init.d/lvsmysql.sh 192.168.1.65 start" >>

/etc/rc.d/rc.local

echo "ipvsadm --set 15 5 15" >> /etc/rc.d/rc.local

ifconfig

ipvsadm -L

mysql -uroot -pmysql -h292.168.8.59 -e "select @@hostname;"

mysql -uroot -pmysql -h292.168.8.61 -e "select @@hostname;



您可能感兴趣的文档:

--结束END--

本文标题: MySQL5.7+keepalived+LVS从库负载均衡搭建

本文链接: https://www.lsjlt.com/news/49069.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL5.7+keepalived+LVS从库负载均衡搭建
    数据库架构:一主三从 master:192.168.8.57 slave1:192.168.8.58 slave2:192.168.8.59 slave3:192.168.8.61 ...
    99+
    2024-04-02
  • lvs负载均衡是什么
    lvs负载均衡是一种能够在unix/linux平台下实现负载均衡集群功能的虚拟服务器集群系统,主要是用来将一组服务器构成一个高性能的、高可用的虚拟服务器。具体内容如下:LVS是linux virtual server的简写linux虚拟服务...
    99+
    2024-04-02
  • LVS+keepalived的安装部署怎么完成mysql的负载均衡
    LVS+keepalived的安装部署怎么完成mysql的负载均衡,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 试验环境: ...
    99+
    2024-04-02
  • lvs有哪些负载均衡方式
    lvs中负载均衡方式有:1、Virtual Server via NAT,在服务器中可以运行任何支持TCP/IP的操作系统;2、Virtual Server via IP Tunneling,在VS/TUN技术中所有的服务器必须支持“IP ...
    99+
    2024-04-02
  • 怎么搭建Keepalived+Nginx+Tomcat高可用负载均衡架构
    这篇文章将为大家详细讲解有关怎么搭建Keepalived+Nginx+Tomcat高可用负载均衡架构,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Nginx的高可用负载均衡架构如下图:为典型的Tomcat...
    99+
    2023-06-02
  • Haproxy+Keepalived+MySQL实现读均衡负载
    环境说明:     本系统对数据安全性不高,TPS操作很低,主要是查询的环境。...
    99+
    2024-04-02
  • lvs负载均衡有几种模式
    lvs负载均衡有3种模式,分别是:1、Virtual Server via NAT,在服务器中可以运行任何支持TCP/IP的操作系统;2、Virtual Server via IP Tunneling,在VS/TUN技术中所有的服务器必须支...
    99+
    2024-04-02
  • php负载均衡如何搭建
    在PHP负载均衡中,可以使用多种方式来搭建,以下是一种常见的方式:1. 使用Nginx作为负载均衡器。Nginx是一个高性能的Web...
    99+
    2023-09-01
    php 负载均衡
  • iis负载均衡怎么搭建
    要搭建IIS负载均衡,您需要按照以下步骤进行操作:1. 首先,您需要有至少两台具有IIS(Internet Information ...
    99+
    2023-08-16
    iis负载均衡
  • springcloud负载均衡怎么搭建
    要搭建Spring Cloud负载均衡,你可以使用Ribbon作为负载均衡器。下面是搭建Spring Cloud负载均衡的步骤:1....
    99+
    2023-09-01
    springcloud 负载均衡
  • hive负载均衡怎么搭建
    要搭建 Hive 的负载均衡,可以按照以下步骤进行操作:1. 安装和配置负载均衡软件:选择一个适合的负载均衡软件,如 HAProxy...
    99+
    2023-09-07
    负载均衡
  • lvs支持哪些负载均衡算法
    lvs支持的负载均衡算法有:1、轮询调度,RR算法;2、加权轮询调度,WRR算法;3、最小连接调度,LC算法;4、加权最小连接调度,WLC算法;5、基于局部的最少连接,LBLC算法;6、带复制的基于局部性的最少连接,LBLCR算法;7、目标...
    99+
    2024-04-02
  • lvs负载均衡集群有哪些类型
    lvs负载均衡集群的类型有:1、负载均衡群集,能够提高应用系统的响应能力;2、高可用群集,能够提高应用系统的可靠性;3、高性能运算群集,能够提高应用系统的 CPU 运算速度、扩展硬件资源和分析能力。具体内容如下:负载均衡群集:Load Ba...
    99+
    2024-04-02
  • lvs中有多少种负载均衡算法
    lvs中有10种负载均衡算法,分别是:1、轮询调度,RR算法;2、加权轮询调度,WRR算法;3、最小连接调度,LC算法;4、加权最小连接调度,WLC算法;5、基于局部的最少连接,LBLC算法;6、带复制的基于局部性的最少连接,LBLCR算法...
    99+
    2024-04-02
  • heartbeat+lvs怎么构建高可用负载均衡集群
    小编给大家分享一下heartbeat+lvs怎么构建高可用负载均衡集群,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!heartb...
    99+
    2024-04-02
  • 如何进行haproxy+keepalived负载均衡主从热备功能
    本篇文章为大家展示了如何进行haproxy+keepalived负载均衡主从热备功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。VIP: 192.168.1.100 Master: 192.168...
    99+
    2023-06-10
  • nginx负载均衡与SLB怎么搭建
    要搭建Nginx负载均衡,可以按照以下步骤进行操作:1. 安装Nginx:首先,在服务器上安装Nginx软件。具体安装方法和命令依赖...
    99+
    2023-09-01
    nginx 负载均衡
  • 怎么用MySQL+Keepalived+haproxy实现负载均衡
    本篇内容主要讲解“怎么用MySQL+Keepalived+haproxy实现负载均衡”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用MySQL+Keepal...
    99+
    2024-04-02
  • iis集群与负载均衡怎么搭建
    搭建IIS集群和负载均衡的步骤如下:1. 确保每台服务器上都已安装IIS。可以通过在服务器上运行“添加或删除程序”来检查IIS是否已...
    99+
    2023-09-07
    负载均衡
  • web服务器均衡负载怎么搭建
    要搭建一个均衡负载的web服务器,可以使用以下步骤:1. 选择一个适合的均衡负载解决方案,如Nginx、HAProxy等。这些解决方...
    99+
    2023-09-01
    负载均衡 web服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作