IBM PowerHA 6 DARE 的功能介绍

DARE 的功能介绍

PowerHA 6.1 提供了 cluster 动态调整的功能,即在 cluster 处于活动的状态时,动态地对 cluster 拓扑和资源进行变更,这个功能就称作 Dynamic Automatic Reconfiguration Event,简称 DARE。

DARE 功能的实现是它通过对 HACMP ODM 信息三份副本的维护来实现的:

图 1.PowerHA 6.1 ODM 信息存放位置示意图

PowerHA 通过对三份 PowerHA 配置拷贝的维护,可以实现在一个节点进行配置变更,然后将配置动态地同步到其它节点,这是 DARE 功能实现的前提条件。

DARE 功能的实现包括以下 5 步:

第一步,我们在 cluster 中一个节点使用 SMIT 或者命令行对 cluster 进行变更操作,变更信息被同步到本地 DCD 中;

第二步,当我们对 cluster 同步(Extended Verification and Synchronization )的时候,变更信息将会从 DCD 同步到本地 SCD 和 cluster 其它节点的 SCD 中;

第三步,对当前 ACD 信息的 snapshot 是 PowerHA 自动完成的,这个快照(snapshot)用于回滚(roll back)时使用;

第四步,cluster 各个节点的 SCD 覆盖其 ACD 的信息,然后 cluster manger 重新读取 ACD 的信息并进行更新;

第五步,整个 cluster 变更信息更新完以后,各个节点上 SCD 临时信息将会被删除;

图 2.PowerHA 6.1 DARE 功能实现示意图

DARE 的功能要求 cluster 中节点的 PowerHA 版本相同,否则无法实现。

对于一个稳定运行、没有 DARE 操作的 cluster 节点中,SCD 是不存在的。SCD 存在有两种情况:DARE 在进行中或者 DARE 操作已经失败。

当同步(synchronization)的过程中,cluster 的一个节点出现错误,将会导致 DARE 操作失败。这时候 SCD 的信息将不会被删除。SCD 会生成锁,阻止新的 DARE 操作,这也是 cluster 为了避免错误进一步扩大化的一种保护机制。

图 3.PowerHA DARE fail 示意图

当 SCD 锁产生的时候,我们必须手动删除这个锁,也就是手动删除 SCD 的信息,再重启 cluster 服务,否者可能会造成节点 cluster 配置信息不一致,可能会导致 cluster 节点的崩溃(crash)。

#smit hacmp - Problem Determination Tools - 
Release Locks Set By Dynamic Reconfiguration
图 4.SCD lock 解锁方法

关于 SCD 锁机制的作用,可以举例来进行说明:

例如有一个双节点的 cluster,名字为 super。节点分别为 ibm1 和 ibm2。在 cluster 运行正常的情况下,我们进行 DARE 操作,例如,在 ibm1 上给 cluster 添加一个新的资源组 rg1, 在 ibm1 上操作成功以后(变更信息保存到本地 DCD 中),进行 Extended Verification and Synchronization,同步的过程也是将变更信息从 ibm1 本地 DCD 向 ibm1 的 SCD 和 ibm2 的 SCD 拷贝的过程,如果此时 ibm2 发生错误,例如宕机,cluster 同步失败。此时 ibm1 和 ibm2 上的 SCD 信息都是不完整的。但此时 ibm1 节点的 cluster 服务不受影响,因为 cluster manger 依然可以从 ibm1 的 ACD 读取 cluster 配置信息,但是由于 SCD 的存在,会产生锁,这个锁阻止新 DARE 操作。这种情况下,当 ibm2 节点恢复正常以后,我们就需要按照上图所示,手动解锁,这样新的 DARE 操作才能进行。

同样,对于这个例子,如果在我们进行 Extended Verification and Synchronization 操作的时候,ibm1 节点出现宕机,这时 ibm1 和 ibm2 上的 SCD 信息都是不完整的,也不会被删除。这种情况下,ibm2 上 cluster 服务工作是正常的,因为 cluster manger 读取的是 ibm2 本地的 ACD 信息。在 ibm1 系统恢复正常以后,我们也需要手动解除 SCD lock,这样新的 DARE 操作才被允许。

还有一种情况,是我们在一个节点进行 cluster 变更以后,发现这个变更是不合理的,因此不想也不能做 cluster 同步操作,因此,我们就要在这个节点上进行回滚操作,回滚操作读取的快照是最近一次成功做的 DARE 操作步骤中的第三步自动生成的。

 #smit hacmp - Problem Determination Tools - 
 Restore HACMP Configuration Database from Active Configuration
图 5. 回滚操作的方法

PowerHA 6.1 DARE 支持的功能

PowerHA 6.1 支持的动态变更包括 ( 但不限于 ):

  1. 增加或删除节点;
  2. 增加或删除网络接口;
  3. 增加或删除一个 HACMP 网络;
  4. 热交换一块网卡;
  5. 修改网络模块参数;
  6. 给别名网络增加一个新的心跳;
  7. 将一个活动的网络设置成别名网络心跳;
  8. 更改一个别名网络中心跳的 IP 地址;
  9. 在别名网络中增加、更改或者删除一个网络接口或者节点配置;

对于以上列出的几种 cluster 变更,可以在 cluster 服务不停止的情况下动态完成。

PowerHA 6.1 DARE 不支持的常见 cluster 变更

常见的 PowerHA 6.1 不支持的 cluster 变更包括:修改 cluster 节点 IP 地址、修改 Service IP、修改 cluster 名、修改节点主机名。对于这四种类型的操作,对应的变更方式如下:

图 6.PowerHA 6.1 DARE 不支持的常见 cluster 变更实现方式

在文章接下来的部分,会采取实验的方式进行说明。

DARE 不支持的常见 cluster 变更实现方法

首先需要指出的两点:

  1. 由于实验环境的限制,试验中并未配置磁盘心跳,生产环境下,为了提高心跳的冗余性,建议配置磁盘心跳。
  2. 本章节中所涉及的四项操作,均在实验室完成。在生产环境下,则需要首先停止应用,再进行相关的操作,否则将会对生产环境产生很大的不良影响(如业务中断)。

PowerHA 6.1 相关项修改采取探讨性的方式,遵循两个原则:第一,使用对现有 cluster 改动少的方式修改相关的配置;第二,PowerHA 的校验(Extended Verification and Synchronization )和启动 (clstart) ,均采取非强制模式(Force synchronization if verification fails?=No;Ignore verification errors?=No ),确保 cluster 在非强制模式下可以同步和启动成功 , 这样才能保证 cluster 没有任何 Error 级别的错误。

由于文章涉及的 SMIT 菜单选项操作较多,因此,关联菜单的选择路径在文中第一次出现以后,后面涉及到的地方就不在进行详细描述。

本章中涉及到的常用命令如下:

启动 cluster:#smit clstart;

停止 cluster:#smit clstop;

查看 cluster 拓扑:/usr/es/sbin/cluster/clstat;

查看资源组状态:/usr/es/sbin/cluster/utilities/clfindres 或 clRGinfo;

变更以后需要刷新 cluster 进程:

# refresh -s clstrmgrES
# refresh -s clinfoES(clstat 无显示一般是此进程未启动)

修改双机节点 IP 地址

首先,查看已经 PowerHA 拓扑

#clstat

下面,我们将节点 ha61_g11c35 的两个 BootIP 分别改成 :172.16.14.138 和 172.16.15.138 首先,停止运行的 cluster:smit clstop, 停止成功以后: 修改 cluster 中两个节点的 /etc/hosts 配置文件中对应的 IP:

其次,我们需要将 en0 的 IP 修改为 172.16.14.138(smit tcpip),将 en1 的 IP 修改为 172.16.15.13, 修改完毕以后,进行查看:

将 cluster 删除,smit hacmp--Extended Configuration-- Extended Topology Configuration--Configure an HACMP Cluster--Remove an HACMP Cluster

删除成功以后,重新创建 cluster,rg 并添加相应的资源,具体配置 cluster 的步骤,本文不进行描述。 Cluster 重新配置完以后,先进行:Discover HACMP-related Information from Configured Nodes, 再进行同步 #smit hacmp-- Extended Configuration--Extended Verification and Synchronization ,确保这两步可以成功。 同步成功以后,重新启动 cluster:#smit clstart

然后查看 cluster 的拓扑,可以看出,节点 ha61_g11c35 的节点 IP 已经修改成功。

查看资源组的运行情况 , 资源组运行正常:

修改 Service IP

首先查看现有的 service IP:

现在两个 service IP 分别为 :172.16.50.170 和 171,我们分别将其修改为 : 172.16.50.172 和 172.16.50.173. 首先停掉双机 :#smit clstop 接下来,修改双机两个节点的 /etc/hosts 文件:

修改完毕以后,删除两个资源组 #smit hacmp-- Initialization and Standard Configuration--Configure HACMP Resource Groups--Remove a Resource Group

再添加资源组,并将 Service IP,VG 和 application 重新添加到资源组中 ( 具体配置本文不做描述 ),然后执行 Exended Verification and Synchronization 同步,可以成功;启动 cluster 的时候,可以看到 serviceIP 已经可以正常启动: 从命令输出来看,浮动 IP 地址修改已经成功。 #clstat

修改 cluster 名

查看现有 cluster 的名字为 cluster1,将其改为 ibm1.

首先停止 cluster: #smit clstop

接下来,修改 cluster name:#smit hacmp- Extended Configuration--Extended Topology Configuration--Configure an HACMP Cluster--Add/Change/Show an HACMP Cluster

修改成功以后, Extended Verification and Synchronization, 可以成功。 接下来,启动 cluster,可以成功 , 可以看出,cluster name 已经被成功修改:

修改节点主机名

首先查看 cluster 节点的名称,分别为 : ha61_g11c35 和 ha61_g11c36,我们接下来将其改成 ibm1 和 ibm2,并把 cluster 的名字改成 beijing

执行 #smit clstop 停止双机,将 cluster 彻底删除,#smit hacmp--Extended Configuration-- Extended Topology Configuration--Configure an HACMP Cluster--Remove an HACMP Cluster 然后重新配置,添加新的节点 ibm1 和 ibm2,然后按照配置 cluster 的步骤,添加资源组已经相应的资源,配置完毕以后,重新同步 cluster#smit hacmp-- Extended Configuration--Extended Verification and Synchronization ,可以成功(具体配置不进行描述)。 #smit clstart

Cluster 启动成功以后,查看状态,可以发现,cluster node name 已经成功修改。

本文分享自微信公众号 - 大魏分享(david-share),作者:魏新宇

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-05-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 从PowerVM,KVM到Docker:存储池的配置与调优---第一篇(第2子篇)

    Shared Storage Pool 的维护管理 Shared Storage Pool 的概念 共享存储池是一个 SAN 存储设备的池,这些设备可以跨多个 ...

    魏新宇
  • 设计一个应用集成的路由:构建以API为中心的敏捷集成系列-第五篇

    Message 消息: Unit of transport containing 消息传递的内容包括

    魏新宇
  • GPFS 3.4 的配置变更与性能评估

    GPFS 的概念 GPFS 的全称为:General Parallel File System,即通用并行文件系统。IBM GPFS 是一个可自由扩展的高性能并...

    魏新宇
  • replication-manager之switchover剖析

    老叶茶馆
  • redis实战第六篇 手动创建redis cluster

    分布式数据库需要解决数据分区问题,redis cluster采用虚拟槽分区来对数据进行划分。redis cluster的虚拟槽固定为16384个,编号为0~16...

    我是李超人
  • 使用Pinpoint作分布式链路跟踪系统

    【转载请注明出处】:https://cloud.tencent.com/developer/article/1655795

    后端老鸟
  • 解决:redis.clients.jedis.exceptions.JedisDataExceptionERR This instance has cluster support disabled

    微风-- 轻许--
  • C4C里产品主数据和销售组织数据维护的相互作用和相互影响

    然后点击“添加”按钮,试图找到刚才提到的产品1042419:发现找不到。原因是因为产品主数据上分配的销售组织和销售订单的销售组织不匹配。

    Jerry Wang
  • 大数据挖掘算法篇之K-Means实例

      K-Means算法是聚类算法中,应用最为广泛的一种。本文基于欧几里得距离公式:d = sqrt((x1-x2)^+(y1-y2)^)计算二维向量间的距离,作...

    数据饕餮
  • 普林斯顿中国籍教授:中国学生是怎样被一步步淘汰掉的?

    美国普林斯顿大学分子生物学系教授康毅滨先生,复旦大学毕业后赴美国杜克大学博士,现在美国普林斯顿大学分子生物学系任终身教授,曾获美国国癌症研究学会杰出贡献奖。

    新智元

扫码关注云+社区

领取腾讯云代金券