Home > Database > Mysql Tutorial > 使用DRBD+Heartbeat+Replication实现MYSQL高可用性_MySQL

使用DRBD+Heartbeat+Replication实现MYSQL高可用性_MySQL

WBOY
Release: 2016-06-01 13:45:06
Original
776 people have browsed it

bitsCN.com

作者“随记千秋”近日安装DRBD+heartbeat+replication,怕以后忘记,记录一下。
1,操作系统:centOs 5.6 64-bit ,mysql-5.5.11
2,机器4台,2台作为DRBD,2台作为复制从服务器.
3,名称:MYSQLM1 IP:172.17.94.209 名称:MYSQLM2 IP:172.17.94.210
      上面2台电脑分别挂在1个10G的硬盘,作为DRBD同步数据盘符。盘符名称:
      /dev/sdb1,挂载目录:/data,同步的磁盘名称/dev/brbd0.
       名称:MYSQLS1 IP:172.17.94.211  名称:MYSQLS2   IP:172.17.94.212
       VIP:172.17.94.208
      
4,编辑主机名称:
#vi /etc/hosts
添加下面2行;
172.17.94.209  MYSQLM1
172.17.94.210 MYSQLM2
这2台电脑都需要添加。
5,安装DRBD和Heartbeat
yum -y install  drbd83 kmod-drbd83
yum -y install heartbeat
yum -y install heartbeat heartbeat-ldirectord heart-pils heartbeat-stonith
6,配置DRBD
#
# please have a a look at the example configuration file in
# /usr/share/doc/drbd83/drbd.conf
#
global{usage-count yes;}
common{syncer{rate 100M;}}
resource r0{
protocol C;
startup{
}
disk{
on-io-error detach;
#size 1G;
}
net{
}
on MYSQLM1{
device /dev/drbd0;
disk /dev/sdb1;
address 172.17.94.209:7898;
meta-disk internal;
}
on MYSQLM2{
device /dev/drbd0;
disk   /dev/sdb1;
address 172.17.94.210:7898;
meta-disk internal;
}
}
从节点MYSQLM2的配置完全一样。
6,在2台电脑分别执行下面命令
#/etc/init.d/drbd start  #启动drbd
#drbdadm create-md r0
#mkfs.ext3 /dev/brbd0
这样,2台电脑分别都创建好了/dev/drbd0
7,在作为主服务器的MYSQLM1上执行下面的命令
#drbdadm primary all  #让MYSQLM1为primary
#mount /dev/drbd0 /data #挂载/dev/drbd0 到/data目录
使用以下命令查看drbd的状态
#service drbd status
#cat /proc/drbd
这样drbd配置完成
然后再安装mysql.其他的地方可以按照以往默认安装,但是需要将数据库安装在/data目录。2台都是需要安装在/data目录
注意点一:将basedir和datadir写入到my.cnf
注意点二:注意赋予/data和/dev/drbd0的权限为mysql:mysql用户组。
8,配置heartbeat
8.1:配置/etc/ha.d/authkeys
vi /etc/ha.d/authkeys
auth 3
#1 crc
#2 sha1 HI!
3 md5 Hello!
保存退出。
#chmod 600 /etc/ha.d/authkeys
2台电脑输入操作一样
8.2:配置/etc/ha.d/ha.cf
debugfile /var/log/ha-debug
logfile      /var/log/ha-log
logfacility   /local0
keepalive 2
deadtime 30
warntime 10
udpport 694
bcast      eth0
ucast  eth0 172.17.94.210 #MYSQLM2此处为ucast eth0 172.17.94.209, 不同之处.
node  MYSQLM1
node  MYSQLM2
ping 172.17.64.1 #网关
ping group1 172.17.94.209 172.17.94.210
hopfudge 1 #活跃数,2台配置一样
 
保存退出。MYSQLM2的配置大致一样,不一样的地方:"#"红色注释处
 
8.3配置/etc/ha.d/haresources
vi  /etc/ha.d/haresources
MYSQLM1 IPaddr::172.17.94.208/24/eth0:0 drbddisk::r0 Filesystem::/dev/drbd0::/data::ext3 mysqld
保存退出,2台电脑配置一样.
8.4,启动heartbeat
#service heartbeat start
#chkconfig --add heartbeat
#chkconfig heartbeat on
9,对于脑裂的处理
9.1:在从节点做如下操作:
#dbdadm secondary r0
#drbdadm -- --discard-my-data connect r0
在主节点如下:
#drbdadm connect r0
或者采用9.2的方法
9.2在2端分别做如下操作:
#drbdadm -- --discard-my-data connect all
#drbdadm connect all
整个架构简图如下:

 

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template