Corosync与Pacemaker实现nfs作为共享存储的MySQL高可用
1. 安装corosync和pacemaker
yum -y install corosync pacemaker
2. 配置pacemaker做为corosync的插件运行:
vim /etc/corosync/corosync.conf
service {
name: pacemaker #指定资源管理器的名称
ver: 0 # 0:表示pacemaker作为corosync的插件来运行;1:表示pacemaker作为单一的 守护进程来运行,也就是说在启动corosync后还必须手动启动pacemaker守护进程。
}
aisexec {
user: root #表示以哪个用户来运行pacemaker资源管理器。
group: root #表示以哪个组来运行pacemaker资源管理器。
}
3. 配置节点间通信使用的密钥:
corosync-keygen
4. 配置集群属性
crm(live)configure# property no-quorum-policy=ignore
【pcs property set no-quorum-policy=ignore】
#表示不管出现何种情况资源照样继续运行
crm(live)configure# property stonith-enabled=false
【pcs property set stonith-enabled=false】
#表示禁用stonith,默认情况下,若是没有stonith设备,集群是无法启动的。
5. 配置资源以及对资源的监控
1、配置虚拟ip
crm(live)configure# primitive myip ocf:heartbeat:IPaddr params ip="10.10.0.221" nic="eth0:0" cidr_netmask="12" op monitor interval=10s timeout=30s
【pcs resource create myip ocf:heartbeat:IPaddr params ip="10.10.0.221" nic="eth0:0" cidr_netmask="12" op monitor interval=10s timeout=30s】
#表示定义一个主资源 myip, ocf:heartbeat:IPaddr表示资源代理的类型为ocf,提供者是heartbeat,具体的代理为IPaddr,params表示代理IPaddr的参数为ip="10.10.0.221" nic="eth0:0" cidr_netmask="12"等,op表示对此资源的操作,有monitor、start、stop、status等。interval表示每隔10s对资源的健康状态进行一次检查,如果检测不成功,30s后就超时了。
2、配置mysqld服务
crm(live)configure# primitive myservice ocf:heartbeat:mysql params binary="/usr/bin/mysqld_safe" config="/etc/my.cf" datadir="/var/lib/mysql" pid="/var/run/mysqld/mysql.pid" socket="/tmp/mysql.sock" additional_parameters="--bind-address=10.10.0.221" op start timeout=120s op stop timeout=120s op monitor interval=20s timeout=30s
【pcs resource create myservice ocf:heartbeat:mysql params binary="/usr/bin/mysqld_safe" config="/etc/my.cf" datadir="/var/lib/mysql" pid="/var/run/mysqld/mysql.pid" socket="/tmp/mysql.sock" additional_parameters="--bind-address=10.10.0.221" op start timeout=120s op stop timeout=120s op monitor interval=20s timeout=30s】
3、配置共享存储
crm(live)configure# primitive mystore ocf:heartbeat:Filesystem params device=10.10.0.13:/mysqldata directory=/var/lib/mysql fstype=nfs op start timeout=60s op stop timeout=60s op monitor interval=20s timeout=60s
【pcs resource create mystore ocf:heartbeat:Filesystem params device=10.10.0.13:/mysqldata directory=/var/lib/mysql fstype=nfs op start timeout=60s op stop timeout=60s op monitor interval=20s timeout=60s】
6. 配置约束规则
1、配置排列约束
crm(live)configure# colocation myip_with_mystore_myservice inf: myip mystore myservice
【pcs constraint colocation add myip mystore myservice INFINITY】
#表示 myip、mystore、myservice三个资源必须在一起,或者定义一个组资源,将这三个资源放入组中即可。
2、配置顺序约束
crm(live)configure# myip_then_mystore_then_myservice inf: myip mystore myservice
【pcs constraint order myip then mystore then myservice 】
#表示起源启动的顺序依此是myip、mystore、myservice
7. 配置网络ping node监控
1、配置ping node主资源
crm(live)configure# primitive pnode ocf:pacemaker:ping params host_list=10.10.0.1 multiplier=100 op monitor interval=10s timeout=60s op start_timeout=60s
【pcs resource create pnode ocf:pacemaker:ping params host_list=10.10.0.1 multiplier=100 op monitor interval=10s timeout=60s op start timeout=60s 】
#host_list是网关地址或可以ping通的其他节点,可以有多个,使用空格分隔。而multiplier表示如果集群中的节点可以ping通,那么那个节点的分数就会乘以这个参数指定的值,来进行累加,比如nodeA,ping通一次就是1*100,ping通两次2*100,一次类推。
2、配置pnode的克隆资源
crm(live)configure# clone cl_pnode pnode
【pcs resource clone pnode 】
3、配置ping node 失败的时候,资源的故障转移
crm(live)configure# location mystore_on_ping mystore rule -inf: not_defined pingd or pingd number:lte 0
【pcs constraint location mystore rule score=-INFINITY: not_defined pingd】
【pcs constraint location mystore rule sorce=-INFINITY: pingd lte 0 type=number】
#表示如果由ping node得出的分数小于等于0 或者某个节点没有定义域ping node 相关的属性的话,那么就进行资源的转移。
8. 检查以上的配置是否有语法错误,然后提交保存
1、校验是否有语法错误
crm(live)configure# verify
2、提交保存
crm(live)configure# commit
9. 测试
1、使用crm node standby nodeX
#nodeX表示你要将哪个节点挂起
2、使用禁止ping信息来测试
iptables -A OUTPUT -p icmp -j DROP
转载于:https://blog.51cto.com/ngames/1609902
Corosync与Pacemaker实现nfs作为共享存储的MySQL高可用相关推荐
- 基于ISCSI共享存储的KVM高可用群集配置
实验目的:运行的虚拟机可以在线平滑迁移,不会终端虚拟机运行的业务 高可用架构:pacemaker+corosync 并由pcs进行管理 系统环境:三台机器都是最新的centos7.4 所需组件: DL ...
- 基于共享存储的Harbor高可用-Docker部署方案
部署规划 架构图 Redis也可以和Harbor集中部署.这样避免了在不使用Reids集群模式下单节点的故障. 使用此模式,目前测试对于Harbor的登录,镜像信息查看,在计算节点,镜像的推送和下载没 ...
- nfs服务器远程访问,NFS远程共享存储
原标题:NFS远程共享存储 构建储NFS远程共享存 因为NFS有很多功能,不同的功能需要使用不同的端口.因此NFS无法固定端口.而RPC会记录NFS端口的信息,这样就能够通过RPC实现服务端和客户端的 ...
- Linux系统搭建NFS网络共享存储
Linux系统搭建NFS网络共享存储 一.NFS概述: NFS是一种基于TCP/IP传输的网络文件系统协议,最初由SUN公司开发.通过NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 ...
- san分布式共享文件系统_基于SAN存储共享卷实现openstack高可用的方法与流程
本发明涉及一种高可用方法,特别是一种基于SAN存储共享卷实现openstack高可用的方法. 背景技术: 云计算是利用虚拟化技术,将数据中心的计算.存储.网络等资源整合起来,形成统一的资源池,再将这些 ...
- mysql pacemaker_编译安装MySQL实现corosync+pacemaker+drbd+mysql高可用
编译安装MySQL实现corosync+pacemaker+drbd+mysql高可用 实验拓扑图: 实验节点:节点一:IP:172.16.249.248 host: node1.stu11. ...
- corosync+pacemaker+drbd构建mysql高可用平台的简单案例
写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 案例拓扑图 说明: ansible主机主要作用在于配置和安装两台corosync+pacemake ...
- corosync+pacemaker+nfs提供mysql高可用
corosync/openais+pacemaker+nfs提供mariadb高可用 节点一, one, 172.16.249.122/16, 172.16.0.1, CentOS6.6, maria ...
- Docker Swarm使用NFS作为共享存储
Docker Swarm是轻量级的Docker集群解决方案.实现swarm集群应用数据持久化的一种方法是使用NFS共享存储. 搭建NFS步骤 所有节点安装NFS sudo yum -y install ...
最新文章
- Ubuntu换回Gnome界面
- 重磅!公开基于“内心对话”的EEG脑机接口数据集,助力语音意念控制研究
- 腾讯实时音视频开发应用大赛火热开赛,两大主题、60万奖品,等你来拿!
- [JavaWeb-HTML]HTML文本标签
- 前端学习(2844):ui另一种按需加载
- 大卸iphone十八块..iphone 3GS 拆机..有图有真相...附拆机步骤!
- Android蓝牙设备名显示修改
- 张一鸣:优秀年轻人的五个特点
- 非对称卷积—Asymmetric Convolutions
- 递归算法,如何把list中父子类对象递归成树
- linux命令--ldconfig和ldd用法
- CentOS6.7系统优化加强牢固脚本
- Ubiquant LGBM Baseline 九坤量化大赛 版本44
- GBase数据库-数据转换函数
- 雪球网热股榜--Ajax动态网页爬虫
- for的用法详解,for循环完全攻略
- R语言Circos图可视化
- 2019 Google Developder Days(GDD)
- Modularity的计算方法——社团检测中模块度计算公式详解(转)
- pytorch分布式训练 DistributedSampler、DistributedDataParallel
热门文章
- python labelencoder参数_对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
- android 日历 时间选择,Android--DatePicker和TimePicker(日历选择器与时间选择器)
- Reflect对象的设计目的有这样几个
- v8的垃圾回收机制(一)
- 14.最长公共前缀-LeetCode
- 支付签约_已成燎原之势!蜻蜓支付出库、签约、地推火爆!
- hex转换成C语言源程序吗,第6节:把.c源代码编译成.hex机器码的操作流程
- linux时间管理代码,第二章、linux的时间管理
- linux fpga 开发环境,- Vivado+Zedboard之Linux开发环境搭建
- jquery 扩展ajax请求,jQuery如何管理、扩展AJAX请求