数据库越来越多地被使用到现代企业的生产、运营和管理中,是企业重要的IT基础设施。其中承载企业关键业务的核心数据库通常要求实现7X24小时不间断运行,以最大降低宕机带来的损失。
KunLun开放架构小型机满足关键业务对性能和可靠性的高要求。在性能方面,KunLun不仅在多项SPEC基准测试中业内知名,并且在面向联机分析处理过程(OLAP)和联机事务处理过程(OLTP)的SAP B4H和SD2基准测试中更是拿下双料冠军。在可靠性方面,KunLun开放架构小型机采用创新的RAS 2.0技术,突破性实现CPU和内存等核心部件在线不停机更换,在高可靠性方面具备超越传统UNIX小型机的能力。(RAS是可靠性Reliability、可用性Availability 和可服务性Serviceability的缩写,代表在这3个领域的技术集合。)
传统数据库中大量参与运行的数据是保存在磁盘等存储设备上的。在现代计算机的基本架构中,存储设备相对内存更远离计算机的核心运算单元中央处理器CPU:CPU访问存储设备的速率和带宽都远低于CPU访问内存时的速率和带宽。随着服务器处理器支持管理的内存容量越来越大,不少数据库厂商已经将数据库的大量运行数据持续保存在内存中进行运算和管理,这一类采用了“In-Memory Computing”的数据库大大提升了数据库的整体性能。
随着服务器可安装的内存条数目和内存容量的不断增加,企业对服务器内存子系统的可靠性的关注度也在不断提升。华为KunLun开放架构小型机不仅具备DDDC、内存备份、内存镜像等高可靠性技术,更是具备了X86业界唯一的内存在线热替换技术,该技术结合KunLun 的故障主动分析预警引擎(PFAE)技术,可使用户在内存出现早期轻微异常时就提前采取措施。内存条也和大部分电子设备一样,其故障率随时间的曲线呈浴盆形,即业界常说的浴盆曲线(bathtub curve),失效率较高的阶段为早期失效期和损耗失效期。早期的高失效阶段,KunLun通过生产测试进行过滤,保证到达用户手上的是处于低失效率阶段的内存条。对于后期的损耗失效,KunLun的内存热替换技术使得内存条在即将进入损耗失效期时就可以在保证业务持续运行的前提下进行热替换,使业务系统使用的内存一直处于低失效阶段,避免了内存连续使用进入高失效率阶段后出现严重故障甚至导致系统宕机。
▲图:失效率浴盆曲线
“开放带来加速创新”
华为KunLun开放架构小型机与世界知名的企业级Linux操作系统厂商SUSE联合发布的In-Memory应用持续运行解决方案是双方建立在开放架构、开放生态基础上的创新成果。
▲图:内存热替换功能分层架构
自KunLun发布以来,华为和合作伙伴积极构建开放生态,加速创新。内存热替换技术是系统性的复杂技术,需要处理器、BIOS固件、服务器平台,还有操作系统内核的支持。SUSE和华为在长期合作的基础上,共同向该项技术发起挑战。SUSE召集了资深的内存及ACPI专家,和华为进行深度联合开发。在SUSE正式发布的操作系统补丁中,对内存管理模块、ACPI的驱动模块做了大量底层代码的优化与加固,优化了内存热替换技术的流程。
不仅如此,华为与SUSE的In-Memory业务持续运行解决方案的联合发布,也是开放架构服务器的业界创新。以X86架构为代表的开放架构服务器正在引领技术创新的潮流,KunLun开放架构小型机不仅帮助用户加速创新的步伐,更在加速创新的同时提供业界领先的可靠性保障。
“专注业务体验提升”
KunLun的In-Memory业务持续运行解决方案不仅关注技术本身,更专注于用户的业务体验。
华为与SUSE在内存在线热替换技术上进行了长期的合作开发,一步一个脚印,从操作系统本身支持内存热替换到不同用户业务场景下的内存迁移效率优化,都进行了深入的研究和不断的创新,尤其对于“In-Memory”这类业务进行了系统性地验证和优化。
对于有潜在故障内存的在线热替换,极其重要的一个环节是将这些内存上正在运行的数据迁移到其他正常的空闲内存上,最后在内存迁移完成以后删除潜在故障内存相关的资源信息,以保证没有新的数据存放于此。操作系统和数据库对内存的使用非常复杂,特别是不同的数据库对内存的访问方式可能存在差异。华为与SUSE面向主流的数据库包括Oracle、SAP HANA等应用场景都进行了内存迁移优化,提高了单个内存页的迁移成功率,减少重试从而缩短整体的内存迁移时间。
“操作简单易于维护”
虽然内存的在线热替换是一个系统级的非常复杂的过程,但是对于用户来说,操作却是非常简单的。
当KunLun的PFAE技术检测到某个内存板发生了轻微异常,并且有演变为严重故障的趋势时,KunLun的管理页面上会出现预告警提示,这时用户只需在管理界面上找到预告警中标记的具有潜在故障的内存板对应的图标,点击图标上的热插拔按钮触发内存热移除命令,便可自动完成接下来的操作:
1. 系统固件会通知操作系统迁移潜在故障内存上的数据;2. 操作系统完成内存数据迁移后删除对应的资源管理信息;3. 系统固件删除潜在故障内存板对应的系统地址编码信息,并控制硬件系统给内存板断电。
▲图:热插拔操作界面,点击内存条图标上的圆点(状态灯)触发热插拔操作,内存热移除后状态灯由绿色(表示健康)变为蓝色(表示在位但未供电)
用户此时只需打开机柜抽出故障内存板,更换故障内存条,然后,将内存板插回到机柜中,再次点击热插拔按钮触发内存热添加命令,便可自动完成包括内存的加电、电气特性配置、系统地址分配和创建管理信息等操作。整个热移除和热添加的过程中,用户的业务都不会出现中断。
KunLun开放架构小型机不仅支持内存在线热替换,也可支持CPU的在线热替换。视频中记录了在华为实验室中进行的CPU和内存的在线热替换操作演示。