drbd 设置涉及很多不同的组件,这些不同的源可能产生问题。以下几节中介绍了一些常见问题,并提供了解决这些问题的提示。
如果初始 drbd 安装未能和预期一样,则配置中可能出错了。
获取关于配置的信息:
打开终端控制台并作为 root 用户登录。
通过运行 drbdadm(带 -d 选项),测试配置文件。输入
drbdadm -d adjust r0
在 adjust 选项的干运行中,drbdadm 将 DRBD 资源的实际配置与您的 DRBD 配置文件进行比较,但它不会执行这些调用。检查输出以确保您了解任何错误的根源。
如果 drbd.conf 文件中有任何错误,请先更正它们再继续。
如果分区和设置正确,请在不使用 -d 的情况下再次运行 drbdadm。输入
drbdadm adjust r0
这会将配置文件应用到 DRBD 资源。
对于 DRBD,主机名区分大小写,因此 Node0 和 node0 不是一个主机。
如果您具有几个网络设备,并希望使用一个专用的网络设备,则主机名将可能不会解析为已用的 IP 地址。在这种情况下,可使用参数 disable-ip-verification 使 DRBD 忽略此事实。
如果您的系统无法连接到同级,则本地防火墙可能有问题。默认情况下,DRBD 使用 TCP 端口 7788 访问另一个节点。确保在两个节点上该端口均可访问。
如果 DRBD 不知道哪个实际设备保管了最新数据,它就会变为节点分裂状态。在这种情况下,DRBD 子系统将分别成为次系统,并且互不相连。在这种情况下,会将以下消息写入 /var/log/messages:
Split-Brain detected, dropping connection!
要解决这种情况,必须选择一个应丢弃其修改的节点。登录到该节点,并运行以下命令:
drbdadm secondary r0 drbdadm -- --discard-my-data connect r0
在另一个节点上,运行以下命令:
drbdadm connect r0