我正在研究使用 pacemaker 和 corosync 的 HA 集群。Red Hat 文档将 LVM、HA-LVM 和 CLVM 视为单独的主题。
我了解 CLVM 相对于 HA-LVM 的附加功能和优势。但我不确定 HA-LVM 与普通 LVM 相比有什么区别?
这仅仅是如何使用的问题吗?如果您在每个节点的 lvm.conf 中的 volume_list 中排除共享卷组以防止本地系统激活它,然后使用 Pacemaker 资源来管理共享卷组的激活和停用,这是否使其成为 HA-LVM。或者实际上是否有构成 HA-LVM 的不同代码。
使用 clvm 时,您实际上会安装其他软件包来提供 clvmd 和 dlm。使用 HA-LVM 时,似乎没有启用任何附加软件包或指令来声明您想要 HA-LVM 模式。但文档处理它和使用术语的方式让我有点困惑。
答案1
LVM 应该只在单个系统上使用,如果两个节点认为它们对 LVM 卷具有独占访问权限,则会发生损坏。
HA-LVM 允许多个节点从共享卷读取,但假定只有一个节点可以/应该写入 - 这类似于 Windows MSDTC 集群的工作方式(抱歉,今天还没有跟上速度),其中单个 MSCS 节点有写入权限。
CLVM 允许所有节点同时读取或写入,管理所有节点的文件锁定。
所以是的,正如你所说,如何使用它非常重要。
答案2
LVM 就是您在 /etc/lvm/lvm.conf 中定义的方式。设置locking_type=1 和 lvm2_lvmetad=0 第一个只锁定一个节点上的句柄。第二个确保使用禁用缓存来增强 lvm2 的性能。
另外,systemctl disable lvm2_lvmetad 以确保。
就是这样。现在你的 LVM 是 HA-LVM