我已经设置了 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。
答案1
您的错误表明:
Beginning tests for /usr/lib/ocf/resource.d/linbit/drbd...
/usr/sbin/ocf-tester: 226: /usr/sbin/ocf-tester: xmllint: not found
它不必xmllint
测试代理,因此首先使用以下命令安装它:apt-get install libxml2-utils
那么它应该可以正常工作。希望有帮助。:) 一切顺利。:)
答案2
DRBD 可以存在于许多状态中,因此需要在 Pacemaker 中定义一个额外的主/从集,该集引用使用ocf:libit:drbd
资源代理的原语。需要主/从集的资源代理通常无法使用 进行测试ocf-tester
。
但是,我可以向您保证,ocf:linbit:drbd
资源代理符合 OCF 标准。