DRBD+Heartbeat+Mysql环境搭建

环境:Centos 6.6 64位

服务器:

Master节点: GuoletaoTest01  IP地址:192.168.2.25

Slave节点:GuoletaoTest02 Ip地址: 192.168.2.26

VIP地址:192.168.2.30

  • 一 DRBD 环境搭建:

1) 添加附加库:

官方网站:http://elrepo.org/tiki/tiki-index.php

以下测试针对Centos 6.6 版本:

1)import public key:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2)安装库:

rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

2) 安装 DRBD:

DRBD官方网站:http://drbd.linbit.com/docs/install/

yum install drbd kmod-drbd

3)两台服务器上的分区/dev/sdb1作为drbd的网络mirror分区;

 格式化分区    fdisk /dev/sdb

mkfs.ext4 /dev/sdb1


4)开始配置drbd

[[email protected] bin]# drbdsetup /dev/drbd1 primary -o   
[[email protected] bin]# drbdadm primary mysql_data

编辑drbd文件:

[[email protected] drbd.d]# cat /etc/drbd.d/mysql.res 
#设定资源名称为: mysql_data
 resource mysql_data {
            protocol C;
            net {
                 cram-hmac-alg sha1;
                 shared-secret "abc";
            }
            on GuoletaoTest01 {
                 device    /dev/drbd1;
                 disk      /dev/sdb1;  #挂载drbd对应的系统分区;
                 address   192.168.2.25:7898;
                 meta-disk internal;
            }
            on GuoletaoTest02 {
                 device    /dev/drbd1;
                 disk      /dev/sdb1;
                 address   192.168.2.26:7898;
                 meta-disk internal;
            }
}

两边启动drbd服务:

/etc/init.d/drbd start

查看drbd的状态:

/etc/init.d/drbd status

[[email protected] resource.d]# /etc/init.d/drbd status
drbd driver loaded OK; device status:
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by [email protected], 2014-11-24 14:51:37
m:res         cs         ro                 ds                 p  mounted  fstype
1:mysql_data  Connected  Primary/Secondary  UpToDate/UpToDate  C  /data    ext4

如果heartbeat没有安装或者启动,测试时可以手动指定主drbd,命令如下:

指定 drbd的本地为master节点:drbdadm primary mysql_data

挂载drbd分区到本地:mount /dev/drbd1 /data

  • 二 Heartbeat安装:

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

yum -y install heartbeat*

配置要点:
HA有三个配置文件:

密钥文件:authkeys

配置主文件:ha.cf

HA主管的资源配置文件:haresources

PS:

自写的资源启动脚本存放目录:/etc/ha.d/resource.d

HA配置主目录:/etc/ha.d/


1)认证文件配置:

cat authkeys

auth 1

1 crc

2)ha.cf配置:

master上的配置文件:

 cat ha.cf 
logfile /var/log/ha-log

keepalive 2
deadtime 30
warntime 10
initdead 60

udpport 694

#bcast em1

#设置单播地址,对方ip
ucast eth0 192.168.2.26

auto_failback off
node GuoletaoTest01
node GuoletaoTest02
ping 192.168.2.1  #填写网络中网关的地址
hopfudge 1
deadping 5

respawn hacluster /usr/lib64/heartbeat/ipfail
#apiauth ipfail gid=haclient uid=hacluster2

slave节点上的配置文件:

[[email protected] ha.d]# cat ha.cf 
logfile /var/log/ha-log

keepalive 2
deadtime 30
warntime 10
initdead 60

udpport 694

#bcast em1
ucast eth0 192.168.2.25

auto_failback off
node GuoletaoTest01
node GuoletaoTest02
ping 192.168.2.1
hopfudge 1
deadping 5

respawn hacluster /usr/lib64/heartbeat/ipfail
#apiauth ipfail gid=haclient uid=hacluster2

3)资源配置文件:

cat haresources  

GuoletaoTest01 IPaddr::192.168.2.30/32/eth0 drbd_primary

说明:

GuoletaoTest01          为主节点的主机名

IPaddr::192.168.2.30/32/eth0        network用于设定集群的IP地址、子网掩码和网络设备标识 等。需要注意的是,这里指定的IP地址就是集群对外服务的IP地址

drbd_primary     resource-group用来指定需要Heartbeat托管的服务,也就是这些 服务可以由Heartbeat来启动和关闭。如果要托管这些服务,就必须将服务写成可以通过start/stop来启动和关闭的脚步,然后放到/etc /init.d/或者/etc/ha.d/resource.d/目录下,Heartbeat会根据脚本的名称自动去/etc/init.d或者/etc /ha.d/resource.d/目录下找到相应脚步进行启动或关闭操作。

4)资源切换脚本:

本脚本复制drbd的切换,已经mysql,redis服务的启动和关闭:

[[email protected] resource.d]# cat drbd_primary 
#!/bin/bash
case "$1" in
start)
    drbdadm primary mysql_data
    mount /dev/drbd1 /data
    service mysql55 start
    service redis start
;;
stop)
    service mysql55 stop
    service redis stop
    umount /dev/drbd1
    drbdadm secondary mysql_data
;;
esac
exit 0

  • 三 mysql和redis数据库data存放目录的修改与调整:

1)mysql数据库data存放目 录修改到/data/mysql55/var/

具体做法如下(在drbd主节点启动后,并且mount成功后执行即可,从节点不需要操作,因为会通过drbd的机制同步过去!):

mkdir -p /data/mysql55/var/

chown -R mysql:mysql /data/mysql55

2)修改mysql配置文件:

[[email protected] etc]# cat my.cnf 
[client]
port=33066
socket="/var/lib/mysql/mysql.sock"

[mysql]
default-character-set=utf8

[mysqld]
port=33066
basedir="/webser/mysql55"
#datadir="/webser/mysql55/var"
datadir="/data/mysql55/var"
socket="/var/lib/mysql/mysql.sock"

然后执行以下命令:

/webser/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql55/var/ --basedir=/webser/mysql55/

最后在drbd的主节点上启动mysql即可。

然后创建相关目录:

mkdir -p data/redis/

然后在drbd节点上启动redis服务即可!

以上测试都没有问题了。就可以关闭mysql,drbd服务;

启动整个集群顺序:

依次主从,然后启动drbd,再heartbeat服务;

/etc/init.d/drbd start

/etc/init.d/heartbeat start

注意设置成开机自启动;

关闭集群的顺序:

先从后主:

先关闭heartbeat,然后关闭drbd服务!

/etc/init.d/heartbeat stop

/etc/init.d/drbd stop

时间: 2024-10-20 10:53:17

DRBD+Heartbeat+Mysql环境搭建的相关文章

Drbd+Heartbeat+Mysql主从高可用

一.准备工作 系统:Centos6.5 两台主机需要相互域名解析 主节点(Primary Node) 次节点(Secondary Node) 主机名 ser5.hyzc.com ser6.hyzc.com IP地址 192.168.2.10 192.168.2.11 1.安装DRBD 参考博客安装  http://pengjc.blog.51cto.com/9255463/1835186 2.安装heartbeat与mysql 安装epel扩展源:        #yum -y install

DRBD+Heartbeat+Mysql:配置mysql的高可用

说明: 今天接着研究DRBD的第二个应用,利用DRBD+Heartbeat+Mysql:配置mysql的高可用 环境: [[email protected] ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel \r on an \m [[email protected] ~]# uname -r 2.6.32-358.el6.i686 dbm137 192.168.186.137 dbm137.51.com primary DRBD+Hear

Ubuntu+Apache+PHP+Mysql环境搭建(完整版)

Ubuntu+Apache+PHP+Mysql环境搭建(完整版) 一.操作系统 Ubuntu 14.04 64位,阿里云服务器 二.Apache 1.安装Apache,安装命令:sudo apt-get install apache2 2.环境配置: 1)配置文件:路径为/etc/apache2,配置文件是apache2.conf,而没有http.conf. 2)默认网站根目录:/var/www/html,使用浏览器访问http://localhost  即可打开: 3)修改网站根目录: A."

apache + php +mysql 环境搭建lamp

Apache + php +mysql 环境搭建lamp 此次试验搭建lamp环境,Apache 服务前端服务器,PHP.mysql为后端服务器,NFS为请求页面资源共享存储,试验设计如图:(系统Centos6.7,源码软件版本Apache 2.4.3.php5.6.7.Mariadb-10.1.19 ) 一.配置NFS服务器 1,安装nfs-utils,启动rpcbind服务,启动nfs服务. 2,创建NFS目录 mkdir /htdoc 3,编辑 vim /etc/exports,添加 /h

mysql环境搭建

mysql环境搭建网上帖子已经比较多了,本人之所以还要写是因为只是想记录一下自己安装的过程要点,砍去老生常谈的内容 1.需要下载2个东西,Microsoft.NET.exe和mysql-5.6.24 2.先安装Microsoft.NET.exe,这个完全没有什么可说,一路next,只是要等待它安装过程会下载些东西 3.解压mysql-5.6.24,本人下载到的这个是免安装版,解压到C盘根目录,然后这么来 文件夹就取名为mysql5.6 4.这里也是找的别人说的方法,亲测成功的 在mysql5.6

Ubuntu+Apache+PHP+Mysql环境搭建(完整版)(转)

http://www.2cto.com/os/201505/401588.html Ubuntu+Apache+PHP+Mysql环境搭建(完整版) 一.操作系统Ubuntu 14.04 64位,阿里云服务器 二.Apache 1.安装Apache,安装命令:sudo apt-get install apache2 2.环境配置: 1)配置文件:路径为/etc/apache2,配置文件是apache2.conf,而没有http.conf. 2)默认网站根目录:/var/www/html,使用浏览

Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境搭建教程

原文地址:http://www.osyunwei.com/archives/7378.html 搬运是为了自己找资料方便. 准备篇 一.环境说明: 操作系统:Windows Server 2012 R2 PHP版本:php 5.5.8 MySQL版本:MySQL5.6.15 二.相关软件下载: 1.PHP下载地址: http://windows.php.net/downloads/releases/php-5.5.8-nts-Win32-VC11-x86.zip 2.MySQL下载地址: htt

Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境搭建教程

准备篇 一.环境说明: 操作系统:Windows Server 2012 R2 PHP版本:php 5.5.8 MySQL版本:MySQL5.6.15 二.相关软件下载: 1.PHP下载地址: http://windows.php.net/downloads/releases/php-5.5.8-nts-Win32-VC11-x86.zip 2.MySQL下载地址: http://cdn.mysql.com/Downloads/MySQLInstaller/mysql-installer-com

linux下nginx+php+mysql环境搭建

linux下nginx+php+mysql环境搭建 ++++++++++++++++++++++++++++++++++++++++++++++ 操作系统 : [CentOS6.0] 服务器 : [nginx-1.1.8] PHP : [php-5.2.6] 数据库 : [mysql-5.1.59] ++++++++++++++++++++++++++++++++++++++++++++++ 准备安装软件(download)  1>[nginx-1.1.8]       http://nginx