使用:Ubuntu 24.04LTS pacemaker 2.1.6-5ubuntu2 corosync 3.1.7-1ubuntu3 drbd-utils 9.22.0-1build1

所有 ip + drbd 都在工作,但是当它尝试通过 pacemaker 挂载文件系统时失败….

pcs 集群状态

集群状态:集群摘要:

  • 堆栈:corosync(Pacemaker 正在运行)
  • 当前 DC:pauloric(版本 2.1.6-6fdc9deea29)- 具有法定人数的分区
  • 最后更新时间:2024 年 10 月 16 日星期三 10:15:59,发布于 pauloric
  • 最后更改:2024 年 10 月 16 日星期三 09:11:20,由 root 通过 pauloric 上的 cibadmin 更改
  • 配置了 2 个节点
  • 6.资源实例配置节点列表:
  • 在线:[ pauloric zeus ]

PCSD 状态: pauloric: 在线 zeus: 在线

pcs 资源

  • lan1(ocf:heartbeat:IPaddr2):已启动 pauloric
  • wan1(ocf:heartbeat:IPaddr2):已启动 pauloric
  • 克隆集:drbd_base-clone [drbd_base](可升级):

    • 推广:[ pauloric ]
    • 未晋升:[ zeus ]
  • 资源组:iplan:

    • lan(ocf:heartbeat:IPaddr2):已启动 pauloric
    • fs_base(ocf:heartbeat:文件系统):已停止(未安装)

pcs 资源配置 drbd_base-clone

  Meta Attributes: drbd_base-clone-meta_attributes
    clone-max=2
    clone-node-max=1
    master-max=1
    master-node-max=1
    notify=true
    promotable=true
    target-role=Master
  Resource: drbd_base (class=ocf provider=linbit type=drbd)
    Attributes: drbd_base-instance_attributes
      drbd_resource=base
    Operations:
      demote: drbd_base-demote-interval-0s
        interval=0s timeout=90
      monitor: drbd_base-monitor-interval-10s
        interval=10s
      notify: drbd_base-notify-interval-0s
        interval=0s timeout=90
      promote: drbd_base-promote-interval-0s
        interval=0s timeout=90
      reload: drbd_base-reload-interval-0s
        interval=0s timeout=30
      start: drbd_base-start-interval-0s
        interval=0s timeout=240
      stop: drbd_base-stop-interval-0s
        interval=0s timeout=100

pcs 资源配置 fs_base

  Attributes: fs_base-instance_attributes
    device=/dev/drbd0
    directory=/srv/containers/base
    fstype=ext4
  Operations:
    monitor: fs_base-monitor-interval-20s
      interval=20s timeout=80s
    start: fs_base-start-interval-0s
      interval=0s timeout=60s
    stop: fs_base-stop-interval-0s
      interval=0s timeout=60s

件数约束

**Colocation Set Constraints:
  Set Constraint: colocation_set_defe
    score=INFINITY
    Resource Set: colocation_set_defe_set
      Resources: 'drbd_base-clone', 'fs_base'
Order Constraints:
  start resource 'drbd_base-clone' then start resource 'fs_base' (id: order-drbd_base-clone-fs_base-
      Mandatory)
    symmetrical=1 require-all=1 kind=Mandatory**

测试

pcs 资源调试-启动 fs_base

fs_base (ocf:heartbeat:Filesystem) 的强制启动操作返回 0(ok)10 月 16 日 10:17:33 信息:正在 /srv/containers/base 上为 /dev/drbd0 运行启动

pcs 资源调试-启动 fs_base

fs_base (ocf:heartbeat:Filesystem) 的强制启动操作返回 0(ok)10 月 16 日 10:17:33 信息:正在 /srv/containers/base 上为 /dev/drbd0 运行启动

安装 | grep drbd

/srv/containers/base 上的 /dev/drbd0 类型 ext4 (rw,relatime)

pcs 资源调试-停止 fs_base

fs_base (ocf:heartbeat:Filesystem) 的强制停止操作返回 0(ok) 10 月 16 日 10:19:31 INFO:正在对 /srv/containers/base 上的 /dev/drbd0 运行停止操作 10 月 16 日 10:19:31 INFO:正在尝试卸载 /srv/containers/base 10 月 16 日 10:19:31 INFO:未向 /srv/containers/base 上的进程发出信号。force_unmount 设置为“true” 10 月 16 日 10:19:32 INFO:已成功卸载 /srv/containers/base

查看:
https:

我知道这应该是我的错,但读了很多东西之后,我还是无法弄清楚缺少了什么……

此致

嗯,当我开始约束我用户设置时,出现第一个错误……现在我认为我写得正确:

#) pcs constraint order drbd_base-clone then fs_base kind=Mandatory symmetrical=true require-all=true

但错误仍然存​​在….

0


最佳答案
1

您需要命令 FS 在 DRBD 提升后启动(而不是简单启动),并将 FS 与提升的 DRBD 节点共置。

pcs constraint colocation add fs_base with promoted drbd_base-clone
pcs constraint order promote drbd_base-clone then fs_base

1

  • 谢谢 Matt,重启两台服务器后一切正常。我的问题是:pc constrain ordet set drbd_base-clone fs_base 为了纠正这个问题,我删除了这条规则并插入:pcs constrain order boost drbd_base-clone then fs_base kind=Mandatory symmetrical=true require-all=true 我会尝试你的建议 80)


    –