CentOS6.4 高可用集群之基于heartbeat(crm)和nfs的mysql高可用

CentOS6.4 高可用集群之基于heartbeat和nfs的高可用mysql

CentOS版本: CentOS release 6.4(Final) 2.6.32-358.el6.i686

效果演示:

使用ssh连接(nod-1.magedu.com)192.168.3.7 并执行以下命令:

[[email protected] ha.d]# hb_gui &

说明:hb_gui是heartbeat为了方便管理集群资源而提供的一个图形用户接口

安装heartbeat默认会在系统中创建一个名为"hacluster"的用户、这个用户是在执行hb_gui命令时

所必须的、默认情况下此用户密码为空、需要手动为其指定一个密码。

一般情况下,一个高可用服务包括多个资源,从属于同一个服务的多个资源必须运行在同一个节点上|

而默认情况下是平行的。这句话可以这样来理解(如果此处我们不是创建了一个名MYSQL_HA的组,那么

上图中的3个资源就很可不是运行在同一个节点上)这一点一定要注意。

查看 集群IP 即mysql_ip 是否位于(nod-1这个节点的eth0)的别名上(eth0:0)

在nfs.magedu.com上执行以下命令

模拟从远程nfs.magedu.com(192.168.3.9)访问 集群IP (192.168.3.10)

在nod-1.magedu.com上执行以下命令

观察nfs.magedu.com连接的到底是否是第1个节点:(nod-1.mageud.com)上的mysql数据库。

在nod-1.magedu.com上查看nfs共享挂载的情况

模拟故障是否能成功转移:

从上图看当nod-1这个设定为"备用节点"后、集群资源已经转移到nod-2这个节点上。那么是否真的

成功了呢(验证一下)

准备工作:

SSH 双机互信

本次实验中高可用集群中只2个节点:(nod-1| nod-2)

nod-1.magedu.com (192.168.3.7)

nod-2.magedu.com (192.168.3.8)

nsf.magedu.com   (192.168.3.9)

集群的IP

mysqlip          (192.168.3.10)

1、在第1个节点(nod-1.magedu.com)上执行以下命令:

cd ~/.ssh

ssh-keygen -t rsa

ssh-copy-id -i ./id_rsa.pub [email protected]

2、在第2个节点(nod-2.magedu.com)上执行以下命令:

cd ~/.ssh

ssh-keygen -t rsa

ssh-copy-id -i ./id_rsa.pub [email protected]

3、在第3个节点(nfs.magedu.com)上安装配置rpcbind(nfs服务) 及ntp服务:

nfs.magedu.com这台服务器同时提供(nfs|ntp)这2种服务。

rpcbind可以使用yum命令来安装此处就不做多讲了。

本次实验中计划将 nfs.magedu.com这台服务器上的/mysqldata/data做为共享

导出来供(nod-1|nod-2)挂载。

1.查看或编辑 nfs.magedu.com上的nfs共享

[[email protected] ~]# cat /etc/exports

/mysqldata/data 192.168.3.0/24(rw,no_root_squash)

2.在(nod-1|nod-2)执行挂载测试

可以执行以下命令测试能否正常挂载(nfs.magedu.com)上的共享目录/mysqldata/data

[[email protected] /]# mount -t nfs 192.168.3.9:/mysqldata/data  /mysqldata/data

[[email protected] /]# mount -t nfs 192.168.3.9:/mysqldata/data  /mysqldata/data

在创建并配置高可用集群的时候首先要做的便是要使用集群内各节点的时间保持同步

在(nod-1|nod-2)上分别执行如下命令:

[[email protected] ~]# ntpdate 192.168.3.9

9 Dec 12:00:42 ntpdate[11266]: step time server 192.168.3.9 offset 57574.355435 sec

 HeartBeat-2.1.4-11.el5.i386.rpm安装及配置                                     

下载链接:https://dl.fedoraproject.org/pub/epel/5/i386/

http://rpm.pbone.net/

http://rpmfind.net/

http://fedoraproject.org/wiki/EPEL(这个地址有时候访问会很慢、使用翻墙软件会有明显改善)

RPM包:

安装顺序

说明:

devle包、和 ldirectord 包在本实验(高可用集群)当中暂时用不着所以用不着安装

所以无需安装。

net-snmp-libs-5.3.2.2-22.el5_10.1.i386.rpm

在安装之前必须把系统自带net-snmp-libs包卸载掉(自带版本为net-snmp-libs-1:5.5-44.el6.i686)

执行命令: yum  -e --nodeps  net-snmp-libs

rpm -ivh  net-snmp-libs-5.3.2.2-22.el5_10.1.i386.rpm

gnutls-1.4.1-10.el5_9.2.i386.rpm

在安装之前必须把系统自带gnutls包卸载掉(自带版本为gnutls-2.8.5-10.el6.i686)

执行命令: yum  -e --nodeps  gnutls

rpm -ivh  gnutls-1.4.1-10.el5_9.2.i386.rpm

配置:

使用crm与haresource 不同之处是haresource(配置文件有3个:authkeys,har.cf,haresources)

[[email protected] ~]# cd /etc/ha.d/

[[email protected] ha.d]# ll

total 48

-rw-------. 1 root root   693 Dec  8 12:01 authkeys

-rw-r--r--. 1 root root 10686 Dec  8 12:09 ha.cf

-rwxr-xr-x. 1 root root   745 Mar 20  2010 harc

-rw-r--r--. 1 root root  5905 Mar 20  2010 haresources

drwxr-xr-x. 2 root root  4096 Dec  6 17:57 rc.d

-rw-r--r--. 1 root root   692 Mar 20  2010 README.config

drwxr-xr-x. 2 root root  4096 Dec  7 19:13 resource.d

-rw-r--r--. 1 root root  7862 Mar 20  2010 shellfuncs

authkeys: 是验证身份的密钥文件。只有通过验证的主机才能成为集群当中的节点。

出于安全的authkeys的权限必须设定为 600,否则执行service heartbeat start

时可能报错、并伴随有警告信息。

ha.cf    是关于集群本身设定的配置文件(我们可以在此文件中设定有多少个节点、还可以

设定心跳信息发送模式[bcast|mcast|ucast]即[广播|多播|单播],等各种参数)

haresources  高可用集群中各资源的定义都位于此文件中

因为我们此处要讲的是crm所以只需要对authkeyst和ha.cf进行配置即可

1、authkeys

[[email protected] ha.d]# cat authkeys

# Authentication file.  Must be mode 600

#

#auth 1

#1 crc

#2 sha1 HI!

#3 md5 Hello!

auth 1

1 md5 3c0d2f606e0ddd100509d42795436dc1

[[email protected] ha.d]#

为了不占据空间多余的注释行我都删掉了、authkeys这个文件中需要修改的地方就2行:

auth 1

1 md5 3c0d2f606e0ddd100509d42795436dc

它表示启用标识为1的加密方式、在1这个标识中我们指定了加密的方式为md5,后面一长串字符是salt。

2、ha.cf

在这个文件当中我们只需要修改4处地方

#mcast eth0 225.0.0.1 694 1 0

mcast eth0 225.0.0.1 694 1 0

#node kathy

node nod-1.magedu.com

node nod-2.magedu.com

#ping 10.10.10.254

ping  192.168.3.9

#compression_threshold 2

crm on

或者写成下面这种方式效果也是一样的(表示启用crm)

crm respawn

CRM:即 Cluster Resource Manager

当authkeys和ha.cf这2个文件都配置完成后,可以执行以下命令:

[[email protected] ha.d]# /usr/lib/heartbeat/ha_propagate

把这2个配置好的文件分发至集群中的其它各节点对应目录下、不用我们手动去复制。

高可用

集群的常用命令

关于集群日常维护命令及其参数的使用、有一个网友写的比较具体、此处就直接引用了。

出处:http://czmmiao.iteye.com/blog/1181720

crm_mon:crm_mon 命令允许您监视群集的状态和配置。其输出包括节点数、uname、uuid、状态

、群集中配置的资源及其各自的当前状态。crm_mon 的输出可以显示在控制台上或打印到 HTML

文件。当具有不包含状态部分的群集配置文件时,crm_mon 会按文件中所指定的方式创建节点

和资源概览。

时间: 2024-12-28 00:22:28

CentOS6.4 高可用集群之基于heartbeat(crm)和nfs的mysql高可用的相关文章

NEC高可用集群软件NEC EXPRESSCLUSTER是一款专业的高可用集群软件产品(双机热备软件)

NEC高可用集群软件NEC EXPRESSCLUSTER是一款专业的高可用集群软件产品(双机热备软件)商务qq1912078946 ,可为您提供Windows和Linux平台上完整的高可用性解决方案.当集群中的某个节点由于软件或硬件原因发生故障时,集群系统可以把IP.客户业务等资源切换到其他健康的节点上,使整个系统能连续不间断的对外提供服务,并且可以通过对系统资源的使用情况进行分析来预防故障,自动判断出最适合运行业务的服务器,并进行切换,从而为机构24x365的关键业务提供了可靠的保障,达到了系

高可用集群技术之heartbeat+NFS实现web服务高可用(文本方式配置接口--gui图形配置)

一.高可用集群基本概念   什么是高可用技术呢?在生产环境中我既要保证服务不间断的服务又要保证服务器稳定不down机,但是异常还是会发生,比如说:服务器硬件损坏...导致服务器down机,我该如何保证服务器down机后继续提供服务呢?这时我就应该请出高可用技术来帮忙了,当我们的服务器发生故障后不能继续时,高可用集群技术解决将业务及服务自动转移至其他主机服务器上继续服务,保证服务架构不间断运行. 高可用集群的架构层次: 后端主机层: 这一层主要是正在运行在物理主机上的服务. 2.Message l

Linux高可用集群方案之heartbeat基础原理及逻辑架构

 这篇文章我们主要学习heartbeat高可用集群的基础原理及逻辑架构,以及heartbeat的简单配置  ll  本文导航    · heartbeat之基本原理   · heartbeat之集群组件   · heartbeat之心跳连接   · heartbeat之脑裂(资源争用.资源隔离) · heartbeat之配置文件   · heartbeat至高可用集群配置  ll  要求  掌握heartbeat高可用集群的相关组件及简单配置   heartbeat之基本原理  heartbea

# IT明星不是梦 #MySQL高可用集群之基于MyCat部署HaProxy实现高可用

基于MyCat部署HaProxy实现高可用 在实际项目中, Mycat 服务也需要考虑高可用性,如果 Mycat 所在服务器出现宕机,或 Mycat 服务故障,需要有备机提供服务,需要考虑 Mycat 集群. 一.高可用方案 可以使用 HAProxy+Keepalived配合两台MyCat搭起MyCat集群,实现高可用性. HAProxy实现了MyCat多节点的集群高可用和负载均衡,而 HAProxy自身的高可用则可以通过Keepalived来实现. 架构图: 于上一个博客的环境部署(MySQL

高可用集群HA(heartbeat)

HA 即 (high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务. 下面我们使用heartbeat来做HA集群,并且把nginx服务作为HA对应的服务. 试验准备: 两个机器, 都是centos6.5,网卡eth1 ip如下: master  192.168.11.24 master1  192.168.11.23 1. hostname 设置好,分别为master 

Linux系统高可用集群软件之HeartBeat

服务器环境: node1:192.168.1.100    10.0.0.1 node2:192.168.1.102    10.0.0.2 服务:apache 1.配置系统的网络环境 node1节点: (1)配置IP地址 [[email protected] yum.repos.d]# cd /etc/sysconfig/network-scripts/[[email protected] network-scripts]# vim ifcfg-eth0 DEVICE=eth0HWADDR=0

heartbeat+crm+mysqld+nfs实现MySQL服务的高可用

测试环境: OS:rhel6 web1:192.168.1.111  MariaDB  Heartbeat  hb_gui web2:192.168.1.112  MariaDB  Heartbeat web3:192.168.1.114  NFS  (共享存储) VIP:192.168.1.150 PS:在web1和web2配置mysql和heartbeat服务,在web3上配置共享存储: 一,首先在web3上配置共享存储 1.建立共享存储目录 #mkdir /mydata #vim /etc

基于drbd的mariaDB 的高可用集群

Distributed Replicated Block Device(DRBD)是一个用软件实现的.无共享的.服务器之间镜像块设备内容的存储复制解决方案. 数据镜像:实时.透明.同步(所有服务器都成功后返回).异步(本地服务器成功后返回) DRBD的核心功能通过Linux的内核实现,最接近系统的IO栈,但它不能神奇地添加上层的功能比如检测到EXT3文件系统的崩溃. 在DRBD中,资源是特指某复制的存储设备的所有方面.包括资源名称.DRBD设备(/dev/drbdm,这里m是设备最小号,最大号可

高可用集群corosync+pacemaker+drbd+httpd----手动配置篇

共享存储高可用方案 -----DRBD Drbd  :Distributed Replicated Block Device 高可用集群中的文件共享方案之一 共享存储的常见实现方式 DAS:直接附加存储 Direct attached storage:通过专用线缆直接连接至主板存储控制器接口的设备成为直接附加存储.,如外置的raid阵列 并行口: IDE  SCSI 两种接口的区别: ide接口的存取过程: 首先将从文件的读取说起;当用户空间进程要读写文件时首先向内核发起系统调用,然后进程有用户