启用可靠性可伸缩性群集技术(RSCT)作为IBM PowerVM NovaLink的群集软件

    技术2024-07-13  74

    IBM®PowerVM®NovaLink提供了一个PowerVM管理界面,该界面在PowerVM系统上的Linux®分区内运行。 此Linux分区充当OpenStack计算驱动程序和其他代理的主机,以提供PowerVM的体系结构,类似于具有基于内核的虚拟机(KVM)的OpenStack。

    与可靠性可伸缩性集群技术(RSCT)支持现有管理控制台(例如硬件管理控制台(HMC)和集成虚拟化管理器(IVM))的方式类似,它需要支持PowerVM NovaLink作为使用NovaLink创建的逻辑分区(LPAR)的管理控制台。在同一系统中运行)。 这包括在NovaLink和其他LPAR之间自动形成管理域,这是确保NovaLink与LPAR之间的通信可以通过IPv4或IPv6链路本地地址进行的必要条件。

    在RSCT中,资源监视和控制(RMC)扮演着重要角色。 在LPAR上运行的RMC或管理域资源管理器(MDRM)继续依靠运行时抽象服务(RTAS)数据来获取NovaLink联系人详细信息,并使用它们通过IPv6链接本地地址来形成管理域。 在RSCT术语中,有时将NovaLink称为管理控制点(MCP),将LPAR称为受管节点。

    什么是RSCT

    RSCT是一种经过验证的集群软件,可以启用高可用性和分布式管理应用程序,例如Tivoli Storage Manager,IBMDB2®,PowerHA等。 RSCT是一组软件组件,它们共同为IBMAIX®,Linux,Solaris和Microsoft®Windows®提供了全面的集群环境。 RSCT是各种IBM产品用于为集群提供改进的系统可用性,可靠性和可伸缩性以及易用性的基础结构。

    RSCT中使用以下组件:

    团体服务 流行病学服务 RMC子系统 安全服务 集群配置管理器

    RSCT用于建筑管理集群。 管理域是一组节点,这些节点的资源可以从指定为MCP的一个节点中进行管理和监视。 所有其他节点都被视为受管节点。

    管理域开发人员,例如HMC,IBM PowerVM NovaLink,IBM PowerLinux™(大端/小端),IVM等。

    RMC(RSCT的子组件)用于通知集群配置的更改。 RMC用于控制操作,例如动态重新配置,实时分区移动性(LPM)等。

    当前的分布式平台在集中式计算管理,可伸缩性,复杂的设计等方面都有局限性,这降低了敏捷性并增加了设置和维护成本。 新平台PowerVM NovaLink使用成熟的PowerVM解决方案和OpenStack技术为关键企业工作负载实现高度可扩展的现代云管理和部署。 PowerVM NovaLink可以在Ubuntu Linux 15.10(ppc64le)或更高版本的系统上运行。

    可以在基于IBMPOWER®处理器的管理型系统(例如IBMPOWER8®或更高版本)上启用NovaLink,它提供管理功能来支持和创建AIX和Linux分区。 与HMC不同,NovaLink没有GUI。

    图1.当前的PowerVM架构
    图2. PowerVM NovaLink架构

    PowerVM NovaLink高级架构

    NovaLink是在IBM Power服务器上运行的分区,NovaLink在每个系统上的Ubuntu 15.x或Ubuntu 16.x小字节序分区上运行。 它仅适用于基于POWER8处理器的服务器,不支持向后兼容。 NovaLink服务提供了两个主要组件:与IBM POWER Hypervisor™和虚拟I / O服务器(VIOS)的基础层虚拟化交互,如图3所示。RESTAPI是具有K2架构的虚拟化界面,该架构经过了优化和重新设计。必要时实施。 NovaLink可以运行服务,例如OpenStack Nova计算,Neutron代理和Ceilometer代理。 可以在安装过程中调整VIOS实例和NovaLink分区的大小,以最大程度地减少对客户的影响。

    图3. PowerVM NovaLink平台视图
    图4. NovaLink分区

    NovaLink由以下三个主要组件组成(如图4所示):

    NovaLink核心–与虚拟化资源进行通信 NovaLink API –提供允许访问POWER Hypervisor和VIOS实例的API OpenStack服务–运行带有OpenStack的IBM PowerVC和IBM Cloud Manager等服务的分布式Nova计算,Neutron代理和Ceilometer代理

    NovaLink使用虚拟管理通道(VMC)与Power Hypervisor通信。 Power Hypervisor仅支持一个虚拟管理通道连接。 NovaLink通过RMC与所有VIOS实例进行通信,并且通信是通过内部安全的RMC网络进行的,该网络具有NovaLink分区中的中继适配器。 这样可以确保没有分区间通信。 有关NovaLink的ubuntu 15.x / 16.x的安装 ,请参阅《 安装PowerVM NovaLink》 。

    软件和硬件先决条件

    您需要以下软件来配置,设置和安装PowerVM NovaLink:

    POWER8-840级固件版本SV840_050_050或更高版本 操作系统– Ubuntu 15.10或更高版本 RSCT:3.2.1.2或更高版本

    可以为PowerVM NovaLink配置以下操作系统的LPAR。

    AIX 7.1.4或更高版本 AIX版本7.2.0或更高版本 Ubuntu 15.10或更高版本 RHEL 7.1或更高版本 SUSE 12或更高版本

    您需要执行以下步骤才能开始将NovaLink与RSCT支持一起使用:

    将系统设置为NovaLink模式。 使用NovaLink创建一个分区,然后在该分区上加载图像。 配置NovaLink主机以使用新的内部RMC通信。 更新VM中的RSCT软件包。 这些软件包包括rsct.basic,rsct.core,rsct.core.utils以及可以安装的任何可选RSCT软件包。 RSCT必须为3.2.1.2版或更高版本,才能包含增强的RMC支持。

    虚拟机配置

    本节提供了一些使用PowerVM NovaLink创建VM以及辅助SCSI适配器和虚拟适配器的示例。

    要列出VIOS,请运行以下命令:

    root@r8r3m2Nova:~# pvmctl vios list Virtual I/O Servers +-------+----+---------+----------+------+-----+-----+--------------+ | Name | ID | State | Ref Code | Mem | CPU | Ent | +-------+----+---------+----------+------+-----+-----+--------------+ | vios1 | 2 | running | | 4096 | 2 | 1.0 | +-------+----+---------+----------+------+-----+-----+--------------+

    要创建LPAR,请运行以下命令: root@r8r3m2Nova:~# pvmctl LogicalPartition create --name r8r3m31 --mem 2048 --min-mem 512 --max-mem 2048 --proc-type dedicated --proc 1 --type AIX/Linux --sharing-mode "keep idle procs"

    请注意,在创建LPAR之后,LPAR将状态显示为未激活 。

    root@r8r3m2Nova:~# pvmctl lpar list Logical Partitions +-----------+----+-----------+-----------+-----------+------+-----+-----+ | Name | ID | State | Env | Ref Code | Mem | CPU | Ent | +-----------+----+-----------+-----------+-----------+------+-----+-----+ | novalink> | 1 | running | AIX/Linux | Linux pp> | 5120 | 2 | 0.5 | | r8r3m39 | 10 | running | AIX/Linux | Linux pp> | 2048 | 1 | | | r8r3m3a | 11 | running | AIX/Linux | Linux pp> | 2048 | 1 | | | r8r3m31 | 12 | not acti | AIX/Linux | 00000000> | 2048 | | | +-----------+----+-----------+-----------+-----------+------+-----+-----+

    要激活LPAR,请运行以下命令: root@r8r3m2Nova:~# pvmctl lpar power-on -i id=12 Powering on partition r8r3m31, this may take a few minutes. Partition r8r3m31 power-on successful.

    激活LPAR后,请注意状态显示为running 。

    root@r8r3m2Nova:~# pvmctl lpar list +-----------------+----+---------------+-------------+---------------+-------+-----+------+ | Name | ID | State | Env | Ref Code | Mem | CPU | Ent | +-----------------+----+---------------+-------------+---------------+-------+-----+------+ | novalink | 1 | running | AIX/Linux | Linux ppc64le | 5120 | 2 | 0.5 | | r8r3m3a | 11 | running | AIX/Linux | Linux ppc64le | 2048 | 1 | | | r8r3m31 | 12 | running | AIX/Linux | Linux ppc64le | 2048 | 1 | 1 | +-----------------+----+---------------+-------------+---------------+-------+-----+------+

    创建适配器 NovaLink通过RMC与所有VIOS实例进行通信。 通信是通过内部安全的RMC网络与NovaLink主机中的中继适配器进行的。 这样可以确保没有分区间通信。 使用NovaLink,您可以创建任意数量的虚拟以太网适配器。

    要创建以太网适配器,请运行以下命令: root@r8r3m2Nova:~# pvmctl vea create -p id=12 --pvid 1 --vswitch ETHERNET0

    要列出已经创建的所有以太网适配器,请运行以下命令:

    root@r8r3m2Nova:~#pvmctl vea list Virtual Ethernet Adapters +------+------------+------+--------------+------+-------+--------------+ | PVID | VSwitch | LPAR | MAC | Slot | Trunk | Tagged VLANs | +------+------------+------+--------------+------+-------+--------------+ | 1 | ETHERNET0 | 12 | E267FB1D82C6 | 3 | False | | | 1 | ETHERNET0 | 11 | 3A785CEFDAB1 | 3 | False | | | 4094 | MGMTSWITCH | 10 | 06A3C9A22079 | 4 | False | | | 4094 | MGMTSWITCH | 11 | 8E49407E5C21 | 4 | False | | +------+------------+------+--------------+------+-------+--------------+

    要创建虚拟适配器,请运行以下命令: root@r8r3m2Nova:~# pvmctl vea create -p id=10 --pvid 4094 --vswitch MGMTSWITCH

    要列出已经创建的虚拟适配器,请运行以下命令:

    root@r8r3m2Nova:~#pvmctl vea list Virtual Ethernet Adapters +------+------------+------+--------------+------+-------+--------------+--------------+ | PVID | VSwitch | LPAR | MAC | Slot | Trunk | Tagged VLANs | +------+------------+------+--------------+------+-------+--------------+--------------+ | 1 | ETHERNET0 | 12 | E267FB1D82C6 | 3 | False | | | 1 | ETHERNET0 | 11 | 3A785CEFDAB1 | 3 | False | | | 4094 | MGMTSWITCH | 12 | 06A3C9A22079 | 4 | False | | | 4094 | MGMTSWITCH | 11 | 8E49407E5C21 | 4 | False | | |------+------------+------+--------------+------+-------+--------------+--------------+

    RSCT对PowerVM NovaLink的支持

    可以自动建立PowerVM NovaLink及其LPAR之间的管理域形成(在使用PowerVM NovaLink创建新的LPAR之后)。 该支持与传统HMC和LPAR中RSCT的当前用法相匹配。 但是,您需要对RSCT组件进行较小的更新,以确保PowerVM NovaLink和LPAR之间通过IPv6链接(本地地址)进行通信。

    对于管理域的形成,将NovaLink连接到独立HMC时,将发生两个管理域。 第一个是作为MCP的HMC,它既管理NovaLink及其LPAR,又一个作为NovaLink,作为仅管理其LPAR的MCP,如图5所示。

    图5. MCP及其LPAR之间的管理域形成

    您需要在RSCT中进行以下更改以支持PowerVM NovaLink:

    自动在PowerVM NovaLink及其LPAR之间建立管理域结构 通过IPv6链路本地地址在PowerVM NovaLink和LPAR之间建立通信

    RTAS数据

    在由NovaLink管理的LPAR上,预计RTAS数据将包含在HMCAddIPv6s下列出的IPv6链接本地地址,作为HMCAddIPv6s的联系点。 MDRM必须使用提供的这些IPv6链接本地地址来形成NovaLink及其自身之间的管理域。

    运行以下命令以显示RTAS数据:

    root@r8r3m39:~# /usr/sbin/rsct/bin/getRTAS Number of RTAS slots in use: 1 9:HmcStat=1;HscName=1*828422A*10D71CT;HscHostName=r8r3m2Nova;HscIPAddr=fe80::8426:6ff:fefe:5481RMCKey=6825ba91d99d6dfd;RMCKeyLength=8;HscAddIPs=192.168.128.1,9.3.207.138;HMCAddIPv6s=fe80::848f:d4ff:fe84:8172,2002:903:15f:180:848f:d4ff:fe84:8172;

    当前,为了在管理域和对等域群集中支持RSCT,要求节点能够通过IPv4地址或IPv6全局地址进行通信。 但是,为了在PowerVM NovaLink环境中支持RSCT,RSCT必须支持使用IPv6链路本地地址进行通信。

    诸如Phoenix Reliable Messaging(PRM)和RMC API之类的RSCT组件用于形成和维护管理域,需要对其进行修改以支持IPv6链接本地地址。

    管理领域

    在形成管理域之后,在NovaLink上运行的RMC / MDRM需要继续监视LPAR的健康性和活动性。

    有关与不同交换机进行通信的管理域的形成,请参考以下示例。 如果其中一个交换机中断,则RSCT将使用其他通过IPv4或IPv6地址的交换机来处理NovaLink及其LPAR之间的通信。

    示例1:当交换机(0)断开时,MCP(NovaLink)与受管节点(LPAR)之间的接口通信通过交换机(1)接口进行。

    从MCP(NovaLink)到受管节点(LPAR)的管理域状态: root@r8r3m2Nova:~# /usr/sbin/rsct/bin/rmcdomainstatus -s ctrmc -a IP Management Domain Status: Managed Nodes I A 0xaa6a3aa4e7d0cddd 0008 fe80::4a3:c9ff:fea2:2079 (C) 10.40.1.216 (C) fe80::e067:fbff:fe1d:82c6 (C) fe80::c0ac:93ff:fe42:6069 (C) 2002:903:15f:180:e067:fbff:fe1d:82c6 (C) 从受管节点(LPAR)到MCP(NovaLink)的管理域状态: root@r8r3m31_lpar:~# /usr/sbin/rsct/bin/rmcdomainstatus -s ctrmc -a IP Management Domain Status: Management Control Points I A 0x5dea90a1b9cccc29 0001 fe80::8426:6ff:fefe:5481 (C) 9.3.207.138 (C) fe80::848f:d4ff:fe84:8172 (C) fe80::848f:d4ff:fe84:8172 (C) 2002:903:15f:180:848f:d4ff:fe84:8172 (C)

    I –表示该节点正在管理域中运行。

    A-表示没有消息排队到指定节点。

    示例2:当交换机(1)断开时,MCP与受管节点之间的接口通信是通过交换机(0)接口进行的。

    从MCP(NovaLink)到受管节点(LPAR)的管理域状态: root@r8r3m2Nova:~# /usr/sbin/rsct/bin/rmcdomainstatus -s ctrmc -a IP Management Domain Status: Managed Nodes I A 0xaa6a3aa4e7d0cddd 0008 fe80::e067:fbff:fe1d:82c6 (C) 10.40.1.216 (C) fe80::4a3:c9ff:fea2:2079 (C) fe80::c0ac:93ff:fe42:6069 (C) 2002:903:15f:180:e067:fbff:fe1d:82c6 (C) 从受管节点(LPAR)到MCP(NovaLink)的管理域状态: root@r8r3m31_lpar:~# /usr/sbin/rsct/bin/rmcdomainstatus -s ctrmc -a IP Management Domain Status: Management Control Points I A 0x5dea90a1b9cccc29 0001 fe80::848f:d4ff:fe84:8172 (C) 9.3.207.138 (C) fe80::8426:6ff:fefe:5481 (C) 2002:903:15f:180:848f:d4ff:fe84:8172 (C)

    IPv6链接本地地址始终与作用域ID相关联。 一些C API(例如getnameinfo等)支持作用域ID。 但是,此支持仅限于少数平台(AIX不是其中之一)。

    使用链接本地地址进行编程将涉及在调用bind函数时要填写的sin6_scope_id 。 但是,如果使用in6addr_any填充sin6_addr ,则无需提供它,例如: serveraddr.sin6_addr = in6addr_any;

    远程地址的范围ID

    但是,诸如AIX之类的平台不支持getnameinfo函数中的NI_NUMERICSCOPE标志。 因此,提出了一个新的库接口来查找给定远程IPv6链接本地地址的本地作用域ID。

    对RSCT(在管理域中)的本地链接地址的支持需要在不同组件中进行以下更改。

    资源管理控制(RMC)

    到目前为止,如果发现RMC守护程序正在LPAR(AIX / PowerLinux)上运行,它将启动RTAS查找线程( poll_RTAS函数)。 该线程执行常规RTAS查找,以将MCP配置中的任何更改通知MDRM。

    同样,如果发现它在MCP上运行,它将启动getcimstatus循环以启动必要的受管节点域清理,将Central Electronics Complex(CEC)密钥推入RTAS(对于每个新的CEC),并建立内部分区缓存表。

    在getcimstatus循环期间,MCP需要确定是否将传统HMC连接到NovaLink。 如果已连接,则需要启动RTAS线程以允许其由HMC管理。 继续驱动getcimstatus循环,以使NovaLink成为到目前为止创建的LPAR和要创建的LPAR的MCP。 在将节点或有关受管节点的IP配置添加到PRM时(使用PrmDRCCAddNode / PrmDRCAddIP ),如果发现受管节点正在使用链接地址,则RMC将发现与远程链接本地地址关联的本地作用域ID和将其提供给PRM。

    RMC API

    RMC API提供了用于打开与远程RMC子系统的会话的会话接口。 RMC API可以联系远程RMC子系统以启动会话。

    可以将IPv6链接本地地址与作用域ID一起指定,格式为<ip address>%<scope> 。 范围可以是数字索引或接口名称。 但是,有时在没有为“名称”提及范围ID的情况下,会话API将能够使用库函数来发现适用的范围ID。

    管理域资源管理器(MDRM) 现有设计

    作为启动公共密钥交换协议的一部分,在LPAR上运行的MDRM通过RTAS字段(例如HscIPAddr , HscAddIPs和HMCAddIPv6s收集MCP / HMC的所有IP地址。 将为步骤(1)中收集的每个IP地址打开一个RMC会话。 如果成功,将找到使该会话成为可能的本地适配器的IP地址。 收集完所有本地IP地址(在步骤2中提到)后,该信息将发送到MCP / HMC。 现在,在MCP / HMC上运行的MDRM收集了LPAR的IP地址(在步骤3中提到),每个LPAR都使用该IP地址启动RMC会话并标识用于该会话的本地适配器的IP地址。 在HMC / MCP上运行的pOnePublicKeyExchange通过调用pOnePublicKeyExchange类将在步骤(4)中收集的本地适配器的IP地址发送到LPAR。

    MDRM中提出的更改,以与IPv6链接本地地址配合使用

    总体设计中,在MCP和受管节点之间交换IP地址不会发生其他更改。 要启动公钥交换协议,首先要打开一个RMCAPI会话,其中RMC在HMC上运行,并在RTAS数据中提供一个链接本地地址。 由于在RTAS数据中未提及作用域ID,因此MDRM将在启动mc_timed_start_session会话之前发现或获取作用域ID。 MDRM必须避免读取NovaLink的RTAS数据(如果NovaLink由传统的HMC管理),因此可以避免创建循环依赖项。

    凤凰城可靠消息(PRM)

    RMC使用绑定的套接字初始化PRM。 该套接字与“ in6addr_any”绑定,因此,不需要使用链接本地地址在PRM中进行任何更改即可从远程节点接收消息。 但是,在使用IPv6本地链接地址发送消息时,PRM中需要更改PRMAPI。

    PRM API更改

    当需要将新节点添加到管理域时,RMC使用称为PrmDRCAddNode的PRM接口,需要对其进行更改。

    如果作为pIPAddr的一部分提供的任何远程IP地址是有效的IPv6链接本地地址,则RMC会发现该远程地址的所有适用范围ID,并将它们作为scope_ids一部分提供。 对于非IPv6链接本地地址, scope_ids设置为null, no_of_scope_ids设置为零。

    结论

    您可以使用PowerVM NovaLink(类似于HMC)来配置,管理,监视LPAR和接口并与之通信。 但是,通过对PowerVM NovaLink启用RSCT,您可以通过IPv6链路本地地址自动在PowerVM NovaLink及其LPAR之间建立管理域形成。

    翻译自: https://www.ibm.com/developerworks/aix/library/au-aix-enabling-RSCT-as-clustering-software-trs/index.html

    相关资源:微信小程序源码-合集6.rar
    Processed: 0.013, SQL: 9