配置DRBD出现错误总结

Q1.’ha’ ignored, since this host (node2.centos.bz) is not mentioned with an ‘on’ keyword.?

Error Meaage:

执行指令 drbdadm create-md ha 时出现如下错误信息

  1. 'ha' ignored, since this host (node2.centos.bz) is not mentioned with an 'on' keyword.
  2. Ans:

因为在 drbd 设定 drbd.conf 中 on 本来写的是 node1、node2 而以,将node1和node2分别改为node1.centos.bz,node2.centos.bz。

Q2.drbdadm create-md ha: exited with coolcode 20?

Error Meaage:

执行指令 drbdadm create-md ha 时出现如下错误信息

  1. open(/dev/hdb1) failed: No such file or directory
  2.  Command 'drbdmeta 0 v08 /dev/hdb1 internal create-md' terminated with exit coolcode 20
  3.  drbdadm create-md ha: exited with coolcode 20

Ans:

因为忘了执行 fdisk /dev/hdb 指令建立分割区所造成,如下将 /dev/hdb 建立分割区后指令即可正常执行

#fdisk /dev/hdb //准备为 hdb 建立分割区
The number of cylinders for this disk is set to 20805.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): n //键入 n 表示要建立分割区
Command action
e extended
p primary partition (1-4)
p //键入 p 表示建立主要分割区
Partition number (1-4): 1 //键入 1 为此主要分割区代号
First cylinder (1-20805, default 1): //开始磁柱值,按下 enter 即可
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-20805, default 20805): //结束磁柱值,按下 enter 即可
Using default value 20805
Command (m for help): w //键入 w 表示确定执行刚才设定
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@node1 yum.repos.d]# partprobe //使刚才的 partition table 变更生效
Q3.drbdadm create-md ha: exited with coolcode 40?

Error Meaage:

执行指令 drbdadm create-md ha 时出现如下错误信息

  1. Device size would be truncated, which
  2.  would corrupt data and result in
  3.  'access beyond end of device' errors.
  4.  You need to either
  5.     * use external meta data (recommended)
  6.     * shrink that filesystem first
  7.     * zero out the device (destroy the filesystem)
  8.  Operation refused.
  9.  Command 'drbdmeta 0 v08 /dev/hdb1 internal create-md' terminated with exit coolcode 40
  10.  drbdadm create-md ha: exited with coolcode 40

Ans:

使用 dd 指令将一些资料塞到 /dev/hdb 后再执行 drbdadm create-md ha 指令即可顺利执行

#dd if=/dev/zero of=/dev/hdb1 bs=1M count=100
Q4.DRBD 状态始终是 Secondary/Unknown?

Error Meaage:

  1. Node1、Node2 主机启动 DRBD 后状态始终是 Secondary/Unknown

#service drbd status
drbd driver loaded OK; device status:
version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by mockbuild@builder10.centos.org, 2010-06-04 08:04:16
m:res cs ro ds p mounted fstype
0:ha WFConnection Secondary/Unknown Inconsistent/DUnknown C
Ans:

1、Node1、Node2 没有打开相对应的 Port,请开启相对应的 Port 或先把 IPTables 服务关闭即可。
2、可能发生了脑裂行为,一般出现在ha切换时,解决方法:
在一节点执行:
drbdadm secondary resource
drbdadm connect –discard-my-data resource
另一节点执行:
drbdadm connect resource
Q5.1: Failure: (104) Can not open backing device

Error Meaage:
执行drbdadm up r0时出现:

  1. 1: Failure: (104) Can not open backing device.
  2. Command 'drbdsetup attach 1 /dev/sdb1 /dev/sdb1 internal' terminated with exit code 10

Ans:
可能因为你挂载了/dev/sdb1,执行umount /dev/sdb1即可。

发布于:2019-11-24 06:11:05