我正在使用两台 ESXi 主机创建一个集群系统,每台主机上都有一台 CentOS 7 服务器。
我创建了文件系统,并将其安装在node1
.
当我执行待机或重新启动时,故障转移会node01
正常node02
工作。但是,如果我从node02
后到后执行它node01
,它会返回一个资源错误,提示无法挂载文件系统/mbdata
我收到了这条消息:
Failed Resource Actions:
* mb-drbdFS_start_0 on node01 'unknown error' (1): call=75, status=complete, exitreason='Couldn't mount device [/dev/drbd0] as /mbdata',
last-rc-change='Thu May 7 16:09:25 2020', queued=1ms, exec=129ms
当我清理资源并node02
在线时,它会再次开始运行。我用谷歌搜索了一下为什么会出现这个错误,但我唯一能看到的是服务器没有通知新的主服务器,而新的主服务器实际上是主服务器(而不是从服务器)。但我还没有找到任何东西可以帮助我激活它。
我已经umount
在这两个系统上尝试过 - 但通常会发现node02
它没有安装。我尝试在两者上安装系统(但其中一个是只读的,并且违背了集群控制它的目的)。我一开始就遵循教程,但他们没有列出错误 - 他们只是说它会转移到新节点,所以我迷路了!
我所做的唯一区别是不用/mnt
作目的地,而是使用我自己的目录 - 但我认为这不会成为问题。
我想要的是:
- 在每个 ESXi 主机(物理服务器,以重新启动其自己的虚拟机)上都有一个围栏
- 有一个 DRBD 存储,这样我就可以拥有共享存储
- 拥有供客户端访问的虚拟 IP
- 让 Apache 运行 Web 服务器
- 有用于 SQL 数据库的 MariaDb
- 在同一台服务器上运行它们(主机托管),并将另一台服务器作为完全备用服务器
当它运行时我有:
[root@node01 ~]# pcs status
Cluster name: mb_cluster
Stack: corosync
Current DC: node01 (version 1.1.21-4.el7-f14e36fd43) - partition with quorum
Last updated: Fri May 8 09:46:59 2020
Last change: Fri May 8 09:22:59 2020 by hacluster via crmd on node01
2 nodes configured
8 resources configured
Online: [ node01, node02 ]
Full list of resources:
mb-fence-01 (stonith:fence_vmware_soap): Started node01
mb-fence-02 (stonith:fence_vmware_soap): Started node02
Master/Slave Set: mb-clone [mb-data]
Masters: [ node01 ]
Slaves: [ node02 ]
Resource Group: mb-group
mb-drbdFS (ocf::heartbeat:Filesystem): Started node01
mb-vip (ocf::heartbeat:IPaddr2): Started node01
mb-web (ocf::heartbeat:apache): Started node01
mb-sql (ocf::heartbeat:mysql): Started node01
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
和限制:
[root@node01 ~]# pcs constraint list --full
Location Constraints:
Resource: mb-fence-01
Enabled on: node01 (score:INFINITY) (id:location-mb-fence-01-node01-INFINITY)
Resource: mb-fence-02
Enabled on: node02 (score:INFINITY) (id:location-mb-fence-02-node02-INFINITY)
Ordering Constraints:
start mb-drbdFS then start mb-vip (kind:Mandatory) (id:order-mb-drbdFS-mb-vip-mandatory)
start mb-vip then start mb-web (kind:Mandatory) (id:order-mb-vip-mb-web-mandatory)
start mb-vip then start mb-sql (kind:Mandatory) (id:order-mb-vip-mb-sql-mandatory)
promote mb-clone then start mb-drbdFS (kind:Mandatory) (id:order-mb-clone-mb-drbdFS-mandatory)
Colocation Constraints:
mb-drbdFS with mb-clone (score:INFINITY) (with-rsc-role:Master) (id:colocation-mb-drbdFS-mb-clone-INFINITY)
mb-vip with mb-drbdFS (score:INFINITY) (id:colocation-mb-vip-mb-drbdFS-INFINITY)
mb-web with mb-vip (score:INFINITY) (id:colocation-mb-web-mb-vip-INFINITY)
mb-sql with mb-vip (score:INFINITY) (id:colocation-mb-sql-mb-vip-INFINITY)
Ticket Constraints:
答案1
您没有顺序约束来告诉集群仅在 DRBD 设备升级为主设备后才启动文件系统。添加以下顺序约束:
# pcs constraint order promote data then start drbd-FS