返回顶部
首页 > 资讯 > 数据库 >LVS+keepalived的安装部署怎么完成mysql的负载均衡
  • 697
分享到

LVS+keepalived的安装部署怎么完成mysql的负载均衡

2024-04-02 19:04:59 697人浏览 薄情痞子
摘要

LVS+keepalived的安装部署怎么完成Mysql的负载均衡,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 试验环境:

LVS+keepalived的安装部署怎么完成Mysql负载均衡,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

 试验环境:

LVS1:192.168.9.27

LVS2:192.168.9.28

keepalived  的VIP:192.168.9.230

要分发的mysql1: 192.168.9.29

要分发的mysql2:192.168.9.30

具体安装步骤:

#下载ipvsadm (也就是LVS程序包)

wget Http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

#解压

[root@lvs-a ~]# tar -zxf ipvsadm-1.24.tar.gz

#进入该ipvsadm目录  

[root@lvs-a ~]# cd /usr/local/ipvsadm-1.24

#安装开发包及库文件

[root@lvs-a ipvsadm-1.24]# # yum install zlib-devel GCc gcc-c++ openssl-devel pcre-devel libtool kernel-devel ncurses-devel -y

#创建内核连接

[root@lvs-a ipvsadm-1.24]# ln -sv /usr/src/kernels/2.6.18-194.el5-i686/ /usr/src/linux  #(2.6.18-194.el5-i686)根据系统版本修改。

#编译安装

[root@lvs-a ipvsadm-1.24]# make;make install

#进入目录

[root@lvs-a ~]# cd  /usr/local/

#下载keepalived

wget http://www.keepalived.org/software/keepalived-1.1.17.tar.gz

#解压

[root@lvs-a ipvsadm-1.24]# tar -zxf keepalived-1.2.12.tar.gz

#进入该keepalived目录

[root@lvs-a ~]cd keepalived-1.2.12

#编译安装

[root@lvs-a keepalived-1.2.12]#./configure --prefix=/usr/local/keepalived  #这里编译完后面显示三个yes,说明编译成功,否则安装不成功。

#以下为1.2.12版本./configure结果如下

LVS+keepalived的安装部署怎么完成mysql的负载均衡

#如果为1.1.17版本./configure结果如下

 LVS+keepalived的安装部署怎么完成mysql的负载均衡

[root@lvs-a keepalived-1.2.12]#make

[root@lvs-a keepalived-1.2.12]#make install

#复制启动文件

[root@lvs-a keepalived-1.2.12]#cp /usr/local/keepalived/etc/rc.d/init.d/keepalived  /etc/init.d/    ##这样才能用service keepalived 的命令。

#复制命令文件

[root@lvs-a keepalived-1.2.12]#cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

#复制【配置文件

[root@lvs-a keepalived-1.2.12]#cp /usr/local/keepalived/etc/sysconfig/keepalived  /etc/sysconfig/

#新建主配置文件目录

[root@lvs-a keepalived-1.2.12]#mkdir -p /etc/keepalived

#编辑配置文件LVS1

[root@lvs-a sysconfig]#vim  /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id lvs
}

vrrp_sync_group http {                            #设置vrrp组,随便起名字,
group {
           mysql                                             ###随便起的名字
         }
}

vrrp_instance apache {                          ###定义一个vrrp实例
    state MASTER                                     #设置lvs的状态, MASTER和BACKUP两种,必须大写,主节点master,从节点backup
    interface eth0                                      #设置对外服务的接口,也就是/LVS监控网络接口
    virtual_router_id 01                             #设置lvs监听的接口,同一实例下virtual_router_id必须相同 ,随便起名字
    priority 500                                          # #设置优先级,数值越大,优先级越高 ,也就是主节点的这个值大
    advert_int 1                                          ## //MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒 

    authentication {                                   #设置验证类型和密码
        auth_type PASS                                 
        auth_pass aabb                                ##密码
    }
    virtual_ipaddress {                          ##设置keepalived的VIP
        192.168.9.230                           #如果有多个,往下加就行了 

        #192.168.9.231

        #192.168.9.232

   }

}

virtual_server 192.168.9.230 3306 {               ##定义虚拟服务器 
    delay_loop 6                                              #健康检查时间,单位是秒。
    lb_alGo rr                                                   #负载调度算法,这里设置为rr,即轮询算法
    lb_kind DR                                                 #LVS实现负载均衡的机制,可以有NAT、TUN和DR三个模式可选 
    nat_mask 255.255.255.0                             #可以不填写这个参数,
#    persistence_timeout 50
    protocol tcp

    real_server 192.168.9.29 3306 {                      ##要分发的目标服务器IP,
        weight 1                                                        #设置权重,也就是分发的次数,这里表示每个分发一次,
        TCP_CHECK {                                                  #通过tcpcheck判断RealServer的健康状态 
              connect_timeout 3                                     ##连接超时时间 

              #nb_get_retry 3                                           #重连次数 ,有默认值
              #delay_before_retry 3                                #重连间隔时间    有默认值                       
              connect_port 3306
            }
        }
    real_server 192.168.9.30 3306 {
        weight 1
        TCP_CHECK {
              connect_timeout 3
              connect_port 3306
            }
        }
}

#配置完成重启keepalived

[root@lvs-a sysconfig]#service keepalived restart

#添加自己的网关

[root@lvs-a network-scripts]# route add -host 192.168.9.254  dev eth0


 #安装keepalived同lvs1相同

 #安装keepalived后配置LVS2,配置如下:

[root@lvs-b ~]# cat /etc/keepalived/keepalived.conf 

! Configuration File for keepalived

global_defs {
   router_id lvs
}

vrrp_sync_group http {
group {
           mysql
         }
}

vrrp_instance apache {
    state BACKUP 
    interface eth0
    virtual_router_id 01
    priority 400
    advert_int 1
 #  nopreempt
    authentication {
        auth_type PASS
        auth_pass aabb
    }
    virtual_ipaddress {
        192.168.9.230
    }
}

virtual_server 192.168.9.230 3306 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    nat_mask 255.255.255.0
#    persistence_timeout 50
    protocol TCP

    real_server 192.168.9.29 3306 {
        weight 1
        TCP_CHECK {
              connect_timeout 3
              connect_port 3306
            }
        }
    real_server 192.168.9.30 3306 {
        weight 1
        TCP_CHECK {
              connect_timeout 3
              connect_port 3306
            }
        }
}

       

#配置完成重启keepalived

service keepalived restart

#添加自己的网关

route add -host 192.168.9.254  dev eth0

#查看

route -n

#查看分发结果

Ipvsadm -ln

#清除分发

Ipvsadm -C

#查看虚拟ip(VIP)

Ip addr

#配置 mysql-realserver1  在192.168.9.29上执行:

[root@lvs-a ~]# ifconfig lo:0 192.168.9.230 netmask 255.255.255.0  broadcast 192.168.9.230 up       ##设置的一个临时的IP

设置到主机的路由

[root@lvs-b ~]# route add -host 192.168.9.230 dev lo:0

设置默认路由

[root@lvs-b ~]#route add default gw 192.168.9.137   

保证arp协议在连接过程中,路由器上,只知道网络中192.168.9.230对应的是分发器

[root@lvs-b ~]#echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore           

[root@lvs-b ~]#echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

#配置 mysql-realserver2  在192.168.9.30上执行:

[root@lvs-a ~]# ifconfig lo:0 192.168.9.230 netmask 255.255.255.0  broadcast 192.168.9.230 up 

设置到主机的路由

[root@lvs-a ~]#route add -host 192.168.9.230 dev lo:0

设置默认路由

[root@lvs-a ~]#route add default gw 192.168.153.137

保证arp协议在连接过程中,路由器上,只知道网络中192.168.9.230对应的是分发器

[root@lvs-a ~]#echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore           

[root@lvs-a ~]#echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

#两台mysql-realserver配置完成后启动分别mysql

Service mysqld start

LVS分发测试:

1,在  mysql-realserver1(192.168.9.29)  创建一个名字叫做slave1的数据库:

mysql> create database slave1;

Query OK, 1 row affected (0.00 sec)

2,在mysql-realserver2  (192.168.9.30)上创建一个名字叫做slave2的数据库:

mysql> create database slave2  ; 

Query OK, 1 row affected (0.00 sec)

3,在一台能ping通mysql-realserver1和mysql-realserver2的机器上执行(注意不要在正在用着的lvs机器上执行,例如我现在lvs用着[root@lvs-a ~]#这个机器,如果你在这里执行他会报错

[root@lvs-a ~]#  mysql -uroot -pliuwenhe -h292.168.9.230 -e'show databases';
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.9.230' (111)
You have new mail in /var/spool/mail/root

[root@lvs-b ~]# mysql -uroot -pliuwenhe -h292.168.9.230 -e'show databases';

+--------------------+
| Database           |
+--------------------+
| infORMation_schema | 
| he                 | 
| liuwenhe           | 
| mysql              | 
| performance_schema | 
| slave1             | 
| test               | 
+--------------------+
[root@lvs-b ~]# mysql -uroot -pliuwenhe -h292.168.9.230 -e'show databases';
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| he                 | 
| liuwenhe           | 
| mysql              | 
| performance_schema | 
| slave2             | 
| test               | 
+--------------------+

 说明lvs分发成功。

看完上述内容,你们掌握LVS+keepalived的安装部署怎么完成mysql的负载均衡的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: LVS+keepalived的安装部署怎么完成mysql的负载均衡

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

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

猜你喜欢
  • LVS+keepalived的安装部署怎么完成mysql的负载均衡
    LVS+keepalived的安装部署怎么完成mysql的负载均衡,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 试验环境: ...
    99+
    2024-04-02
  • nginx负载均衡怎么部署
    要部署Nginx负载均衡,可以按照以下步骤进行操作:1. 安装Nginx:在服务器上安装Nginx,你可以通过源代码编译安装或使用适...
    99+
    2023-09-04
    nginx
  • 怎么用MySQL+Keepalived+haproxy实现负载均衡
    本篇内容主要讲解“怎么用MySQL+Keepalived+haproxy实现负载均衡”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用MySQL+Keepal...
    99+
    2024-04-02
  • docker负载均衡策略怎么部署
    在Docker中,负载均衡通常通过使用容器编排工具来实现,如Docker Swarm或Kubernetes。以下是一般的步骤来部署负...
    99+
    2024-04-09
    docker
  • 如何使用LVS实现负载均衡的原理以及安装配置
    这期内容当中小编将会给大家带来有关如何使用LVS实现负载均衡的原理以及安装配置,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。负载均衡集群是 loadbalance 集群的简写,翻译成中文就是负载均衡集群。...
    99+
    2023-06-06
  • 负载均衡有哪些常见的部署模式
    负载均衡有以下常见的部署模式: 集中式负载均衡:在一个独立的设备上进行负载均衡,将请求分发到多个后端服务器上。 分布式负载均...
    99+
    2024-04-17
    负载均衡
  • ASP.NET Core中的高可用性与负载均衡怎么部署
    在ASP.NET Core中实现高可用性和负载均衡可以通过多种方式来部署。以下是一些常见的方法: 使用负载均衡器:部署多个ASP...
    99+
    2024-05-09
    ASP.NET
  • LVS实现负载均衡的原理与实践是怎样的
    LVS实现负载均衡的原理与实践是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。负载均衡的原理这是1998年一个普通的上午。一上班,老板就把张大胖叫进了办公...
    99+
    2023-06-04
  • 怎样进行nginx部署基于http的负载均衡器
    怎样进行nginx部署基于http的负载均衡器,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。nginx跨多个应用程序实例的负载平衡是一种用于优化资源利用率,最大...
    99+
    2023-06-05
  • mysql负载均衡指的是什么
    这篇文章主要介绍“mysql负载均衡指的是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql负载均衡指的是什么”文章能帮助大家解决问题。 ...
    99+
    2023-04-08
    mysql
  • linux中LVS、Nginx和HAProxy负载均衡器的特点是什么
    本篇内容介绍了“linux中LVS、Nginx和HAProxy负载均衡器的特点是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家...
    99+
    2024-04-02
  • PHP Web应用程序的负载均衡与集群部署
    负载均衡和集群部署可提高 php web 应用程序的可用性和可伸缩性,可在 aws elastic beanstalk 中实现:负载均衡:在应用程序前端分布流量,按需调整后端服务器数量。...
    99+
    2024-05-10
    负载均衡 集群部署
  • nginx的负载均衡怎么配置
    要配置NGINX的负载均衡,可以按照以下步骤:1. 安装NGINX:首先需要在服务器上安装NGINX。可以使用操作系统的包管理器进行...
    99+
    2023-09-02
    nginx 负载均衡
  • apache的负载均衡怎么配置
    要配置 Apache 的负载均衡,可以使用 Apache 的模块 mod_proxy 和 mod_proxy_balancer。下面...
    99+
    2023-09-02
    负载均衡 apache
  • kafka的负载均衡怎么实现
    Kafka的负载均衡可以通过以下几种方式来实现:1. 分区:Kafka将每个主题划分为多个分区,每个分区可以在不同的Broker上进...
    99+
    2023-09-01
    kafka 负载均衡
  • tomcat的负载均衡怎么实现
    Tomcat的负载均衡可以通过以下几种方式来实现:1. 使用Apache HTTP Server:将Tomcat作为后端服务器,使用...
    99+
    2023-09-04
    tomcat 负载均衡
  • 基于Docker部署Tomcat集群、 Nginx负载均衡的问题小结
    目录写在前面一,Ngixn 镜像制作二,java Web(Tomcat)应用镜像构建三,运行容器 Nginx镜像写在前面 看完Dokcer相关的书籍,正好有个项目要这样搞,所以自己练...
    99+
    2024-04-02
  • mysql负载均衡配置的步骤是什么
    MySQL负载均衡配置的步骤通常包括以下几个步骤: 安装和配置负载均衡软件:选择一个适合的负载均衡软件,如MySQL Route...
    99+
    2024-05-10
    mysql
  • Golang项目搭配nginx部署反向代理负载均衡的方法
    这篇“Golang项目搭配nginx部署反向代理负载均衡的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Golang项目...
    99+
    2023-06-30
  • kubernetes V1.6.4 分布式集群的部署及如何进行service负载均衡
    kubernetes V1.6.4 分布式集群的部署及如何进行service负载均衡,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1,kubernetes的基本...
    99+
    2023-06-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作