mysql数据库热备问题

宕机重启情况:(脑裂问题:意外发现各个节点无法识别对方,连接为StandAlone则主从节点无法通信 cat /proc/drbd )


主服务器:将Node1设置为主节点,并挂载   


drbdadm primary r0


mount /dev/drbd0 /drbddata


df


备用:将Node2设置为从节点并丢弃资源数据,卸载挂载


umount /drbddata  
drbdadm disconnect r0 
drbdadm secondary r0
drbdadm -- --discard-my-data connect r0
cat /proc/drbd






在Node1主节点上手动连接资源


drbdadm connect r0


最后查看各个节点状态,连接已恢复正常


[root@mysql01 ~]# cat /proc/drbd 
[root@mysql02 ~]# cat /proc/drbd 


drbdadm role r0 




有如下信息:


cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----


cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----


2台服务器启动heartbeat
service heartbeat start




补充:虽然是手工模拟但在故障切换时也会出一样的问题。
1、DRBD的资源只能在或主或辅的一台机器上挂载。
2、在做主辅的手工切换时的步骤:
a、先将原来挂载的东西进行卸载,这个时候你的应用会停,不建议手工切换主辅
b、将原来的主设置成辅 #drbdadm secondary r0
c、将原来的辅设置成主 #drbdadm primary r0
d、挂载资源 


注意点
1)mount drbd设备以前必须把设备切换到primary状态。
2)两个节点中,同一时刻只能有一台处于primary状态,另一台处于secondary状态。
3)处于secondary状态的服务器上不能加载drbd设备。
4)主备服务器同步的两个分区大小最好相同,这样不至于浪费磁盘空间,因为drbd磁盘镜像相当于网络raid 1

你可能感兴趣的:(mysql)