![缺少起搏器代理 nvmet 子系统](https://linux22.com/image/788398/%E7%BC%BA%E5%B0%91%E8%B5%B7%E6%90%8F%E5%99%A8%E4%BB%A3%E7%90%86%20nvmet%20%E5%AD%90%E7%B3%BB%E7%BB%9F.png)
我尝试按照 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 目标可能是更好的选择。
编辑:用开源 SPDK 取代商业 Lightbits。