corosync和pacemaker实现httpd和mysql双集群

一、环境介绍:

三台均为双网卡:

openstack-control.example.com openstack-control

eth0:172.16.171.100

eth1:10.1.1.100

openstack-nova.example.com openstack-nova

eth0:172.16.171.110

eth1:10.1.1.110

openstack-neutron.example.com openstack-neutron

eth0:172.16.171.120

eth1:10.1.1.120

二、corosync和pacemaker配置步骤如下:

1、  配置时区及同步时间

2、配置集群节点间通过主机名互相通信

3、配置集群主机能使root用户基于无密码ssh秘钥方式进行通信

4、 关闭selinux和iptables

5、安装corosync和pacemaker包

6、  修改corosync.conf配置文件



compatibility: whitetank

totem {
        version: 2
        secauth: on
        threads: 2
        rrp_mode: passive
        interface {
                ringnumber: 0
                bindnetaddr: 10.1.1.0
                mcastaddr: 239.255.1.1
                mcastport: 5405
                ttl: 1
        }
        interface {
                ringnumber: 1
                bindnetaddr: 172.16.171.0
                mcastaddr: 238.255.1.1
                mcastport: 5406
                ttl: 1
        }
}

logging {
        fileline: off
        to_stderr: no
        to_logfile: yes
        logfile: /var/log/cluster/corosync.log
        to_syslog: no
        debug: off
        timestamp: on
        logger_subsys {
                subsys: AMF
                debug: off
        }
}
service {
        ver: 0
        name: pacemaker
}



7、生成认证文件:authkey 并传给其他集群服务器

8、启动corosync服务,并查看日志

9、安装crmsh



http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/
[network_ha-clustering_Stable]
name=Stable High Availability/Clustering packages (CentOS_CentOS-6) type=rpm-md
baseurl=http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/
gpgcheck=1
gpgkey=http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/repodata/repomd.xml.key
enabled=1



10、使用crmsh工具配置全局属性



crm(live)#configure
crm(live)configure#property stonith-enabled=false
crm(live)configure#property no-quorum-policy=ignore
crm(live)configure#property default-resource-stickiness=100

11、使用crmsh工具配置ip资源、nfs资源和mysql资源和配置这两个资源的协同约束(排列约束)、顺序约束

mysql:



crm(live)configure#primitive mysqlvip ocf:heartbeat:IPaddr  params  ip=‘10.1.1.200‘ nic=‘eth1‘ cidr_netmask=‘24‘ broadcast=‘10.1.1.0‘ op monitor interval=30s(启动延迟时间) timeout=20s(监控超时时间)

crm(live)configure#primitive mysqlnfs ocf:heartbeat:Filesystem params device=‘10.1.1.100:/mysqldata‘ directory=‘/mydata‘ fstype=‘nfs‘ op monitor interval=20s timeout=40s

crm(live)configure#verify

crm(live)configure#primitive mysqlserver lsb:mysqld op monitor interval=30s timeout=15s

crm(live)configure#colocation  myserver inf: mysqlvip mysqlnfs mysqlserver

crm(live)configure#order mysqlnfs_before_mysqlserver mandatory: mysqlnfs mysqlserver



httpd:



crm(live)configure#primitive httpdvip
ocf:heartbeat:IPaddr  params  ip=‘172.16.171.200‘ nic=‘eth0‘
cidr_netmask=‘24‘ broadcast=‘172.16.171.0‘ op monitor interval=30s(启动延迟时间)
timeout=20s(监控超时时间)

crm(live)configure#primitive httpdnfs
ocf:heartbeat:Filesystem params device=‘172.16.171.100:/myhttpd‘
directory=‘/var/www/html‘ fstype=‘nfs‘ op monitor interval=20s timeout=40s

crm(live)configure#verify

crm(live)configure#primitive httpdserver lsb:httpd op monitor interval=30s timeout=15s

crm(live)configure#colocation  myapacheserver inf: httpdvip httpdnfs httpdserver

crm(live)configure#order httpdnfs_before_httpdserver mandatory: httpdnfs httpdserver

具体查看如下图:

12、查看节点情况



crm(live)# status
Last updated: Wed Sep 23 00:08:39 2015
Last change: Wed Sep 23 00:08:33 2015
Stack: classic openais (with plugin)
Current DC: openstack-control.example.com - partition with quorum
Version: 1.1.11-97629de
3 Nodes configured, 3 expected votes
6 Resources configured

Online: [ openstack-control.example.com openstack-neutron.example.com openstack-nova.example.com ]

mysqlnfs       (ocf::heartbeat:Filesystem):    Started openstack-control.example.com
 mysqlvip       (ocf::heartbeat:IPaddr):        Started openstack-control.example.com
 mysqlserver    (lsb:mysqld):   Started openstack-control.example.com
 httpdvip       (ocf::heartbeat:IPaddr):        Started openstack-control.example.com
 httpdnfs       (ocf::heartbeat:Filesystem):    Started openstack-control.example.com
 httpdserver    (lsb:httpd):    Started openstack-control.example.com



通过如下进行主备切换:

node online openstack-neutron.example.com

node standby openstack-neutron.example.com

时间: 2024-12-05 05:26:17

corosync和pacemaker实现httpd和mysql双集群的相关文章

corosync + pacemaker实现httpd服务高可用集群

实验环境: 服务器: 192.168.145.208(集群节点一) 192.168.145.209(集群节点二) 192.168.145.210(NFS server) 操作系统:三台都为centos7 配置步骤: 在两个集群节点中分别进行无密钥通讯配置: ssh-keygen -t rsa -P "" ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 关闭各个节点的防火墙: systemctl stop firewalld 编辑co

corosync+pacemaker使用pcs构建高可用集群

一.corosync+pacemaker集群前提准备 集群前提准备 --> HA-web 承接上文 --> corosync+pacemaker使用crmsh构建高可用集群 二.准备pcs [[email protected] ~]# yum install pcs 禁用stonith设备 [[email protected] ~]# pcs property set stonith-enable=false [[email protected] ~]# pcs property set no

corosync+pacemaker+crmsh的高可用web集群的实现

网络规划: node1:eth0:172.16.31.10/16 node2: eth0: 172.16.31.11/16 nfs:   eth0: 172.16.31.12/15 注: nfs在提供NFS服务的同时是一台NTP服务器,可以让node1和node2同步时间的. node1和node2之间心跳信息传递依靠eth0传递 web服务器的VIP是172.16.31.166/16 架构图:跟前文的架构一样,只是节点上安装的高可用软件不一致: 一.高可用集群构建的前提条件 1.主机名互相解析

MySQL分布式集群之MyCAT(转)

原文地址:http://blog.itpub.net/29510932/viewspace-1664499/ 隔了好久,才想起来更新博客,最近倒腾的数据库从Oracle换成了MySQL,研究了一段时间,感觉社区版的MySQL在各个方面都逊色于Oracle,Oracle真的好方便!好了,不废话,这次准备记录一些关于MySQL分布式集群搭建的一个东东,MyCAT,我把他理解为一个MySQL代理.-----------------------------------------------------

MySQL分布式集群之MyCAT(一)简介【转】

隔了好久,才想起来更新博客,最近倒腾的数据库从Oracle换成了MySQL,研究了一段时间,感觉社区版的MySQL在各个方面都逊色于Oracle,Oracle真的好方便!好了,不废话,这次准备记录一些关于MySQL分布式集群搭建的一个东东,MyCAT,我把他理解为一个MySQL代理.-----------------------------------------------------------------重要的TIPs------------------------------------

Mysql高级集群-读写分离Amoeba

一.环境介绍Master-IP:10.0.0.201Slave- IP:10.0.0.202Amobea-IP:10.0.0.203 二.安装JDK# mkdir /Amoeba# tar -xvf jdk-7u40-linux-x64.tar.gz -C /Amoeba/# vim /etc/profileJAVA_HOME=/Amoeba/jdk1.7.0_40export JAVA_HOME PATH=$JAVA_HOME/bin:$PATHexport PATH CLASSPATH=.:

centos7 mysql cluster集群搭建基于docker

1.准备 mn:集群管理服务器用于管理集群的其他节点.我们可以从管理节点创建和配置集群上的新节点.重新启动.删除或备份节点. db2/db3:这是节点间同步和数据复制的过程发生的层. db4/db5:应用程序使用的接口服务器连接到数据库集群. [[email protected] ~]# docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

nginx+apache+php+mysql服务器集群搭建

nginx+apache+php+mysql服务器集群搭建 由于需要搭建了一个基本的服务器集群.具体的配置方案先不说了,到有时间的时候再介绍.下面介绍下整个方案的优点. 我总共准备了四台阿里云的主机,架设分别是A,B1,B2,C,A在集群的最前面,B1和B2在A的后面,C在最后面.A主要用的nginx,用nginx做反向代理的功能实在是强大.nginx把来自80的http请求都转发到B1和B2上,B1和B2主要是两台apache,用于php解析.B1和B2来连接C上的mysql.A上的nginx

MySQL数据库集群进行正确配置步骤

MySQL数据库集群进行正确配置步骤 2010-06-09 10:47 arrowcat 博客园 字号:T | T 我们今天是要和大家一起分享的是对MySQL数据库集群进行正确配置,我前两天在相关网站看见的资料,今天拿出来供大家分享. AD:51CTO 网+首届APP创新评选大赛火热启动——超百万资源等你拿! 此文章主要向大家讲述的是对MySQL数据库集群进行正确配置的实际操作步骤,以及对其概念的讲述,如果你对其相关的实际操作有兴趣了解的话,以下的文章将会给你提供相关的知识. 一.介绍 这篇文档