# 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台电脑配置一样. 说明: 上面haresources文件中: 1)MYSQLM1 为默认的primary机器, 2)Ipaddr为/etc/ha.d/resource.d目录里面的一个可执行文件。resource.d里面的所有文件都是可执行的,如果不行,执行下面的指令 #chmod 755 -R /etc/ha.d/resource.d 3) 172.17.94.208就是指定的VIP 4)drbddisk::r0 drbd的硬盘,资源为r0,r0在/etc/drbd.conf中定义的 5)/data挂载点 6)ext3,文件格式 7)mysqld:这个也是/etc/ha.d/resource.d目录下的内容,就是mysql的启动程序。如果没有,可以执行下面指令 #ln -s /etc/init.d/mysqld /etc/ha.d/resource.d/mysqld 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 简单说下mysql的主从复制 1,在MYSQLM1登录mysql,执行以下指令: mysql>grant replication slave,replication client on *.* to repl@'172.17.94.%' identified by 'password'; 2,在my.cnf启用二进制日志 log_bin=mysql-bin 说明:在2台从服务器也要启用二进制日志。 3,在my.cnf修改server_id=209 说明:2台从服务器修改server_id=211和212 4,在从服务器写change master to 的时候,master_host记得写VIP[172.17.94.208] 其他的都和默认的主从复制一样了。 整个架构简图如下:
本文出自 “随记千秋” 博客,请务必保留此出处http://nhylovezyh.blog.51cto.com/1444948/655380