我目前被要求建立心脏起搏器,这对我来说是全新的。我目前有一个2节点集群。如果活动节点失败,我要做的是将IP重新分配到另一个节点。
因此,这样做的方法似乎是创建一个资源代理。我读过一些关于创建OCF资源的教程。我读过OCF资源,似乎这些东西叫做actions。关于行动,我不明白的是什么时候和谁叫这些行动?
如果资源在主节点上运行,然后当主节点关闭时,资源会发生什么变化?它会自动在另一个节点上运行吗?
此外,由于我需要执行一些步骤以防止调用操作,那么如何检查脚本中调用了哪个操作,是否有一个变量?
发布于 2020-05-06 19:12:03
有一个名为resource-agents的包,它包含一组常用的用于Pacemaker的资源代理。IPaddr2是其中之一,用于在集群中移动虚拟IP。有关配置详细信息,可以发出命令:pcs resource describe ocf:heartbeat:IPaddr2
如果您确实需要编写您自己的资源代理(这个主题太深了,无法在一个StackExchange答案中描述),那么您应该首先在resource-agents github:https://github.com/ClusterLabs/resource-agents/blob/master/doc/dev-guides/ra-dev-guide.asc中阅读OCF开发指南。
发布于 2021-03-22 11:51:41
您想知道的是,起搏器不是“节点故障转移”解决方案,备份节点接受失败节点的配置,而是“资源故障转移”解决方案,其中单个失败资源被移动到备份节点。
因此,您不配置主机地址,而是配置服务地址(也称为浮动地址或动态地址)。处理这些地址的一个资源代理(RA)是IPaddr2。(通常,您可以使用类似于crm ra info的命令(即:crm ra info IPaddr2)获得对任何RA的描述。
然后,您必须配置实际(网络)资源以使用该动态地址。为此,您必须确保资源运行在与IP地址(称为共址)相同的节点上。此外,您的资源应该在IP地址之后启动(称为排序)。
资源组可以帮助确保在没有共享资源的情况下(例如:当多个服务使用相同的IP地址时)的简单配置的定位和排序。
现在,对于操作:一个节点(域控制器或指定协调器(DC))运行集群资源管理器(crm),后者使用节点上的本地资源管理器执行操作。通常情况下,它们是start来启动资源,monitor检查资源的状态(有时也称为probe),stop来停止资源(还有几个,但这些是基本的)。如果资源无法停止,crm试图将节点隔离(向头部中的另一个节点(STONITH)射击),以确保该节点上没有任何东西继续运行。在STONITH成功之后,资源(实际上是受节点的STONITH影响的所有其他资源)将在另一个节点上启动。
有更多的话要说,但这应该足够一个快速的介绍。也许从从无到有开始吧。
https://serverfault.com/questions/1015800
复制相似问题