IBM PureApplication System V2.0引入了对多系统管理和部署的支持。 通过将多个PureApplication Systems添加到管理域,您可以跨域中的系统执行目录和用户管理。 在管理域中,您可以创建一个或多个部署子域。 部署子域使模式和共享服务可以跨多达四个系统部署。 多系统管理和部署提供了额外的灵活性,从而简化了诸如IBMWebSphere®Application Server,IBMDB2®和IBM Business Process Manager之类产品的高可用性实施。
本教程可帮助您使用IBM PureApplication System设置管理域和部署子域。 您将了解设置管理域和部署子域的要求。 您还将了解使用部署子域部署模式时适用的限制。 该信息为您在计划多系统IBM PureApplication System实现中提供了明智的开始。
在设置域之前,请确保在所有IBM PureApplication Systems上安装了2.1.0.0临时修订1或更高版本。 本文列出了一些新版本中提供的其他功能。
通过模式部署某些IBM产品时,多系统部署可以带来明显的好处。 当然,您至少需要两个PureApplication Systems才能启动。 在部署第一个多系统之前,必须设置以下各项:
当外部管理的环境概要文件准备就绪时,您可以使用该环境概要文件执行多系统部署。
图1显示了具有两个部署子域的管理域的示例。
设置管理域和部署子域时,以下规则适用:
在实施系统之前,请务必仔细考虑设置所需的条件 。 存在管理域后,如果该系统也是部署子域的一部分,则无法从那里删除系统。 此外,如果不删除子域,则无法从部署子域中删除系统。 要删除子域,必须首先删除该子域中部署到外部管理的环境配置文件的所有模式实例和共享服务。 即使虚拟机仅在子域中的一个系统上的外部管理的部署,此要求也适用。
在创建PureApplication管理域之前,让我们检查一下网络和安全要求。
PureApplication系统必须先配置其他系统管理IP地址,然后才能将其添加到域中。 这些地址用于已部署虚拟机的工作负载管理; 作为外部云组配置的一部分,在外部管理的云组和环境配置文件中更详细地说明了它们的使用。 这些其他IP地址在“ 系统>网络配置”页面上的“通过外部网络进行云管理的其他IP”部分中进行配置 。
PureApplication System型号W1500和W2500必须配置一个额外的IP地址,如图2所示。 PureApplication System型号W1700,W2700和W3700必须配置四个其他IP地址。 在这两种情况下,都必须在与现有系统管理IP地址相同的子网中定义新地址。 其他管理地址必须仅是IPv4地址。
您必须确保管理域中的PureApplication Systems(或PureApplication Software安装)在所有系统管理IP地址之间共享IP连接。 如果系统管理VLAN之间有防火墙,请确保允许端口22、443、1191和49300–49320上的ICMP通信和TCP通信。
图3显示了在计划包含两个PureApplication Systems的域时所需的内容。
缺省情况下,PureApplication Systems配置为信任由IBM预安装的IBM自签名控制台SSL证书。 如果为控制台配置了自己的SSL证书,则必须将该证书导入域中所有其他系统的信任库。 图3显示了在包含两个PureApplication Systems的域中此配置的外观。
使用以下过程将控制台证书导入到域中所有其他系统的信任库中:
$ bin/pure -h hostnameA -u user -p password -c "print admin.racks[0].location_name"
1000056
$ bin/pure -a -h hostnameB -u user -p password -c
"deployer.peercertificate._import({'certfilepath':'systemA.crt','peername':'1000056'})"
$ bin/pure -a -h hostnameC -u user -p password -c
"deployer.peercertificate._import({'certfilepath':'systemA.crt','peername':'1000056'})"
必须将管理域中的所有系统配置为使用LDAP并使用相同的LDAP配置。 您可以在System> System Security下配置安全性,如图4所示。
有效地,此配置使系统具有用于用户身份验证的共享信任权限。 大多数子域活动(例如复制工件或部署模式)都需要LDAP用户,如图5所示。
尽管用户身份验证在域中的系统之间共享,但是基于角色的用户权限(授权) 在每个系统本地管理; 用户角色必须在域内的每个系统上手动分配。
假设用户在该系统上具有足够的权限,则域管理操作可以由本地用户执行。
要将系统添加到域,您必须在执行添加操作的系统上具有完全安全性和完全硬件管理权限。 您还必须在要添加到域的系统上提供具有完全安全性和完全硬件管理权限的用户凭据。 将系统添加到域中会在系统与域中所有其他现有系统之间建立信任关系。
所有其他域和子域操作(创建子域,将系统添加到子域,删除子域,从域中删除系统)仅需要硬件管理权限,并且仅在执行该操作的系统上需要。
目录内容可以在同一管理域内的系统之间传输和同步。 这些操作可以从Web控制台或通过命令行界面驱动。 但是,此功能仅限于虚拟映像,脚本包和附加组件。 因此,例如,将需要手动导出和导入虚拟系统模式。
在逐步升级系统时,您的域和子域可能具有不同版本级别的系统。 PureApplication System 在某些限制下支持此配置。
特定于PureApplication System版本的其他注意事项已记录为发行说明。 请参阅PureApplication V2.1.0.0的 共存要求和PureApplication V2.2的共存要求 。
系统与部署子域中的已部署实例之间进行了高度的协调和通信。 因此,许多先决条件,配置要求和限制都适用于您的部署子域。
子域中的PureApplication Systems以镜像关系存在:它们实时共享有关已部署实例的信息。 子域中的两个系统充当镜像并存储数据的独立副本。 子域中的任何其他系统仅充当共享数据的客户端。 此数据存储在一个名为SubdomainData的新LUN(逻辑单元号)中,该子 LUN在完成子域创建时在每个镜像系统的主存储节点上创建。 在每个系统上至少必须有512 GB的可用空间,然后才能将其添加到子域。 您可以通过选择硬件>存储设备来验证可用存储容量。 一个示例如图7所示。
由于子域通信的延迟限制,请勿将子域中的系统放置在相距300公里以外的地方。 镜像关系还要求您提供一个外部iSCSI目标以充当决胜对手。 此决胜者使镜像系统能够建立仲裁,以防它们之间失去通信。 iSCSI目标的最小大小必须为1 GB,并且要遵循与系统相同的距离和延迟建议。
决胜局用于建立仲裁。 因此,如果子域中的系统具有单独的电源和子网,我们建议您将决胜局放置在第三个电源和网络上。 您的防火墙还必须允许PureApplication Systems上的主要,辅助和浮动管理IP地址与iSCSI目标的至少一个IP地址之间的iSCSI通信(TCP端口860和3260)。 请注意,PureApplication尝试在实际将子域设置为iSCSI目标之前对其ping iSCSI子域。 因此,您还需要确保ICMP流量可以到达iSCSI目标主机。 图8说明了系统与决胜局之间的连通性。
如果两个镜像系统都无法访问仲裁服务器,但仍然可以相互通信,则不会影响子域的可用性。 如果系统之间失去通信,但可以与决胜局通信,则获胜的系统仍然可以代表自己和仍然可以连接到它的任何客户端系统维护子域。 在子域不可用的系统上,不允许部署到外部环境配置文件:现有部署无法扩展,不能发布新部署,也不能删除部署。
在内部镜像上存储和共享的部署数据,无论是在系统存储控制器上静态存储还是在系统管理IP地址之间进行镜像时,都不会进行加密。 此数据包括系统用来管理已部署实例的安全密钥。 确保为系统规划足够的物理安全性,为传输中的数据规划足够的网络安全性。
管理域及其部署子域是通过PureApplication Web控制台配置的。 选择System> Management Domain Configuration ,然后单击Create Deployment Subdomain ,如图9所示。
创建子域之后,可通过将其拖放到子域中,或单击子域中的“ 添加位置”来将其添加到您的PureApplication Systems中。 将第二个系统添加到子域时,系统将提示您配置iSCSI仲裁器,如图10所示。(请注意,此处的用户名和密码是可选的。)
配置iSCSI仲裁服务器后,系统将完成几分钟的子域创建。 完成后,部署子域如图11所示。
在PureApplication System V2.0之前,已为每个云组自动配置了内部IPv6管理VLAN。 此VLAN用于PureSystem管理节点(PSM)与VM之间的通信,也用于共享服务与VM之间的通信。
为了支持多系统部署,V2.0中引入了外部管理的云组。 这些云组不使用内部IPv6 VLAN进行管理通信,而是使用外部管理VLAN。 部署子域内系统之间的管理通信需要此外部VLAN。
PureApplication System继续完全支持内部管理的云组。 尽管多云和多系统部署需要外部管理的云组,但与内部管理的云组相比,它们具有一些局限性,如此处所述。 由于这些限制,请务必评估您的部署需求,并仔细计划将计算节点分配给内部或外部管理的云组(或两者)。 您无法将现有的云组从一种管理类型转换为另一种管理类型。
在创建外部管理的云组之前,您需要在网络内设置一个外部VLAN并将该VLAN配置为连接到PureApplication System。 您还需要为该外部管理VLAN创建一个IP组和一个特殊的环境配置文件。
使用外部管理的云组时,PureSystems Managers必须能够通过VLAN访问已部署的虚拟机,以进行外部云组管理。 要设置此访问权限,必须向PureApplication管理网络公开其他管理服务。 服务必须能够从该外部网络访问外部云组管理网络。 通常,您必须在数据中心网络内的这些VLAN之间设置路由。
除了(浮动)系统控制台IP地址之外,还必须在PureApplication管理网络中为工作负载控制台配置IPv4地址。 使用PureApplication System型号W1700,W2700或W3700时,必须为DLPAR管理分配另外三个IPv4地址。 必须在现有的PureApplication管理网络中定义新的IPv4地址。 也就是说,使用与原始(浮动)系统控制台IPv4地址相同的网络和子网。
在将系统添加到管理域之前,您已在“ 其他IP地址”中定义了这些其他管理地址。
图12中的图显示了系统管理VLAN上的管理IP地址如何与已部署的虚拟机交互。 请注意,在数据中心网络内的系统管理VLAN和云组管理VLAN之间需要路由。
在创建新的外部托管云组之前,必须定义至少一个用于 Cloud Management的 IP组。 定义这样的IP组与定义用于数据的IP组没有什么不同; 这是一个普通的IP组。 图13显示了如何定义用于Cloud Management的IP组。 请记住将其分配给您先前定义和配置的云组管理VLAN。
在Web控制台中,您可以看到此新IP组确实用于Cloud Management。 您可以在图14中看到一个示例。
虚拟机的默认路由通常分配给第一个数据接口(eth1或en1)。 因此,您现在必须为管理接口eth0或en0配置其他路由,以确保管理流量不会通过eth1或en1进行路由。 您可以将其他路由定义为IP组定义的一部分。
您必须为每个Cloud Management IP组配置以下路由:
您无需配置到远程系统的系统管理网络的路由。
如前所述,第3层网络路由必须在各个VLAN之间的数据中心网络内进行。 图15显示了两个PureApplication System的路由情况。 以下VLAN必须具有适当的路由:
从图15中可以看到,还必须确保这些VLAN之间允许某些网络通信。 此要求意味着,如果在VLAN之间放置了防火墙,则需要在防火墙中打开端口。 设置此通信会使实现复杂化,因此这就是我们在此处列出所需的特定协议,端口和方向的原因。 我们不讨论两个数据VLAN(“ D1”和“ D2”)之间的通信。 这种通信在很大程度上取决于您正在整个部署子域中部署的实际模式。
考虑到这一要求,我们强烈建议在可能的情况下跨PureApplication Systems使用“拉伸” VLAN。 网络团队经常在数据中心之间提供扩展的VLAN。 使用扩展的云管理和数据VLAN可以大大简化多系统实施。 鼓励使用扩展的管理VLAN以获得一致性。
您可以使用随附的示例Python脚本validateRouting.py来验证外部管理的环境配置文件引用的所有管理IP组的路由配置。 只要脚本可以访问PureSystems Manager的浮动地址,就可以从任何系统运行该脚本。 因为此脚本使用环境配置文件来推断哪些IP组需要相互路由,所以您需要在运行之前创建和配置环境配置文件。 通过使用至少具有“查看所有工作负载资源”和“查看所有硬件资源”权限的LDAP用户ID运行此脚本。 您可以使用此脚本在单个系统和多系统子域上测试外部管理配置。 如果要测试多系统子域,请分别验证所有系统。
为简单起见,请使用PureApplication命令行界面。 清单1显示了如何运行Python脚本。 如果找不到预期的路由,脚本将报告警告,如果所有预期的路由都已正确配置,则脚本将报告成功。
C:\Tools\pure.cli\bin>pure -h intel-system-2 -u admin -p ********
15 -f C:\Temp\validateRouting.py
Checking profile ExtMgdTest
Checking profile RedBook HADR External
Checking profile RedBook-External-R1R4
Checking profile Redbook-External-R1R4 w10.x.x.x
SUCCESS
另外,请记住,需要满足对端口和协议的特定要求。 请参阅相关主题的详细信息。
创建外部管理的云组时,请勿选择VLAN ID。 相反,您将创建一个或多个IP组,这些IP组指定用于Cloud Management,而不是Data。 这些IP组用于将IPv4地址分配给这些云组中部署的虚拟机的管理接口。 与用于数据流量的IP组一样,云管理IP组中的地址必须在DNS中定义了正向和反向查找。
系统不对用于管理IP组的VLAN实施任何要求。 您可以创建仅用于VM管理的新VLAN,也可以与数据IP组共享VLAN。 无论如何,除非您为外部管理的云组定义IP组(包括管理和数据),否则它们不会被标记为可用。
要部署到这些外部管理的云组,您还必须创建引用这些云组的外部管理的环境配置文件。 您不能将内部管理的云组与外部管理的环境配置文件混合使用,反之亦然。
外部管理的环境概要文件是用于多系统部署的系统之间的集成点。 您可以将来自子域中任何系统的外部管理的云组添加到外部管理的环境配置文件中。
无论是将它们部署到单个系统还是跨多个系统,部署到外部管理的环境配置文件都取决于某些激活和接口更改。 这些更改建立了外部管理的网络接口,并在单个已部署实例中引用了多个系统和云组。 因此,只有较新的模式内容才支持部署到外部管理的环境概要文件。 适用以下限制:
CWZKS0417E: Failed to deploy because one or more virtual images do not support multi-target deployment.
当您在子域中的多个系统上部署模式时,模式本身仅需要存在于部署系统上。 但是,对于放置在系统上的每个虚拟机,该系统必须已经包含该虚拟机所需的所有模式工件的精确副本:虚拟映像,脚本包,模式类型,插件,软件组件,Installation Manager存储库,等等。 系统会验证此内容,作为其安装建议和验证的一部分,但Installation Manager存储库内容除外。 您可以使系统选择所有虚拟机的位置,也可以自己选择位置。
由于外部管理的部署可以跨越多个云组,因此在这种情况下,将共享服务的使用范围限制到单个云组是没有意义的。 相反,当您部署到外部管理的环境配置文件时,共享服务关联将在环境配置文件而不是云组的范围内建立。 因此,当您使用外部管理的环境配置文件时,每个配置文件都需要一个共享服务实例。 共享服务实例可以帮助将应用程序彼此隔离,甚至可以将生产与非生产环境隔离。 图17说明了内部和外部管理的环境概要文件的范围差异。
此注意事项适用于所有外部管理的环境配置文件,无论您的系统是否是部署子域的一部分,并且无论您的环境配置文件当前是否包含来自多个系统的云组。 仔细计划您的外部管理的云组和环境配置文件配置,以避免所需的共享服务部署数量成倍增加。
为了确认系统之间的用户身份,所有可能跨越多个系统的与工作负载相关的操作都需要一个LDAP用户。 Therefore, in addition to needing the appropriate access to be granted on each system, you must also be logged in as an LDAP user to create, view, or manage externally managed profiles – and to create, view, or manage deployments to these profiles. All of these resources are hidden from non-LDAP users, regardless of those users' access levels and roles. Access controls for multisystem environment profiles and deployments are automatically synchronized between the systems in the subdomain.
Multisystem deployment provides a foundation for high availability of pattern instances across systems or data centers. However, this availability depends on the design of your application and any services it is using. The application and its services must be properly designed and configured to support high availability to tolerate the loss of access to the virtual machines on one system.
When a virtual machine fails, if that virtual machine is considered nonpersistent, the system, in many cases, attempts to recover it by cloning a new virtual machine. For multisystem deployments, this recovery is only attempted on the same system as the original failing virtual machine. Background information on persistent and nonpersistent virtual machines is documented in the PureApplication IBM Knowledge Center .
Horizontal scaling for a multisystem deployment attempts to roughly balance the virtual machines across the cloud groups and systems. Beginning with PureApplication V2.2, horizontal scaling can scale new virtual machines to cloud groups or systems on which an instance of the virtual machine was not originally deployed, if the location has all necessary artifacts and capacity. Before PureApplication V2.2 horizontal scaling could scale only within cloud groups or systems on which an instance of the virtual machine was already deployed.
An entity that is called the shared service registry provider exists for each shared service only on the system from which the shared service deployment was initiated. Therefore, if this deploying system is temporarily unavailable to the subdomain, new shared service clients cannot connect to the shared service. New clients cannot connect to the shared service even if the shared service VMs on the remaining systems are still able to service clients, and even if the client VMs are all on the surviving systems.
This article explained how to configure a multisystem domain and subdomain, and how to configure all of the other resources needed for multisystem deployment, including IP groups, cloud groups, and environment profiles. You learned about the requirements and restrictions for multisystem deployment to better prepare you for planning your multisystem implementation.
翻译自: https://www.ibm.com/developerworks/websphere/techjournal/1506_vanrun/1506_vanrun-trs.html