我有一个使用 DRBD、Corosync 和 Pacemaker 的设置,其中 Pacemaker 应该在不同集群节点上的 DRBD 块设备上安装一个文件系统,具体取决于节点的可用性。该设置尚未完全正常工作,因此我尝试测试 Pacemaker 的 DRBD 资源代理ocf::linbit:drbd
,使用ocf-tester
.
如果我这样尝试(drbd_res
是 Pacemaker 中的 DRBD 资源r1
的名称;是中的资源名称/etc/drbd.conf
)
sudo ocf-tester -n drbd_res -o drbd_resource="r1"\
/usr/lib/ocf/resource.d/linbit/drbd monitor
我收到此错误消息:
Beginning tests for /usr/lib/ocf/resource.d/linbit/drbd...
/usr/sbin/ocf-tester: 226: /usr/sbin/ocf-tester: xmllint: not found
* rc=127: Your agent produces meta-data which does not conform to ra-api-1.dtd
* rc=6: Validation failed. Did you supply enough options with -o ?
WARNING: You may be disappointed: This RA is intended for pacemaker
1.0 or better!
ERROR: meta parameter misconfigured, expected clone-max -le 2, but found unset.
Aborting tests
所以我的问题是:我怎样才能手动调用(即测试)OCF 资源代理ocf-tester
?对于给定的示例,我希望执行以规定的返回值之一完成。我在 Debian 上使用 DRBD 8.4.3 和 Pacemaker 1.1.16。
DRBD 可以以多种状态存在,因此需要在 Pacemaker 中定义一个额外的主/从集,该集引用使用
ocf:libit:drbd
资源代理的原语。需要主/从集的资源代理通常无法使用ocf-tester
.但是,我可以向您保证,
ocf:linbit:drbd
资源代理符合 OCF。你的错误告诉你:
它不必
xmllint
测试代理,因此首先使用以下命令安装它:apt-get install libxml2-utils
然后它应该可以正常工作。希望是有帮助的。:) 一切顺利。:)