cpc1989
作者cpc19892019-09-18 13:22
存储工程师, 某保险公司

Power Enterprise Pool结合PowerHA的高可用技术实践

字数 6192阅读 6009评论 3赞 12

1. Power Enterprise Pool 技术介绍

银行核心业务系统要求极强的稳定性、保障 7*24 业务连续性,以及高性能、满足银行关键应用系统大规模并发要求。相比分布式架构,集中式架构能更好地实现数据一致性,因此目前银行核心业务系统主流采用的是集中式架构。有人认为集中式架构资源浪费比较严重、应对业务突增不够灵活,但实际上集中式架构在弹性资源和有利用率的高可用方面已经有成熟的优化方案, Power Enterprise Pool 技术可以帮助企业在不降低性能和可用性的前提下实现计算资源按需获取、提高关键应用服务器资源整合度。

1.1 Power Enterprise Pool 概述

1.1.1 CoD ( Capacity on Demand )概述

谈到 Power Enterprise Pool ,不可避免需要先了解 CoD ( Capacity on Demand )。我们知道 Power 服务器上除了激活的 CPU 和内存资源外,还安装着了非激活的计算资源。已激活的 CPU 和内存资源是可以直接在服务器上使用的,而非激活的 CPU 和内存资源需要激活操作后才能使用。 CoD ( Capacity on Demand )则提供了一种能激活服务器上那些非激活的 CPU 和内存资源的方式。通过使用 CoD 相关产品,可以在业务高峰期间动态激活服务器上的计算资源,从而满足系统弹性的性能需求。

CoD 一般是配合 HMC (硬件管理控制)来实现,主要包括了 CUoD (永久激活)、 Trial CoD ( 30 天使用)、 Elastic CoD (临时弹性)、 Utility CoD (计费型)、 Power Enterprise Pool (企业共享池)、 PowerVM Editions 这些产品技术。这边将重点介绍 Power Enterprise Pool 技术。

1.1.2 Power Enterprise Pool 概述

Power Enterprise Pool 是一种将多台 Power 服务器的 CPU 和内存组成可以共享的可移动的 CoD 资源池的技术。在同一个 Power EnterprisePool 中,服务器除了自身原来已激活的静态资源外,还可以按需激活 CoD 资源。当然可激活的资源不能超过 CoD 资源池的总量,也不能超过单台服务器总的非激活资源总量。

处理器和内存资源主要是需要 HMC 来控制许可指派和移除。其本质上是通过 HMC 发出 CoD 许可指派指令,激活机器上的未激活计算资源,获得 Mobile CoD 资源,从而实现了 CoD 资源池能被多台机器共享使用。

借助于 Power Enterprise Pool 技术, Power 服务器的性能管理可以更加灵活应对大量的工作负载,弹性的资源使用也可以轻松处理性能容量管理,也一定程度能缩减服务器性能预算。可移动激活的按需分配的计算资源也给 DRP (灾难恢复计划)提供了更多的管理功能支持。

1.2 软硬件要求与技术规范

1.2.1 HMC 硬件要求及使用规范

为 了管理 Power Enterprise Pool , HMC 需要至少 2G 的物理内存,而且需要将 HMC 升级到 V7.7.8 以上微码版本。每一个 Power Enterprise Pool 只能通过一个 master HMC 来创建和管理,但是配置其他 non-master HMC 以保证冗余性是一种最佳实践。 HMC 之间需要保证互相之间的网络通信, master HMC 会将池的配置修改信息实时同步到 non-master HMC ,以保证 non-master HMC 能够在需要时接管 master HM C 。

Master HMC 提供如下的 Enterprise Pool 管理功能:

1) Mobile CoD 的资源从系统中添加和移除

2) 在 Pool 中添加和移除新的主机

3) 在 Pool 中添加和移除新的资源

4) 查看 Pool 相关信息,包括 Pool 资源和历史变动日志。

除了通常的 HMC Web 网页操作和命令调用外, HMC 还可以通过 REST APIS 来管理 Enterprise Pool ,具体使用如下表所示:

| Method/Resource | /rest/api/uom/PowerEnterprisePool/{uuid}/PowerEnterprisePoolMember | /rest/api/uom/PowerEnterprisePool/{uuid}/PowerEnterprisePoolMember/{uuid} |
| ------------ | ------------ | ------------ |
| GET | 获取池成员列表 | 获取池成员详细资源信息 |
| POST | 更新池成员列表 | 更新池成员资源 |

1.2.2 可支持配置 Enterprise Pool 的 Power System 硬件

Enterprise Pool 对 PowerSystem 的型号是有着明确的要求,根据 Power 小型机的型号分为有三种不同类型的 Power Enterprise Pool :

1) Power 770+ , E870 , E870C 以及 E880C 型号小型机组成的 Pool

2) Power 780+ , 795 , E880 , E870C 以及 E880C 型号小型机组成的 Pool

3) Power E980, E870, E870C, E880 以及 E880C 型号的小型机组成的 Pool

这三种 Pool 都支持不同的机器型号和不同的主频处理器的服务器来组建,但是同一个服务器同一时间只能属于一个 Pool 。不同型号的小型机都有不同数量的最小静态 CPU 数需求,而且所有的 Power 小型机需要至少 25% 的已激活内存作为静态内存。

1.2.3 可与 Enterprise Pool 结合使用的的 Power System 软件

支持使用 Power Enterprise Pool 的 Power Syetem 软件如下列表所示:

| 软件类型 | 软件名及版本 |
| ------------ | ------------ |
| 操作系统软件 | AIX V6.1 Standard Edition AIX V6.1 Enterprise Edition AIX V7.1 Standard Edition AIX V7.1 Enterprise Edition i V6.1 i V7.1 |
| 系统管理软件 | Systems Director Standard Edition VMControl Enterprise Edition SmartCloud Entry PowerSC™ Standard PowerVM® V2 Standard PowerVM V2 Enterprise PowerHA® for i V6.1 PowerHA SystemMirror® for i V7.1 PowerHA for AIX V6 Standard PowerHA for AIX V6 Enterprise PowerHA for AIX V7 Standard PowerVP™ Standard Edition PowerVC Express Edition PowerVC Standard Edition |

2. Enterprise Pool 结合 PowerHA 高可用技术方案

2.1 案例背景

行内信贷系统和 ODS 数据仓库系统需要各搭建一套数据库服务器,计划部署于 Power 小型机上。这两套数据库系统的重要性较高,尤其是日终批量对处理器和内存资源的消耗较多。而行内小型机处理器资源使用紧张,而且 Power 系统普遍采用 Power HA 双机热备的方式来实现高可用部署,所以需要至少采购两台 Power 小型机,目标的软件硬件配置如下:

硬件环境: 2 台 Power 770 ( 9117-MMD ),已安装处理器 64C 内存 512G

软件环境 : AIX 6.1 , PowerHA for AIX 6.1 ,数据库软件 DB2 等

两台 P770 需要各创建两套 AIX 分区,其中 ODS 数据仓库的服务器计算资源规划是 32C 260G ,信贷系统的服务器计算资源规划是 16C 200G ,这样新的服务器必须超过 48C 460G 的配置。

2.2 高可用 Power 架构设计

我们知道 Power 服务器的计算资源成本较高,特别是处理器资源更是极为重要。而 Power Enterprise Pool 拥有着处理器和内存资源池的可移动共享的特性,可以与 PowerHA 双机热备的场景贴合。根据上述的案例背景,设计了 Enterprise Pool 结合 PowerHA 的高可用架构。

Enterprise Pool 的配置对 Power 770 的要求是至少 4 个静态激活的 CPU 以及至少 25% 的静态激活内存。最终行内确认的配置是: 2 台 Power 770 服务器各 4 个静态激活 CPU 和 312G 静态激活内存,池 Mobile CoD 的配置是 64C 和 400G 内存。

高可用架构示意图:

53 个 Mobile CoD CPU 将用于这两套数据库 PowerHA 的使用,其中 HA 的备机各使用 1 个 CoD ,其余的 Mobile CoD CPU 可用于 HA 的主机。

2.3 具体实现步骤

2.3.1 前置条件

在配置 Power Enterprise Pool 之前,需要先完成硬件的上架、加电、安装以及 HMC 的连接配置工作。值得注意的是, HMC 有最低微码版本要求,且最佳实践要求是 1 个 master HMC ,至少一个 non-master HMC ,且 HMC 之间的网络需要打通。本案例中部署了两台 HMC ,微码版本 V8R8.2.0.0

除了硬件环境准备之外,还需要准备 Power Enterprise Pool 配置文件。该配置文件由厂商提供,其中包含了池、池成员信息以及 Mobile CoD 的激活码。

2.3.2 Enterprise Pool 配置

Power Enterprise Pool 是通过 HMC 来完成创建的。在 HMC 的“系统管理”模块界面中有专门的一个“ Power Enterprise Pool ”的页面,通过“创建池”的导航步骤依次输入池的名字、上传 Power Enterprise Pool 配置文件即可。

HMC 会按照上传的配置文件来创建 Power Enterprise Pool ,最终实现效果如下图所示:

在我们创建的 P770_EP 池中,总共包含了 64 个 Mobile CoD 处理器和 400G Mobile CoD 内存,而且通过 HMC 可以去管理 Enterprise Pool 的计算资源。以处理器为例,如下图所示,通过编辑 Mobile CoD 的数量来调整服务器的 CPU 资源。

还可以通过 HMC 更改 master HMC

另外还可以查看池历史记录日志。

2.3.3 PowerHA 额外的配置

PowerHA 集群软件可以实现 Power Enterprise Pool 的可移动计算资源在 PowerHA 主备机之间的自动调配。其实现原理是在 HA 发生切换时,通过主机向 HMC 发起移除和添加 CoD 资源的命令来实现的。

除了 PowerHA 的常见安装配置之外,还需要安装额外 Enterprise Pool 的组件,如图所示:

安装完该组件后,再在 PowerHA 的软件中添加 Enterprise Pool 的资源配置。通过 SMIT 菜单,可以完成如下图的配置 .

其中 P770A1&P770B1 作为一组 HA ,配置了 31 个 Mobile CoD 处理器; P770A2&P770B2 作为一组 HA ,配置了 15 个 Mobile CoD 处理器,剩余的 Mobile CoD 处理器作为新建分区以及后期扩容使用。

2.4 实现效果及意义

2.4.1 Enterprise Pool 资源自动切换效果展示

以 P770A1 和 P770B1 的 PowerHA 切换为例,可以通过 /usr/es/sbin/ep/bin 目录下的 HA_EP_diag.log 来查看 Enterprise Pool 资源的切换情况。

在 HA 切换之前, 31 个 CoD 处理器资源在 P770A1 上,而备机 P770B1 上只有 1 个处理器,如下图所示:

在 P770A1 上发起 HA 切换后, PowerHA 会对 HMC 发送去除 P770A 上的资源命令。

然后 PowerHA 再对 HMC 发送添加给 P770B 资源的命令。

在完成 Pool 资源添加之后,可以看到 P770B1 上获取了 31 个 CoD 处理器资源,如下图所示:

这样在 PowerHA 切换的过程中,也自动发起了 Enterprise Pool 计算资源的切换。

2.4.2 实现意义

长期以来,为了保证 PowerHA 集群的正常切换,主备机的计算资源都是保持一致的,存在着集群备机的计算资源严重浪费的情况。而 PowerHA 的切换过程与 Enterprise Pool 计算资源的自动调整形成了一套完整的解决方案,可以将 PowerHA 集群主备机的计算资源组成一个 Pool ,极大程度的减少了计算资源的浪费。

2.5 Power Enterprise Pool 计算资源自动切换的故障点及建议

2.5.1 master HMC 与系统的网络连接与信任关系

PowerHA 之所以能实现 Enterprise Pool 中计算资源的自动调整,是因为在操作系统中发起了对 HMC 的远程调用命令,并且是通过 SSH 的方式。为了保证 PowerHA 切换过程中计算资源能自动调整,我们还需要保证两点:一是 PowerHA 主备机与 HMC 的网络通信要畅通;二是需要配置 PowerHA 主备机的 root 用户和 HMC 的 hscroot 的 SSH 信任关系,实现免密登录。

如果出现两者之间网络通信故障以及失去 SSH 信任关系,不仅会无法实现 Enterprise Pool 中计算资源的自动调整,而且会导致 PowerHA 切换的失败。

2.5.2 matser HMC 与服务器启停

服务器的 Mobile CoD 资源是通过 master HMC 来获取到的,如果服务器在启动时无法连接到 master HMC ,就无法获取 Mobile CoD 资源。所以在出现服务器和 master HMC 都关掉的情况下,需要先重启 matser HMC ,再重启服务器。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

12

添加新评论3 条评论

dsq114481457dsq114481457系统运维工程师, 禾光电脑科技有限公司
2019-10-21 17:35
那你们哪里HMC就一块硬盘,是否能够靠得住的呀!没有做到冗余的吗??

lidexin@cpc1989 同意

2020-08-21 16:08

cpc1989@dsq114481457 在这个方案里hmc是不建议单台部署的,除了master hmc外,还需要设置non-master hmc,并且同步master hmc 的配置信息。所以如果master hmc故障,只需要切换到non-master hmc。

2019-10-21 18:24
spring_cuispring_cui系统工程师, 北京合力
2019-10-21 17:29
这是把HMC当成powervc的管理平台了吗?hmc就一块硬盘可靠吗

cpc1989@spring_cui 在这个方案里hmc是不建议单台部署的,除了master hmc外,还需要设置non-master hmc,并且同步master hmc 的配置信息。所以如果master hmc故障,只需要切换到non-master hmc。

2019-10-21 18:23
hufeng719hufeng719系统工程师, 某钢铁企业
2019-10-17 12:00
谢谢分享。几个问题想咨询下:1、可激活的CoD资源为何不能超过单台服务器总的非激活资源总量?2Power Enterprise Pool 为什么会依赖于PowerSystem硬件型号而分类呢?3、不同AIX分区上分配的硬件计算资源能否动态调整?(扩大或缩小)还是说更改配置后必须重启服务器才能生效? 本文有一个很大的亮点是:PowerHA 的切换过程与 Enterprise Pool 计算资源的自动调整形成了一套完整的解决方案。切换会连同分配的CoD资源一同切换过去。有些惊奇。

hufeng719@cpc1989 谢谢

2019-10-17 15:41

cpc1989@hufeng719 1.COD本质上是激活机器上的非激活资源,所以单台机器可以获得的cod资源是没有办法超过非激活的总量的 2.enterprise pool依赖于cod资源,按照小型机类型分为几类,我觉得更多是因为power处理器类型 架构 性能以及商业化等方面考虑。 3.不需要重启,在hmc上修改配置就可以动态生效。能结合powerha实现自动切换时修改资源配置的原理是ha中新增了一个可以调用hmc的组件,在ha切换时,根据需要来发命令给hmc,使得hmc动态修改服务器所使用的cod资源。

2019-10-17 12:17
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广