DRBD:故障转移或重新启动节点时“无法将设备 [/dev/drbd0] 安装为 /mydata”

DRBD:故障转移或重新启动节点时“无法将设备 [/dev/drbd0] 安装为 /mydata”

我正在使用两台 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

相关内容