生产环境使用PowerVM虚拟化,这些规划设计经验可以有效避免风险、保证性能

-回复 -浏览
楼主 2020-06-29 15:08:02
举报 只看此人 收藏本贴 楼主

Power支撑的都是企业的关键系统。虚拟化前一台生产物理机一般只运行一个系统,虚拟化之后一台物理机可能运行多个系统,做Power虚拟化之后生产环境的稳定性怎么保证呢?很多关键系统对性能要求很高,做Power虚拟化之后会不会影响性能? 

不少会员对Power虚拟化技术在生产环境使用的高可用性和高性能有顾虑和担忧。实际上,如果在规划阶段重视合理设计,可以有效避免可用性和性能的风险问题。以下若干经验、方法、知识可供大家参考使用。

  • PowerVM虚拟化如何通过合理规划网络,既提高网络高可用,又提升整体网络带宽,避免业务高峰流量拥塞?

  • PowerVM虚拟化如何合理设计及规划业务网络、数据传输网络和带内管理网络?

  • PowerVM虚拟化中的双VIOS设计是主备还是完全双活,该如何合理设计?

  • PowerVM虚拟化中的存储路径如何规划,HBA卡如何合理分配并充分利用?

  • PowerVM虚拟化后风险集中了,如何化解风险,软件层还是物理层?

  • PowerVM设计规划过程中,如何合理规划物理机中LPAR的数量?


PowerVM虚拟化如何通过合理规划网络,既提高网络高可用,又提升整体网络带宽,避免业务高峰流量拥塞?

先来谈谈网络高可用方面:

一般来说所有物理网络adapter均分配给vios,在配备两个vios的情况下,每个vios起码需要各分配两块网卡才能保障网络高可用。

有人会说,一个vios,我就配一个网卡,网卡含有四个接口,两个端口分别接不同的网络交换机,做主备etherchannel,这样不就满足了高可用需求了么。这种方式当然可以,但作为核心应用和关键类应用,这样仅仅只能满足网络高可用,无法满足网络带宽的需求,尤其是在针对数据传输较多,需要数据共享,或者需要专门的数据备份、带内管理时,完全不够用,所以面对这种需求,每个vios两块网卡是标配,那么该如何规划和设计呢?

设计之前肯定要考虑到网络带宽提升,如何提升?实际上在做powervm时,需要整体权衡和把握的过程,而不是照搬照抄,固定不变的做法,针对每种类型的可以有不同的想法和做法。

(1)跑关键类的应用,无需共享数据,对带宽也没特别高的要求。

这种可以考虑两种,一种是双vios,每个vios双网卡,双网卡做主备etherchannel,每个网卡分别接一个网线至不同的两个网络交换机,再创建虚拟adapter,etherchannel与虚拟adapter绑定成sea,这样就基本完成了网络的高可用配置

另一种就是,每个vios一个网卡,2口/4口网卡均可,每块网卡上接两根线分别至不同的网交,在vios上创建主备etherchannel,后面的步骤和上面的一样。

两种方式的不同就是,网卡故障时,需要切换vios,切换vios也就丢1-3个包,有时甚至对业务无感知。网卡故障相对来说较少,即使故障了,也无影响,所以上面两种方式,均满足需求。

(2)跑关键类的应用,需要共享数据,需要备份网络,对带宽有高的要求。

如果有特殊的共享数据需求,那么就应该规划好业务传输网,数据共享网、数据备份网络和云管理网。上面也说了,这种只有每个vios均需要两块网卡,

每块网卡的0号口接相同的网交,第一块网卡的1号口接一个网交,在vios中搭建主主备的etherchannel,网交上配置lacp链路聚合,提升带宽,这样既满足了网络带宽的需求,又满足了高可用的需求,能够有效避免,网交故障、网卡故障、网线故障。

第一块网卡的2号口和第二块网卡的2号口,组成etherchannel,做为数据共享网络,也可以既作为数据共享网络又作为数据备份网络、云管理网络,如果还需要区分,数据共享网络和数据备份网络,可以第一块网卡的3号口和第二块网卡的3号口,组成etherchannel,作为单独的数据备份网络。如果对数据共享网络的流量需要扩展,也可以考虑和业务网络一样的方式,做成主主备方式的etherchannel,网交上做链路聚合,数据共享网络和备份网络共享一组sea

(3)跑关键类的应用,需要共享数据,需要光纤备份网络

如果是这类需求,可以考虑每个vios两块网卡,网卡为4接口网卡,2口千兆电口,2口万兆光口,2口千兆电口做为业务和数据共享网络的2组sea的需求,2口万兆光口作为单独的备份网络的一组sea的需求。

总之,基于以上的一系列做法,针对不同的场景和需求,都有对应的方式解决网络规划的问题,既提升网络高可用,又提升网络带宽,满足powervm虚拟化后多lpar共享网卡的需求,通过划分不同网络来区分业务、数据传输、管理和备份,避免流量拥塞。


PowerVM虚拟化如何合理设计及规划业务网络、数据传输网络和带内管理网络?

首先需要按照不同业务类别进行网络安全分区的划分,如银行来说,可划分为外联区、互联网区、核心区、管理区等等。然后每个网络安全分区再细分为WEB、应用、数据库、带内管理、数据传输或者备份等,每个细分分配一个或者几个VLAN,对于业务来说存在WEB、应用、数据库等VLAN,对于管理来说存在带内管理、数据传输或者备份等VLAN,在PowerVM虚拟化SEA网络设计时,应设计两个甚至三个SEA,业务SEA(多个业务VLAN做Trunk),数据传输/共享/备份SEA(多个VLAN做Trunk)或者数据传输/共享单独一个SEA(一个VLAN ACCESS)备份单独一个SEA(一个VLAN ACCESS,对于数据量较大的备份,可以考虑上万兆网络)。每个网络安全分区都这样设计,最上层再设计一个统一管理网络,实现对每个安全分区管理网络的总管。这样一来整个PowerVM虚拟化资源池的网络架构无论是性能、可靠性还是从网络安全角度、运维管理角度来说都得到了最大的满足。


PowerVM虚拟化中的双VIOS设计是主备还是完全双活,该如何合理设计?

PowerVM虚拟化中的双VIOS设计可以提升PowerVM中多个VIOC的IO可靠性,因为所有VIOC均不直接分配物理网络ADAPTER或者物理光纤ADAPTER,所有VIOC均分配虚拟ADAPTER,所有网络流量和存储访问路径均需穿透VIOS。所以VIOS的可靠性不言而喻,通常搭建双VIOS,提升所有VIOC的可靠性是标准做法。

通常来说VIOS均安装在Power小型机的内置盘中,每个VIOS做RAID10的话,需要4块硬盘来保证足够的冗余,但是内置盘后的SCSI控制器只存在一个,倘若该控制器故障,即使存在双VIOS,双VIOS均因无法访问操作系统而HANG住或者宕机,其上所有VIOC届时均会受到影响。该单点风险是无法规避的,就像有人会说,主板也是单点啊,主板上的电源稳压模块也是单点啊什么的,是的,但是基于本期的主题是核心银行POWERVM虚拟化的设计,考虑多重冗余是必须的,所以一般来说,我们的做法是将一个VIOS的操作系统安装于内置盘,另一个VIOS安装于外置存储当中,通过SAN BOOT方式启动,这样可以规避该类风险。SAS控制器故障率虽然低,但一旦故障也不容小觑,VIOS既然又如此重要,那么有办法可以规避时,当然需要考虑该类办法。

回到题目来:POWERVM虚拟化中双VIOS工作时,双VIOS是双ACTIVE工作的方式还是主备模式的工作方式呢?

答案是网络ADAPTER是单VIOS工作,也是就说SEA是主备工作方式,光纤ADAPTER是双VIOS工作的方式。所有VIOC的网络流量均走了一个VIOS,所以人们都认为虚拟化的集中式管理后,网卡性能是一个瓶颈,之前物理LPAR时代,每个LPAR都单独分配了网卡,集中之后,所有LPAR都共享该网卡,如何化解该性能问题,可参见前面两个问题的解答。

而VIOC的光纤网络的路径会通过两个VIOS出去,每个VIOC的存储访问路径均匀映射在两个VIOS上的物理ADAPTER上,所以两个VIOS的工作方式是双活,均承担了VIOC的存储访问IO流量。

当一个SEA备的VIOS故障时,其上的VIOC是不会丢失网络包,SEA主的VIOS故障时,发生VIOS主备切换时,其上的VIOC会出现非常短暂的网络丢包,通常1-3个网络包丢失后,VIOC的网络恢复。

两个VIOS中任意一个故障时,VIOC的存储访问路径丢失一半,IO性能稍许下降后恢复正常,不会出现中断情况,对业务无感知。


PowerVM虚拟化中的存储路径如何规划,HBA卡如何合理分配并充分利用?


VIOC的存储光纤网络路径究竟多少条合适?我的答案是4条,手动搭建4条为宜,性能最优,冗余性足够。倘若是通过POWERVC管理,发布出来的VIOC,那么不得已,肯定是每个VIOC 8条路径,8条也可以,但对于核心银行高性能的需求,肯定是4条,AIX的存储多路径软件在4条的情况下,负载分配的性能最优。

既然是4条路径,又是双VIOS的设计,那么每个VIOS分配HBA卡的数量和VIOC FC映射情况又该如何呢?如表所示:


可以看到,基于每个VIOS的HBA卡的数量和每块卡的光纤端口利用数量,在4条存储路径时,可以有四种不同的方案:

方案一:核心系统、关键类系统基本不推荐该方案,所有VIOC均共用了4条存储路径。

方案二:核心系统、关键类系统推荐该方案,一半VIOC共用了4条存储路径,一半VIOC共用了另4条存储路径,互不干扰。而POWERVC管理标配方案(POWERVC为8条路径,见附表方案五)中VIOC共用所有8条存储路径。

方案三:核心系统、关键类系统不推荐该方案,一半VIOC共用了4条存储路径,一半VIOC共用了另4条存储路径,互不干扰。但一块HBA卡故障可能会导致VIOS宕机(一VIOS存放于外置存储,一VIOS存放于内置盘,见PowerVM虚拟化中的双VIOS设计是主备还是完全双活,该如何合理设计?),如果是主SEA的VIOS,还会造成网络丢包1-3个,考虑最高可用性要求,不推荐。


方案四:核心系统、关键类系统推荐该方案,性能最优,如表所示,每个VIOC均映射了不同的光纤端口,实现了等同物理机一样的配置,或者对于大于4个VIOC,可以多配HBA卡。

附表:


有人会说,每条存储路径8GB,需要考虑隔离吗,路径共享会对性能有下降吗,我觉得对于核心和关键类应用来说,当然需要,尤其是想通过LAN FREE的方式备份,提升备份速度的。存储光纤带宽当然是需要考虑的因素,倘若所有LPAR均共享4条路径,那显然大数据量吞吐和LAN FREE备份势必受影响,为了减少这份担心,隔离是需要考虑的,但也不是说都要钻牛角尖,方案二也是推荐的。

另外在非POWERVC管理的方式下,按照方案二、三、四 三种方案设计的情况下,HBA光纤线路与SAN交换机的连接需要特别注意,不要导致所有VIOC的光纤路径均跑到了单一SAN交换机上,简单来说如表所示:

错误的连接关系表:

可见VIOC1的四条存储路径均跑到SAN1交换机,其他VIOC也出现同样错误,需注意!


正确的连接关系表:

每个VIOC均匀分布于SAN1和SAN2交换机上!



PowerVM虚拟化后风险集中了,如何化解风险,软件层还是物理层?


小型机一直都以稳定性和可靠性著称,核心类的、关键类的应用或者数据库均放在其上运行,之前物理机时代,各个业务系统均分布在不同的小型机上,但是在PowerVM虚拟化后,业务虚拟机一下全集中了,相对来说风险也集中了,那怎么办?一台PowerVM虚拟化的小型机故障宕机了,会影响上面的VIOC全部宕机了,该如何防范?如何规划与设计?

我的解决方案有两个方面:

1.物理层方面:

非计划防范:

(1)业务虚拟机分散部署与两台PowerVM虚拟化的小型机中。

(2)采用HA双机热备方式或者TSA双机热备方式虚拟机主机分散于两台不同的物理机中,即A物理机放置业务a主机和业务b备机,B物理机放置业务a备机和业务b主机。

计划性防范:

(1)采用动态LPAR迁移至另一物理机中,维护故障的物理机。(推荐)

(2)在好的物理机中手动新搭PowerVM环境和VIOC,直接将需迁移的LPAR的SAN BOOT卷和数据卷挂载至新搭的VIOC。(停机操作,不推荐)

2.软件层方面:

数据库:采用HA热备、ORACLE RAC、DB2 HADR+TSA甚至DB2 PURESCALE双活等来避免该风险

(1)HACMP大家都知道,扩展来说有HACMP+SVC PPRC实现跨中心热备,甚至HACMP+SVC Strech Cluster跨中心热备等

(2)ORACLE RAC ORACLE数据库双活方案

(3)DB2 HADR实现基于日志级别的DB2复制,TSA实现DB2主备的切换、和浮动IP的切换,实现主库写,备库只读,读写分离

(4)DB2 PURESCALE DB2的数据库双活方案,而且可以实现跨中心DB2双活,实际上利用了GPFS并行文件系统方式,实现跨中心两台DB2主机的数据库共享,可同时读写。该方式需要配备专门的万兆网卡实现跨中心数据复制。

应用:采用HA热备、GPFS+TSA、应用负载+GPFS、WAS集群等方式避免该风险

(1)HACMP

(2)GPFS+TSA

GPFS实现应用数据共享,TSA实现软件层双活热备

(3)应用负载+GPFS

GPFS实现应用数据共享,应用负载方式实现应用双活/多活

(4)WAS集群+应用负载

实现WAS类应用双活/多活

通过以上硬件层和软件层的解决方案,可以规避PowerVM虚拟化之后VIOC过于集中的风险,物理机宕机,实际上对业务来说并不受影响,大大降低了对物理机稳定性的要求,但是需要值得注意的是数据库无论是采用了HACMP还是TSA方式的双机热备,均需要应用是短连接的数据库连接方式,否则即使切换后,仍需重启应用,才能建立新的数据库连接,那么就起不到应有的效果。


在PowerVM设计规划过程中,如何合理规划物理机中LPAR的数量?


具体LPAR的数量是根据不同的业务类型,不同的用途来的。资源上整体上需要参考实时的整机的CPU利用率和计算内存利用率两个指标来的,整机的CPU利用率在闲时不能超过30%,计算内存使用率闲时不能超过总内存的80%,只结合CPU是片面的,只结合计算内存也是片面的,另外还需考虑VIOC的实际CPU使用率,可参考ENTC%,对于实时性业务,整机在CPU利用率小于30%,ENTC%大于500%时,需要考虑VIOC的扩大EC或者VP。综合来说物理机中lpar的数量可以到多少,真的很难回答。通常我们的做法是搭建一个大的安全分区power资源池,再结合上面几个指标综合判断是否该资源池是否可以再放置VIOC,还是需要扩容。而不是预先规划好放置多少LPAR,也很难规划,因为没有任何数据提供依据,除非在测试环境已经有详细数据提供支持。


以上内容来自“核心银行系统PowerVM规划如何保障高可用和高性能(网络直播)”,感谢社区会员jxnxsdengyu分享以上经验及方法。


点击阅读原文可以看到更多该主题下内容


长按下图二维码关注“AIX专家俱乐部”公众号

也可以直接搜索公众号名称“AIX专家俱乐部”或微信号“AIXChina”关注

我要推荐
转发到

友情链接