preface
公司的业务变更,导致服务器要搬迁,所以需要关闭服务器,然后到新地在开启服务器。
关机前确定drbd+heartbeat+mysql是正常使用的,没有异常,Heartbeat和drbd都是开机自启动的。在服务器搬迁到新地方后,开启服务器,由于当时我没有在场,服务器开机后Heartbeat+drbd都启动了,但是槽糕的是drbd双方没有连接上同步,虽然primary端工作着。此情况是过了几天后才发现的问题。于是开始处理这个问题。
需要申明的是,我这drbd版本是8.4的
查看双方的状态
primary
[root@SsoMaster ~]# df -hT #正常挂载使用着
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 38G 3.6G 32G 11% /
tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/sda1 ext4 190M 62M 118M 35% /boot
/dev/drbd0 ext4 492G 100M 467G 1% /database
[root@SsoMaster ~]# drbd-overview # 状态不一致。没有与secondary连接。
0:r0/0 StandAlone Primary/Unknown UpToDate/Outdated /database ext4 492G 100M 467G 1%
Secondary
[root@SsoBackup ~]# service drbd status # 没有与primary端连接
drbd driver loaded OK; device status:
version: 8.4.7-1 (api:1/proto:86-101)
GIT-hash: 3a6a769340ef93b1ba2792c6461250790795db49 build by mockbuild@Build64R6, 2016-01-12 13:27:11
m:res cs ro ds p mounted fstype
0:r0 WFConnection Secondary/Unknown UpToDate/Outdated C
开始处理此问题
可以参考官网裂脑处理方法:http://www.drbd.org/en/doc/users-guide-83/s-resolve-split-brain
primary
首先确认为primary
[root@SsoMaster ~]# drbdadm primary r0
Secondary
确认为Secondary
[root@SsoBackup ~]# drbdadm secondary r0
[root@SsoBackup ~]# drbdadm -- --discard-my-data connect r0
primary
[root@SsoMaster ~]# drbdadm connect r0
此时查看drbd状态
primary
[root@SsoMaster ~]# cat /proc/drbd
version: 8.4.7-1 (api:1/proto:86-101)
GIT-hash: 3a6a769340ef93b1ba2792c6461250790795db49 build by mockbuild@Build64R6, 2016-01-12 13:27:11
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
ns:154160 nr:0 dw:0 dr:154828 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[root@SsoMaster ~]# drbd-overview
0:r0/0 Connected Primary/Secondary UpToDate/UpToDate
Secondary
drbd driver loaded OK; device status:
version: 8.4.7-1 (api:1/proto:86-101)
GIT-hash: 3a6a769340ef93b1ba2792c6461250790795db49 build by mockbuild@Build64R6, 2016-01-12 13:27:11
m:res cs ro ds p mounted fstype
0:r0 StandAlone Secondary/Primary UpToDate/UpToDate r----
OK,drbd可以正常连接工作了。