1.4. 红帽高可用性集群中的 LVM 逻辑卷
红帽高可用性附加组件以两种不同的集群配置为 LVM 卷提供支持。
您可以选择的集群配置如下:
- 带有主动/被动故障转换配置的高可用性 LVM 卷(HA-LVM),在任何一个时间点上,集群中只能有一个节点访问存储。
-
使用
lvmlockd
守护进程以主动/主动配置管理存储设备的 LVM 卷,其中多个群集节点需要同时访问存储。lvmlockd
守护进程是弹性存储附加组件的一部分。
1.4.1. 选择 HA-LVM 或者共享卷
使用 HA-LVM 或由 lvmlockd
守护进程管理的共享逻辑卷时,应当基于所部署的应用或服务的需要。
-
如果集群的多个节点需要同时对主动/主动系统中的 LVM 卷进行读/写访问,则必须使用
lvmlockd
守护进程并将您的卷配置为共享卷。lvmlockd
守护进程提供了一个系统,可以同时协调 LVM 卷的激活和更改。lvmlockd
守护进程的锁定服务可保护 LVM 元数据,因为群集的不同节点与卷交互并更改其布局。这种保护取决于将同时在多个群集节点间作为共享卷激活的卷组。 -
如果将高可用性集群配置为以主动/被动方式管理共享资源,一次只有一个成员需要访问给定 LVM 卷,那么您可以在没有
lvmlockd
锁定服务的情况下使用 HA-LVM。
因为大多数应用程序没有为与其他实例同时运行而设计或进行优化,所有它们以主动/被动配置的模式运行更佳。选择在共享逻辑卷上运行不是集群感知的应用程序可能会导致性能下降。这是因为,在这些情况下逻辑卷本身需要有集群通信的额外开销。针对集群设计的应用程序所获得的性能提高幅度必须大于因为集群文件系统和针对集群的逻辑卷所造成的性能降低的幅度。一些应用程序和工作负载会比其他应用程序和工作负载更容易实现这一点。确定集群的要求以及是否要为活跃/主动集群进行优化,从而在两个 LVM 配置间进行选择。大多数用户使用 HA-LVM 一般会获得最佳的 HA 结果。
HA-LVM 和使用 lvmlockd
的共享逻辑卷类似,因为它们可防止 LVM 元数据及其逻辑卷损坏,否则在允许多个计算机进行重叠更改时会出现这种情况。HA-LVM 会限制在一个时间点上只能有一个逻辑卷被激活,也就是说一次只在一个机器中激活。这意味着,只使本地(非集群)实现的存储驱动被使用。使用这种方法可以避免用于集群协调的额外开销,以提高性能。使用 lvmlockd
的共享卷不会强制实施这些限制,用户可以自由地在群集中的所有计算机上激活逻辑卷;这强制使用群集感知型存储驱动程序,允许将群集感知型文件系统和应用程序置于上面。
1.4.2. 在集群中配置 LVM 卷
通过 Pacemaker 管理集群。只有与 Pacemaker 集群联合支持 HA-LVM 和共享逻辑卷,且必须配置为集群资源。
如果 Pacemaker 集群使用的 LVM 卷组包含远程块存储上的一个或多个物理卷,如 iSCSI 目标,则红帽建议您配置 systemd resource-agents-deps
目标和目标的一个 systemd
置入单元,以确保服务在 Pacemaker 启动之前启动。有关配置 systemd resource-agents-deps
目标的详情,请参考 为不由 Pacemaker 管理的资源依赖项配置启动顺序。
有关将 HA-LVM 卷配置为 Pacemaker 集群一部分的流程的示例,请参阅 在红帽高可用性集群中配置一个主动/被动 Apache HTTP 服务器 和 在红帽高可用性集群中配置一个主动/被动 NFS 服务器。
请注意,这些步骤包括以下步骤:
- 确保只有集群可以激活卷组
- 配置 LVM 逻辑卷
- 将 LVM 卷配置为集群资源
-
有关配置使用
lvmlockd
守护进程的共享 LVM 卷来在主动/主动配置中管理存储设备的流程,请参阅 集群中的 GFS2 文件系统 和 在红帽高可用性集群中配置一个主动/主动 Samba 服务器。