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 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
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之间建立管理域形成。