3.3 小型机下移x86服务器的资源转换方案
小型机下移x86服务器的项目中,有一项很重要的工作,就是要找到适合待下移系统的x86服务器资源配置转换方案。其意义是为了贴近小型机下移x86服务器项目的目标和要求,设计出满足下移资源需求的资源配置,而又不能过度升级造成资源浪费。配置成型后以其为标杆,按照不同的资源选择策略,应用到不同类的系统中去。
3.3.1 x86服务器资源转换原则
在制订这些服务器配置套餐前,首先要做的是分析待下移系统的现状,并结合项目要求,明确小型机资源转换的配置原则如下。
(1)前面也曾提到,应用服务器由于对主机计算资源的需求相较数据库服务器来说不大,且应用多为集群方式部署,每个应用程序主机不会配置过多的应用服务器,往往都是通过横向扩展方式部署在应用集群中。因此,对于应用服务器,主要选择虚拟化配置套餐。例如,IBM WAS、MQ和Web服务器IHS等。
(2)数据库服务器主要有两类选择。针对数据量和未来数据增长量均小于300GB的非I/O敏感型的数据库,且在测试中的TPS和平均业务响应时间能满足未来3~5年的业务发展需求时,应考虑数据库虚拟化。而针对超过300GB或I/O敏感型的数据库,应该选择x86物理主机部署方式。
(3)数据存储方面,也带来两种选择。针对应用程序统一使用虚拟化部署,宿主机将采用本地磁盘方式部署。数据库方面,针对具备较强高可用能力的数据库高可用部署架构,可以采用本地磁盘方式部署。而针对只能采用存储复制方案实现数据库高可用的数据仓库类应用来说,应该选择共享存储的方式。并通过存储级复制解决同城或异地数据容灾的问题。
(4)内存方面差异并不大。中间件方面,选择虚拟机配置,内存为64GB。数据库方面,针对小于300GB数据量的数据库,选择虚拟机配置不应超过64GB内存。对于物理机不超过256GB内存。x86物理内存一般都会配置比现有小型机的容量大,具体按服务器选型配置套餐即可。
(5)网络方面,做了两方面的改造。一是将原有老系统的千兆网络统一升级为万兆网;二是对应用和数据库进行智能DNS改造,这给高可用架构的优化打下基础。
3.3.2 x86服务器资源转换方案
结合多方调研数据和实测数据分析,以x86资源转换为原则,最终定制出“高、中、低”三类服务器配置套餐,如表3-3所示。
之前也曾介绍了新一代拥有最强劲性能的Intel至强CPU铂金版,它最高拥有8路的高配置,更像一头“猛兽”,它的性能和一些辅助技术十分耀眼。但经过前期测试和充分调研,依照目前待下移系统的数据量和业务增势,采购铂金版的性价比太低,反而金版的5118性价比还比较不错。虽然该配置在金版CPU中也不算最高配置,但它拥有4路12核24线程,最大睿频3.2GHz,从后续的测试数据来看,这基本够用了。
表3-3 服务器资源转换配置套餐
中配置套餐中的银版4116 CPU与5118相比,4116只有2路12核24线程,最大睿频3GHz,性能略逊于5118。主频要求不高或系统负载不高的应用可以选择该配置套餐。在x86服务器CPU的选型上,我们准备了许多测试场景,例如,按应用消耗CPU资源类型划分的消耗主频型、线程消耗型、混合消耗型三类,做了很多测试工作,最终才选择了SkyLake金版和银版,分别作为中高配置。总之一句话:“没有最好的,只有最适合的”。而对于虚拟机方面,同样采用金版5118作为宿主机的资源配置,而虚拟机采用各系统按需划分的策略。
存储方面,遵循x86服务器资源转换原则,在x86服务器上有以下两种配置选择。
第一种,针对大型数据仓库类的应用选择共享存储作为数据持久化的主要介质。我们的ODS系统就属于此类应用,在系统下移x86服务器后,存储方面由原来的EMC存储,统一更换为华为的18800的全闪阵列,从存储角度来讲也算是一项重要提升了,这对于数据库的随机I/O读写都有较大优化。
第二种,考虑在小型机下移x86项目中开始试点使用本地磁盘的高可用部署架构。应用采用集群化部署,这是较为常见的配置。而数据库采用本地磁盘(SSD)的部署方式并不多见,这个思路来源于我们MySQL数据库的常规高可用部署方案,对于生产环境依旧占比较高的Db2数据库在配置高可用容灾恢复(HADR)的情况下依然适用。从机房布线和主机维护管理方面也是有较大优势,因为取消存储部署后,会省去很多相关工作。但从性能方面很难用经验来评估,随后,又组织了本地磁盘与共享存储在Db2 HADR架构下的性能对比测试,总结如下。
(1)从性能对比测试结果来看,基于本地磁盘构建数据库级主从复制的高可用架构具有较强的优势。由于x86本地盘多数采用RAID-1或RAID-6,基本忽略RAID写惩罚。相较存储也不会与其他系统共用磁盘,亦不会经过SAN,所以性能会优于存储。
(2)x86物理机本地磁盘统一配置为SSD磁盘,该类磁盘都会出现写磨损(颗粒损耗),寿命与写磨损的次数有关。对于数据库日志属于频繁顺序写,故需要有提前预警手段防范于未然。因此,我们将通过带外监控方式对磁盘寿命进行监控,及时更换风险磁盘。
(3)高可用方面,本地磁盘不如存储。相较存储的故障率较高,因此对于部署在本地盘的数据库相较部署在存储上的出现“部分写”(数据库专业上叫Partial Page Write)的概率相对偏高。但由于主库与备库同时磁盘损坏的概率极低,因此该劣势并不突出。
综上所述,x86服务器配置本地磁盘的部署方案在部分场景还是有用武之地的。所以,综合考虑待下移系统的数据量、业务类型、技术架构等方面,凡是应用程序可以通过集群化部署,且系统对同城RPO要求不能为0,数据量不超过3TB的非数据仓库类应用都可以部署在本地磁盘上。
表3-4列示了IBM Power小型机对标x86服务器的硬件映射关系。综合实测数据和资源分析,为了最大限度保证服务器性能,IBM Power小型机CPU 1核可以用x86服务器3~4核代替。
表3-4 小型机对标x86服务器硬件资源映射表
将6核的小型机作为一个分水岭,大于6核的数据库服务器,全部采用x86物理机高配置套餐来代替;低于6核的数据库服务器选择中配置套餐;数据量较小且能通过虚拟化转换测试的数据库可以采用虚拟化套餐。
3.3.3 商业汇票系统资源转换结果
3.3.2节介绍了x86服务器资源转换方案,并结合实际情况,总结了资源映射表。随即,我们就可以通过映射表来转换商业汇票系统的服务器配置。目前,该系统数据库服务器配置为8核64GB内存,根据资源转换方案,将用x86物理机高配置套餐来代替小型机。应用服务器和消息中间件将单独部署到虚拟机中。详见表3-5。
表3-5 商业汇票服务器资源转换结果