我正在使用 2 台机器,分别是 centos、mysql、drbd、heartbeat 和 asterisk。
节点 1 有
- hdc:SAMSUNG HD160JJ/P,ATA 磁盘驱动器
- 内核版本 1 SMP 2012 年 8 月 21 日星期二 17:50:26 EDT
- 内核版本 2.6.18-308.13.1.el5PAE
- mysql 版本 14.14 Distrib 5.1.65,适用于 pc-linux-gnu (i686),使用 readline 5.1
- DRBD 版本版本:8.2.6(api:88/proto:86-88)
- 心跳版本 2.1.3
- hdc4 用于 drbd 分区
节点 2
- SCSI 设备 sda:625140335 512 字节 hdwr 扇区 (320072 MB)
- 内核版本 1 SMP 2012 年 8 月 21 日星期二 17:50:26 EDT
- 内核版本 2.6.18-308.13.1.el5PAE
- mysql 版本 14.14 Distrib 5.1.65,适用于 pc-linux-gnu (i686),使用 readline 5.1
- DRBD 版本版本:8.2.6(api:88/proto:86-88)
- 心跳版本 2.1.3
- sda6 用于 drbd 分区
按照理想条件,如果节点 1==主节点发生故障,则备用节点 == 节点 2(当前为辅助节点)立即成为主节点。当节点 1 再次连接/打开时,它将成为辅助节点;当节点 2 发生故障时,节点 1 将成为主节点...依此类推...
当我尝试模拟以下情况时,问题出现了:- 1. 节点 1 == 主节点,所有必需的服务状态正常。节点 2 == 次节点,所有必需的服务状态正常。从节点 1 移除局域网电缆。结果:- 几秒钟后,节点 2 从次节点变为主节点,然后又变为次节点。因此,位于共享的 drbd 分区中的 mysql、asterisk 服务不起作用。
2.现在将 LAN 电缆重新连接到节点 1。结果:- 节点 1 成为辅助节点。节点 2 也是辅助节点。因此 mysql 和 asterisk 无法工作。
当启动节点 2==主节点和节点 1==次节点并执行这两个步骤时,也会发生同样的情况。当我检查日志时,我发现由于 Mysql 文件所有者应该在将次节点切换为主节点时更改,因此以下命令有效
chown mysql.mysql /repdata/mysql/*
chown mysql.mysql /repdata/mysql/mysql/*
这应该自动完成。但是不起作用,所以 mysql 服务无法正常启动,所以 drbd-heartbeat 给出错误并且主服务器(持续几秒钟)变成次服务器。
有没有什么解决办法?如果有人想看日志,我也会发布。