文档章节

DRBD故障处理

三毛々
 三毛々
发布于 2013/06/26 17:16
字数 727
阅读 123
收藏 0

drbd1主,drbd2辅

 

1,正常情况下状态:

 

[root@drbd1 ~]# cat /proc/drbd 

version: 8.3.8 (api:88/proto:86-94)

srcversion: 299AFE04D7AFD98B3CA0AF9 

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

    ns:2144476 nr:0 dw:36468 dr:2115769 al:14 bm:129 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

 

[root@drbd2 ~]# cat /proc/drbd 

version: 8.3.8 (api:88/proto:86-94)

srcversion: 299AFE04D7AFD98B3CA0AF9 

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

    ns:0 nr:2141684 dw:2141684 dr:0 al:0 bm:130 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

 

2,drbd1故障后

 

drbd1状态:

[root@drbd1 ~]# cat /proc/drbd 

version: 8.3.8 (api:88/proto:86-94)

srcversion: 299AFE04D7AFD98B3CA0AF9 

 0: cs:StandAlone ro:Primary/Unknown ds:UpToDate/DUnknown   r----

    ns:4 nr:102664 dw:102668 dr:157 al:1 bm:8 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

 

drbd2的状态:

[root@drbd2 ~]# cat /proc/drbd 

version: 8.3.8 (api:88/proto:86-94)

srcversion: 299AFE04D7AFD98B3CA0AF9 

 0: cs:WFConnection ro:Secondary/Unknown ds:UpToDate/DUnknown C r----

    ns:0 nr:2141684 dw:2141684 dr:0 al:0 bm:130 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

 

3,处理方法:

 

a,将secondary配置成primary角色

[root@drbd2 ~]# drbdsetup /dev/drbd0 primary -o

[root@drbd2 ~]# cat /proc/drbd 

version: 8.3.8 (api:88/proto:86-94)

srcversion: 299AFE04D7AFD98B3CA0AF9 

 0: cs:WFConnection ro:Primary/Unknown ds:UpToDate/Outdated C r----

    ns:0 nr:2141684 dw:2141684 dr:0 al:0 bm:130 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

 

挂载:

[root@drbd2 /]# mount /dev/drbd0 /data1

[root@drbd2 data1]# ll

total 10272

-rw-r--r-- 1 root root 10485760 Feb 13 11:26 aa.img

drwx------ 2 root root    16384 Feb 13 11:25 lost+found

 

这个时候drbd2开始提供服务,开始写数据

 

drbd1主恢复正常后:

[root@drbd1 ~]# cat /proc/drbd

version: 8.3.8 (api:88/proto:86-94)

srcversion: 299AFE04D7AFD98B3CA0AF9 

 0: cs:StandAlone ro:Primary/Unknown ds:UpToDate/DUnknown   r----

    ns:2144476 nr:0 dw:36484 dr:2115769 al:14 bm:129 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:8

 

drbd1状态是:StandAlone,此时,drbd1是不会和drbd2互相联系的

 

我们来查看下日志:

 

[root@drbd1 ~]# tailf /var/log/messages

Feb 13 16:14:27 drbd1 kernel: block drbd0: helper command: /sbin/drbdadm split-brain minor-0

Feb 13 16:14:27 drbd1 kernel: block drbd0: helper command: /sbin/drbdadm split-brain minor-0 exit code 0 (0x0)

Feb 13 16:14:27 drbd1 kernel: block drbd0: conn( WFReportParams -> Disconnecting ) 

Feb 13 16:14:27 drbd1 kernel: block drbd0: error receiving ReportState, l: 4!

Feb 13 16:14:27 drbd1 kernel: block drbd0: asender terminated

Feb 13 16:14:27 drbd1 kernel: block drbd0: Terminating drbd0_asender

Feb 13 16:14:27 drbd1 kernel: block drbd0: Connection closed

Feb 13 16:14:27 drbd1 kernel: block drbd0: conn( Disconnecting -> StandAlone ) 

Feb 13 16:14:27 drbd1 kernel: block drbd0: receiver terminated

Feb 13 16:14:27 drbd1 kernel: block drbd0: Terminating drbd0_receiver

 

脑裂出现!

 

解决方法:

 

1>,我们需要将现在的drbd1角色修改为secondary

[root@drbd1 ~]# drbdadm secondary r0

[root@drbd1 ~]# drbdadm -- --discard-my-data connect r0  ##该命令告诉drbd,secondary上的数据不正确,以primary上的数据为准。

 

2>,我们还需要在drbd2上执行下面操作

[root@drbd2 /]# drbdadm connect r0

 

这样drbd1就能和drbd2开始连接上了,并且保证数据不会丢失:

[root@drbd1 ~]# cat /proc/drbd      

version: 8.3.8 (api:88/proto:86-94)

srcversion: 299AFE04D7AFD98B3CA0AF9 

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

    ns:0 nr:20592 dw:20592 dr:0 al:0 bm:4 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0


© 著作权归作者所有

共有 人打赏支持
三毛々
粉丝 16
博文 56
码字总数 33881
作品 0
成都
私信 提问
drbd主服务器ds状态变成了Diskless(磁盘IO错误引起)

heartbeat+drbd拓扑图 if 136网段=60网段 then 一、在拔掉60网段网线之前: drbd1主服务器负载很高,top的%wa达到60左右。cat /proc/drbd发现当前服务器同步状态变成了diskless(on-io-error...

sailikung
2018/06/19
0
0
项目:一次测试环境下的高可用NFS文件服务器(DRBD+heartbeat+NFS)

什么是DRBD? 分布式复制块设备。当你将数据写入本地的DRBD设备上的文件系统时,数据同时会被发送到远程端的另一边的DRBD设备文件系统里,保障数据实时同步,当本地的DRBD设备突然故障,远程...

出VU时代
2016/09/21
0
0
CentOS 6.4 & 6.5下DRBD的安装配置

基础: 磁盘镜像技术DRBD DRBD(Distributed Replicated Block Device)是由内核模块和相关脚本构成,用以构建高可用性的集群。其实现方式是通过网络来镜像整个设备。它允许用户在远程机器上建立...

eui988
2015/01/31
0
0
drbd共享存储的简单配置-高可用存储

主机1:server5.example.com 172.25.254.5 主机2:server6.example.com 172.25.254.56 安装drbd yum install gcc flex rpm-build kernel-devel -yrpmbuild ~ #在家目录生成 rpmbuild 编译所需......

月黑风高杀人夜
2015/07/15
0
1
Distributed Replicated Block Device 的高可用性

Distributed Replicated Block Device (DRBD) 提供一个网络版的数据库镜像,属于冗余磁盘阵列(RAID)RAID-1 类。让我们首先简要介绍一下高可用性(HA)和 RAID,然后再研究 DRBD 的架构和用...

华宰
2010/09/01
563
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring学习记录

Java类定义配置 @Configuration //标记为配置类@ComponentScan //标记为扫描当前包及子包所有标记为@Component的类@ComponentScan(basePackageClasses = {接口.class,...}) //标记为扫描当...

CHONGCHEN
36分钟前
1
0
如何开发一款以太坊(安卓)钱包系列2 - 导入账号及账号管理

这是如何开发一款以太坊(安卓)钱包系列第2篇,如何导入账号。有时用户可能已经有一个账号,这篇文章接来介绍下,如何实现导入用户已经存在的账号。 导入账号预备知识 从用户需求上来讲,导...

Tiny熊
今天
3
0
intellJ IDEA搭建java+selenium自动化环境(maven,selenium,testng)

1.安装jdk1.8; 2.安装intellJ; 3.安装maven; 3.1 如果是单前用户,配置用户环境变量即可,如果是多用户,则需配置系统环境变量,变量名为MAVEN_HOME,赋值D:\Application\maven,往path中...

不最醉不龟归
今天
4
0
聊聊ShenandoahGC的Brooks Pointers

序 本文主要研究一下ShenandoahGC的Brooks Pointers Shenandoah Shenandoah面向low-pause-time的垃圾收集器,它的GC cycle主要有 Snapshot-at-the-beginning concurrent mark包括Init Mark(P......

go4it
昨天
4
0
Makefile通用编写规则

#简单实用的Makefile模板: objs := a.o b.o test:$(objs) gcc -o test $^ # .a.o.d .b.o.d dep_files := $(foreach f,$(objs),.$(f).d) dep_files := $(wildcard $(dep_files)) ifneq ($(d......

shzwork
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部