基于keepalived实现mariadb的高可用
时间:2022-03-10 17:02
提示:
上一篇博文己经介绍过了,有那些参数,也介绍过,这次我将介绍一下如何利用keepalived对mariadb实现高可用。
----本文大纲
前言
主机环境
配置过程
测试
-----------
一、前言
说到对mariadb实现高可用,也就是就说,当有任何一个mariadb挂掉之后在还有其它mariadb主机接管业务,完全不会影响到线上的业务,当挂掉的主机修复后重新上线,周而复始的工作,这就要对maridb做主主复制,无论那一个主机重新上线,那可以做到从当前工作主机上同步数据;在以前,要对mariadb实现出现故障自动切换,主要是在主机之间发送心跳信息做健康检测,而keepalived则要做的是,如果当前主机的服务不可用,那么就要对当前的keepalived的优先级先降级,而从其它从节点中选举出一个新的keepalived从做为主,将vip转移到此主机上。
二、主机环境
Centos 6.5 x86_64 | DBMASTER1 | VIP:192.168.1.200 IP:192.168.1.112 | maridb-10(通用二进制格式)、ipvsadm、keepalived |
Centos 6.5 x86_64 | DBMASTER2 | VIP:192.168.1.200 IP:192.168.1.113 | maridb-10(通用二进制格式)、ipvsadm、keepalived |
三、配置过程
1、DBMASTER1
数据库mariadb10通用二进制格式的安装略过(与mysql5.6安装方式完全相同)。
DBMASRTER2上的数据库上
此处的配置文件只有server-id与DBMASTER是不同的,其它的都一样
[root@essun keepalived]# service mari stop Shutting down MySQL. [ OK ] [root@essun keepalived]# ##################DBMASTER2#################### [root@essun ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:d2:39:cb brd ff:ff:ff:ff:ff:ff inet 192.168.1.113/24 brd 255.255.255.255 scope global eth0 inet 192.168.1.200/32 scope global eth0 inet6 fe80::20c:29ff:fed2:39cb/64 scope link tentative dadfailed valid_lft forever preferred_lft forever [root@essun ~]# ipvsadm -L -n IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.1.200:3306 wrr persistent 50 -> 192.168.1.113:3306 Local 1 0 0 #######################由此发现地址己经切换过到DBMASTER2上了###### #再show databases; unknown [(none)]> show databases; No connection. Trying to reconnect... Connection id: 11 Current database: *** NONE *** +--------------------+ | Database | +--------------------+ | DBMASTER | | DBMASTER1 | | a | | b | | ceshidb | | information_schema | | mysql | | performance_schema | | test | | testdb | | xxyy | +--------------------+ 11 rows in set (0.00 sec) MariaDB [(none)]> #这己经是DBMASTER2的数据库了
==============================完=============================================
本文出自 “” 博客,请务必保留此出处
基于keepalived实现mariadb的高可用,布布扣,bubuko.com