我跟着从头开始构建集群说明,第 8 章和第 9 章,使用 drbd 和 pacemaker 配置主动-主动共享磁盘集群。与该教程的不同之处在于我使用的是 OCFS2 而不是 glusterfs。
没有起搏器它工作正常,但是当我想要集成到集群时,它会失败并显示以下错误消息:
# pcs status
Cluster name: datacluster
Stack: corosync
Current DC: darwin (version 2.0.1-9e909a5bdd) - partition with quorum
Last updated: Wed May 26 00:18:41 2021
Last change: Tue May 25 23:54:38 2021 by root via cibadmin on darwin
2 nodes configured
3 resources configured
Online: [ darwin humboldt ]
Full list of resources:
Clone Set: drbd-clone [drbd] (promotable)
Masters: [ darwin humboldt ]
shareddisk (ocf::heartbeat:Filesystem): Stopped
Failed Resource Actions:
* shareddisk_start_0 on darwin 'not installed' (5): call=11, status=complete, exitreason='Couldn't find device [/dev/drbd0]. Expected /dev/??? to exist',
last-rc-change='Wed May 26 00:02:45 2021', queued=0ms, exec=56ms
* shareddisk_start_0 on humboldt 'not installed' (5): call=12, status=complete, exitreason='Couldn't find device [/dev/drbd0]. Expected /dev/??? to exist',
last-rc-change='Wed May 26 00:04:28 2021', queued=0ms, exec=56ms
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
我怀疑消息“找不到设备 [/dev/drbd0]。预期 /dev/??? 存在”是因为挂载共享磁盘 (shareddisk) 的资源没有等到资源 drbd-clone 在两个节点上完成创建设备 /dev/drbd0。
drbd 资源运行后,该设备就存在。
root@darwin:~# cat /proc/drbd
version: 8.4.10 (api:1/proto:86-101)
srcversion: 15055BDD6F0D23278182874
0: cs:StandAlone ro:Primary/Unknown ds:UpToDate/DUnknown r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
root@darwin:~# ls -l /dev/drbd0
brw-rw---- 1 root disk 147, 0 May 26 00:02 /dev/drbd0
如您所见,资源 shareddisk 已受 colocation 和 order 约束。有没有办法告诉资源 shareddisk 在 drbd 之后等待一分钟再尝试启动?
或者我应该寻找其他地方来解决这个问题?
预先感谢您的任何帮助。