视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
使用DRBD+Heartbeat+Replication实现MYSQL高可用性_MySQL
2020-11-09 18:09:43 责编:小采
文档
 bitsCN.com

作者“随记千秋”近日安装DRBD+heartbeat+replication,怕以后忘记,记录一下。
1,操作系统:centOs 5.6 -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:78;
meta-disk internal;
}
on MYSQLM2{
device /dev/drbd0;
disk /dev/sdb1;
address 172.17.94.210:78;
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..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
整个架构简图如下:

下载本文

显示全文
专题