缺少起搏器代理 nvmet 子系统

缺少起搏器代理 nvmet 子系统

我尝试按照 drbd 操作指南“RHEL 9 上的高可用性 NVMe Over Fabrics (NVMe-oF)”进行操作,但遇到了错误

`Error: Unable to find agent 'nvmet-subsystem', try specifying its full name`
`Error: Errors have occurred, therefore pcs is unable to continue`

它发生在以下命令中:
pcs -f nvmet_config resource create p_nvme-subsystem_0 nvmet-subsystem \ nqn=linbit-nqn0 \ op start timeout=10s interval=0 \ op stop timeout=10s interval=0 \ op monitor interval=10s timeout=10s

因此,我没有使用过 Pacemaker,但我认为它请求 NVMe-oF 目标导出代理,该代理位于包“resource-agents”中。因此,尽管没有指定,但我还是额外安装了它。但没有变化。
我根据代理找到了这个概述:
nvme-subsystem 的 pcs 示例
所以我将命令改为:
pcs -f nvmet_config resource create nvme-subsystem_0 ocf:heartbeat:nvmet-subsystem nqn=drbd-nvme1 op......
同样不起作用。我尝试使用 Rocky 9、Ubuntu Server 22.04 和 Debian 11.3 执行此操作。全部都给出相同的错误消息。显然,操作方法不正确,但我该如何修复它?我在网上找不到一篇与此相关的帖子。奇怪。我不认为我是第一个,因为 Linbit 已经这样做了。

答案1

无论如何,继续这条路线都是没有意义的,因为 DRBD 在复制期间会降低 NVMe 的性能。您需要一些 100% 用户模式的应用程序进行轮询并避免中断处理开销、线程上下文切换以及用户到内核(和返回)跳转。内核中的任何东西都无法完全释放 NVMe 的潜力。SPDK NVMe-oF 目标可能是更好的选择。

https://spdk.io/releases/

编辑:用开源 SPDK 取代商业 Lightbits。

相关内容