当前位置:网站首页>keepalived实现mysql的高可用
keepalived实现mysql的高可用
2022-07-25 11:23:00 【托塔天王李】
keeplived实现mysql高可用
前提条件
两台server都安装了mariadb
server1: 10.243.68.158
server2: 10.243.68.159
virtual ip:10.243.68.160
安装keepalived
下载keepalived的rpm包:keepalived-1.3.5-8.el7_6.x86_64.rpm
安装keeepalived
[[email protected] ~]# ll
total 356
-rw-r--r--. 1 root root 210 Feb 25 03:33 chk_rtm.sh
-rw-r--r--. 1 root root 336976 Feb 25 03:33 keepalived-1.3.5-8.el7_6.x86_64.rpm
-rw-r--r--. 1 root root 690 Feb 25 03:33 keepalived.conf
-rw-r--r--. 1 root root 1113 Feb 25 03:33 my.cnf
-rw-r--r--. 1 root root 10249 Feb 25 03:33 zabbix_agentd.conf
[[email protected] ~]# rpm -ivh keepalived-1.3.5-8.el7_6.x86_64.rpm
warning: keepalived-1.3.5-8.el7_6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:keepalived-1.3.5-8.el7_6 ################################# [100%]
[[email protected] ~]#
配置keepalived
配置10.243.68.158 server的配置修改文件 /etc/keepalived/keepalived.conf 如下:
[[email protected] ~]# cat /etc/keepalived/keepalived.conf
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server root
smtp_connect_timeout 30
router_id RTM #负载均衡标识,在局域网内应该是唯一的。
vrrp_skip_check_adv_addr
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_script chk_rtm {
script "/etc/keepalived/chk_rtm.sh"
interval 3
weight -20
}
vrrp_instance VI_1 {
state BACKUP
interface enp0s3 #网卡
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_rtm
}
virtual_ipaddress {
10.243.68.160
}
}
配置10.243.68.159 server的配置修改文件 /etc/keepalived/keepalived.conf 如下:
[[email protected] ~]# cat /etc/keepalived/keepalived.conf
global_defs { ###全局配置
notification_email { ###keepalived故障时发送邮件的目的地址
[email protected]
}
notification_email_from [email protected] ###keepalived故障时发送邮件的源地址
smtp_server root ###邮件smtp地址
smtp_connect_timeout 30 ###连接smtp超时时间
router_id RTM
vrrp_skip_check_adv_addr
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_script chk_rtm { ### 执行的检查mysql的脚本,如果mysql挂了,该server的优先级降20
script "/etc/keepalived/chk_rtm.sh"
interval 3
weight -20
}
vrrp_instance VI_1 { ##实例配置,VI_1为实例名称,可修改
state BACKUP ###状态,可以是MASTER或BACKUP
interface enp0s3 ###节点IP的网卡,用来发VRRP包。
virtual_router_id 51 ##实例的ID
priority 100 ###优先级,越大优先级越高
advert_int 1 ###心跳间隔,一秒收不到心跳 备节点则接管
authentication { ###服务之间密码认证
auth_type PASS
auth_pass 1111
}
track_script { ##配置脚本检查mysql服务的正常
chk_rtm
}
virtual_ipaddress { ##vip绑定,绑定到interface 设置的网卡
10.243.68.160
}
}
增加脚本文件chk_rtm.sh可执行的权限:
[[email protected] keepalived]# pwd
/etc/keepalived
[[email protected] keepalived]# ll
total 8
-rw-r--r--. 1 root root 218 Feb 21 20:25 chk_rtm.sh
-rw-r--r--. 1 root root 728 Feb 21 19:08 keepalived.conf
[[email protected] keepalived]# chmod +x chk_rtm.sh
[[email protected] keepalived]# ll
total 8
-rwxr-xr-x. 1 root root 218 Feb 21 20:25 chk_rtm.sh
-rw-r--r--. 1 root root 728 Feb 21 19:08 keepalived.conf
检查脚本
#!/bin/bash
MYSQL_PROCESS_EXISTED=$(systemctl status mysql | grep "active (running)" | wc -l)
if [ "${MYSQL_PROCESS_EXISTED}" == "1" ];then
exit 0
else
exit 1
fi
重启keepalived
[[email protected] keepalived]#systemctl enable keepalived
测试
1. 在两个server的终端执行ip a 查看server是否有虚拟ip:10.243.68.160
[[email protected] keepalived]#ip a
2. 在有虚拟ip的server的终端上停掉mysql服务,查看虚拟ip是否存在于另一台server
边栏推荐
- R语言ggplot2可视化:使用ggpubr包的ggstripchart函数可视化点状条带图、设置palette参数配置不同水平数据点的颜色、设置add参数在点状条带图中添加均值标准差竖线
- 'C:\xampp\php\ext\php_ zip. Dll'-%1 is not a valid Win32 Application Solution
- Learning to pre train graph neural networks
- 【GCN多模态RS】《Pre-training Representations of Multi-modal Multi-query E-commerce Search》 KDD 2022
- Brpc source code analysis (VII) -- worker bthread scheduling based on parkinglot
- The bank's wealth management subsidiary accumulates power to distribute a shares; The rectification of cash management financial products was accelerated
- Meta-learning(元学习与少样本学习)
- 【黑马早报】运营23年,易趣网宣布关停;蔚来对大众CEO抛出橄榄枝;华为天才少年曾放弃360万年薪;尹烨回应饶毅炮轰其伪科学...
- 图神经网络用于推荐系统问题(IMP-GCN,LR-GCN)
- 【多模态】《TransRec: Learning Transferable Recommendation from Mixture-of-Modality Feedback》 Arxiv‘22
猜你喜欢

LeetCode 50. Pow(x,n)

记录一次线上死锁的定位分析

NLP的基本概念1

NLP知识----pytorch,反向传播,预测型任务的一些小碎块笔记

Hydrogen entrepreneurship competition | Liu Yafang, deputy director of the science and Technology Department of the National Energy Administration: building a high-quality innovation system is the cor

Learning to pre train graph neural networks

OSPF comprehensive experiment

Meta-learning(元学习与少样本学习)

Pycharm connects to the remote server SSH -u reports an error: no such file or directory

容错机制记录
随机推荐
知识图谱用于推荐系统问题(MVIN,KERL,CKAN,KRED,GAEAT)
Return and finally? Everyone, please look over here,
'C:\xampp\php\ext\php_zip.dll' - %1 不是有效的 Win32 应用程序 解决
Zuul网关使用
对比学习的应用(LCGNN,VideoMoCo,GraphCL,XMC-GAN)
Brpc source code analysis (II) -- the processing process of brpc receiving requests
Week303 of leetcode (20220724)
OSPF comprehensive experiment
JS 面试题:手写节流(throttle)函数
Scott+Scott律所计划对Yuga Labs提起集体诉讼,或将确认NFT是否属于证券产品
【6篇文章串讲ScalableGNN】围绕WWW 2022 best paper《PaSca》
'C:\xampp\php\ext\php_ zip. Dll'-%1 is not a valid Win32 Application Solution
flink sql client 连接mysql报错异常,如何解决?
【GCN-CTR】DC-GNN: Decoupled GNN for Improving and Accelerating Large-Scale E-commerce Retrieval WWW22
[high concurrency] a lock faster than read-write lock in high concurrency scenarios. I'm completely convinced after reading it!! (recommended Collection)
【图攻防】《Backdoor Attacks to Graph Neural Networks 》(SACMAT‘21)
Application of comparative learning (lcgnn, videomoco, graphcl, XMC GaN)
[multimodal] hit: hierarchical transformer with momentum contract for video text retrieval iccv 2021
Introduction to redis
The JSP specification requires that an attribute name is preceded by whitespace