所以我问这个问题只是为了发布我自己的解决方案。我遇到了这样的情况:
LVM
DRBD-RESOURCE
UNDERLYING-BLOCK-DEVICE
使用 Drbd 9 时,我遇到了一个问题,LVM 在底层块设备上找不到 lvm 签名,这让我非常沮丧。过滤器在 lvm conf 中完全不起作用。我尝试了文档中的过滤器以及我自己的过滤器和我能找到的任何论坛帖子。我甚至将设备类型限制为 drbd,但这什么也没起作用。即使我运行了 pvscan、vgscan、lvmconfig。没关系,没有用。
答案1
过滤器应按照此处文档中宣传的那样工作:https://www.drbd.org/en/doc/users-guide-84/s-lvm-drbd-as-pv
为了完整性,这些步骤是添加过滤器、禁用 LVM 元数据缓存的写入以及擦除已创建的任何缓存。
在/etc/lvm.conf
:
...
filter = [ "a|drbd.*|", "r|.*|" ]
...
write_cache_state = 0
...
然后删除所有缓存:
# rm /etc/lvm/cache/.cache
对于 CentOS 7,除了上述步骤外,您还需要停止并禁用 lvm2-lvmetad.service,或者use_lvmetad = 0
在 lvm.conf 中进行设置。后者需要重新启动。
答案2
我的解决方案是使用“设备”下 lvm.conf 中扫描指令中的资源:
/dev/drbd/by-res/[您的资源名称]
现在显然你不能将 lvm 与其他任何东西一起使用,但这对我来说没问题,而且这是唯一有效的方法。
@Matt Kereczman 指出:
对于 CentOS 7,除了上述步骤外,您还需要停止并禁用 lvm2-lvmetad.service,或者在 lvm.conf 中设置 use_lvmetad = 0。后者需要重新启动。
这似乎解决了我面临的最后一个问题。你可能会发现他的回答很有用,我坚持使用我的扫描路径,因为它对我有用。