我刚进IBM的时候,听说过一个故事:一个人毕业时被迫进入了一个偏冷的部门:大机部门。
大家认为他很不走运,因为大型机软件硬件自成一体,太封闭,同行极少,没有多少人会,网上没人交流,学会东西出来一点儿用都没有,万一大机市场不行了,他绝对会失业,真惨!
可结局出乎意料,人家在大机的领域耕耘了几十年,度过了大机在中国从兴起到衰败(其实现在也没有衰败)的完整过程,然后舒舒服服地退休了!
拿着IT界的收入,享受着如同编制般的稳定,实在太爽了!
不过,这样的机会,现在再也没有了。
那么,大机究竟是什么呢?
IBM z 系列通常被我们称为大型机,Mainframe,简称“大机”。
大机以高性能,高可用性,高可靠性著称,它有一套自成体系的硬件和软件,在服务器市场中鹤立鸡群,价格也非常感人,只有超大型公司才能用得起。
我们拿2017年发布的z14来看看它的性能指标吧(最新的是z16,性能更加强悍。)
CPU主频5.2G Hz,10个核心
可以配置170个CPU
内存32TB (不是GB!)
最多支持8000个虚拟机
可以横向扩展到200万个docker容器
为什么要设计出这样的“怪物般”的机器呢?
因为这个世界上存在着一些关键业务,对平台要求极高。
几年前,调研机构Qualix Group曾有一组数字,服务器宕机1分钟,平均使运输业损失15万美元,银行业损失27万美元,通信业损失35万美元,制造业损失42万美元,证券业损失45万美元……
尤其对于银行业,如果银行系统中断1小时,将直接影响该行的基本支付业务;中断1天,将对其声誉造成极大伤害;中断2-3天以上不能恢复,将直接危及其他银行乃至整个金融系统的稳定。
必须有一种机器,在处理能力、稳定性和安全性上,满足这些需求,大型机就应运而生。
01硬件
大型机一般都在系统内集成了高程度的冗余和错误检查技术,防止系统发生灾难性问题。
大型机的每个处理器核心都有2个完全的执行通道来同时执行每一条指令。如果两条通道的计算结果不一致,CPU的状态就会复原,重新执行该条指令,结果还是不一致的话,一个空闲状态的CPU将会被激活替代当前的CPU。
独立磁盘冗余阵列(RAID)大家都听说过,可以用冗余的磁盘和条带化算法,防止数据的损坏和丢失。
图片
2010年,IBM率先把类似的理念也引入到内存当中,用部分物理内存实现磁盘RAID的功能,叫做RAIM(独立冗余内存阵列), 从而实现内存的高可用性。
除了CPU和内存外,其它的元件如内存总线、I/O通道、电源等等,都有相应的冗余设计。确保系统的高可靠性、高可用性。
即使出错,许多组件的热拔插特性也能确保系统的高服务性,在系统运行的同时被更换。
在大机中把很多软件模块都被硬件化了,比如硬件压缩卡、排序指令、向量运算指令,随机数生成器、加密硬件(AES、DES、TDES、SHA等),非常的霸气。
大机的处理器用的是自己独特z/Architecture主机架构。
IBM z14 有170个处理单元(PU),每个PU中除了我们常说的中央处理器(CPU)之外,还有集成固件处理器,集成信息处理器,内部耦合处理器等专用处理器。
这些专用处理器完成特定工作,卸下CPU的工作负载,让它专注于操作系统和应用程序。
图片
02软件
大机的操作系统也是独特的,叫z/OS。
在上面可以运行DB2, IMS(数据库),CICS(交易中间件),JVM等应用程序,当然它们也都是为大机定制的。
图片
大机也提供了强大的虚拟化能力,可以创建多个虚拟机实例,每个虚拟机运行不同的操作系统和应用程序:
图片
有意思的是无论操作系统,还是上面的应用程序,它们的收费方式很独特:用户定期上传一个报告,根据使用情况来计算软件费用。
比如MSU(Million Service Units),这是IBM z Systems上一个用于测量处理能力的度量单位,一个MSU相当于系统每秒能够执行一百万条指令。
在IBM z/OS操作系统中,许多IBM和第三方软件都使用MSU来确定许可成本。客户通常需要购买足够的MSU来覆盖其应用程序和工作负载的处理需求。
我原来所在的IBM部门,就是专门负责大机上软件的销售和费用计算的,业务逻辑很有意思。
03向后兼容性
单独把向后兼容性拎出来说,是因为对于关键业务应用来说,它实在太重要了。
它可以让大型公司平稳地升级硬件和软件,而无需重写或修改现有的应用程序。
IBM大型机的历史可以追溯到上世纪60年代,那个时候IBM通过System/360统治了计算机市场,后来虽然不断进化,但是一直保持了向后兼容性。
许多为早期系统编写的应用程序,在 50 年后仍然可以在最新的 IBM z系统上运行,无需修改。
所以我们看到很多用COBOL写的恐龙级古老应用:税收、社保、医疗保险、保单、理赔等,在大机上稳定运行了几十年,并且极有可能会继续运行下去。
图片
04结语
IBM z 系列中的z有两种说法,一种是零停机时间,一种表示终极的意思。
不管哪种说法,IBM的z系列确实做到了,这是一台终极的、不停机的计算机。
它对外的SLA承诺是7个9(99.99999%),也就是说,每年停机时间仅有3.16秒。
用这种服务器的公司都是全球的顶尖企业:
100强中三分之二的企业
10大保险公司中的8家
10大零售商中的7家
10大电信公司中的8家
这些大公司都把它作为运行最关键任务、高度安全的平台。
如果按价值计算,大型机上运行着70%的全球交易。
互联网技术蓬勃发展,很多公司用廉价的x86机器也实现了可靠性很高的分布式系统,大型机显得有些“过气”了,但是它超高的性能、可靠性、安全性、扩展性,让它依然固守着最后的领地。
如需转载,请通过作者微信公众号coderising获取授权