Linux-on-Power与云计算基础架构
“云”给人的第一感觉总是神秘莫测,虚无飘渺。很多事情如果和云联系在一起,立刻会高大上起来,就像西游记中的孙悟空,除了火眼金睛,七十二变,那一个跟头十万八千里的筋斗云也不可或缺。
“云计算”无疑是当今IT界最火热的概念之一,”上云”也成为越来越多的企业在考虑的事情。在云计算的基础架构中,Linux-on-Power能发挥怎样的作用 ?有哪些优势?或者在某些人的印象中,云计算基础架构除了构建在x86平台,还有其他可选项吗 ?阅读本文后,希望您能找到一些答案。
云计算发展简史
2006年8月9日,Google首席执行官埃里克·施密特(Eric Schmidt)在搜索引擎大会(SES SanJose 2006)首次提出“云计算”(Cloud Computing)的概念。这是云计算发展史上第一次正式地提出这一概念,有着巨大的历史意义。云计算的兴起过程中,互联网公司功不可没,但是在 “云计算”这一概念正式提出之前,云计算的一些技术基础和雏形已经存在了很长时间。
如果以云计算基础架构的核心技术 “虚拟化”来看,其历史可以追溯到1959年。1959 年 6 月,牛津大学的计算机教授,克里斯·托弗(Christopher Strachey)在国际信息处理大会(International Conference on Information Processing)上发表了一篇名为《大型高速计算机中的时间共享》(Time Sharing in Large Fast Computer)的学术报告,他在文中首次提出了 “虚拟化” 的基本概念,还论述了什么是虚拟化技术。
1999年一家名为Salesforce的公司喊出“No Software”的口号,率先在企业中引入了远程提供服务的概念。2001年Salesforce公司推出首个SaaS模式的CRM。其首次通过自己的互联网站点向企业提供客户关系管理(CRM)软件系统,使得企业不必像以前那样通过部署自己的计算机系统和软件来进行客户管理。只需登录Salesforce.com公司的网站即可实现客户关系管理,从而为现在的软件即服务(SaaS)奠定了基础。
2002年亚马逊启用了Amazon Web Services(AWS)平台。当时该免费服务可以让企业将Amazon.com的功能整合到自家网站上。
2003年到2006年,Google发表了四篇文章。分别是关于分布式文件系统(GFS),并行计算(MapReduce),数据管理(Big Table)和分布式资源管理(Chubby)。这4篇文章为云计算的兴起奠定了技术基础。
云计算的特点
1、 虚拟化技术
虚拟化突破了时间、空间的界限,是云计算最为显著的特点,虚拟化技术包括应用虚拟和资源虚拟两种。众所周知,物理平台与应用部署的环境在空间上是没有任何联系的,所谓物理上是统一的,逻辑上是分离的,正是通过虚拟平台对相应终端操作完成数据备份、迁移和扩展等。
2、动态可扩展
云计算具有高效的运算能力,在原有服务器基础上增加云计算功能能够使计算速度迅速提高,最终实现动态扩展虚拟化的层次达到对应用进行扩展的目的。
3、按需部署
计算机包含了许多应用、程序软件等,不同的应用对应的数据资源库不同,所以用户运行不同的应用需要较强的计算能力对资源进行部署,而云计算平台能够根据用户的需求快速配备计算能力及资源。
4、灵活性高
目前市场上大多数IT资源、软、硬件都支持虚拟化,比如存储网络、操作系统和开发软、硬件等。虚拟化要素统一放在云系统资源虚拟池当中进行管理,可见云计算的兼容性非常强。
5、容错能力
少量服务器故障也不影响计算与应用的正常运行。因为服务器出现故障可以通过虚拟化技术将分布在不同物理服务器上面的应用进行恢复或利用动态扩展功能部署新的服务器进行计算。
云计算的分类
目前流行的云计算分类主要有2种。
一种是按照服务模式, 分为基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)这三种。
另外一种是按照运营模式,分为 公有云、私有云、混合云。
Linux-on-Power与云计算基础架构
Power芯片的核心优势是SMT(Simultaneous Multi Threads)即并发多线程技术,目前在售的Power9芯片,最高每核可以到8线程,相当于x86超线程的4倍,这一核心优势其实很适合云计算的场景,云计算的核心基础之一是虚拟化,在天然应用虚拟化的场景,SMT可以通过提供更高的虚机密度或者容器密度,或者同样密度下更好的性能,来提供更低的TCO。
下面我们从虚拟化,IaaS,PaaS,SaaS的角度描述Linux-on-Power是如何与云计算基础架构结合的。
虚拟化
与Linux-on-Power有关的虚拟化技术主要有3个,分别是:KVM,Docker ,PowerVM。
KVM
KVM,基于内核的虚拟机(Kernel-based Virtual Machine,缩写为 KVM),是一种用于Linux内核中的虚拟化技术,可以将Linux内核转化为一个Hypervisor。KVM在2007年2月被导入Linux 2.6.20内核中。KVM在具备Intel VT或AMD-V功能的x86平台上运行,也被移植到S390,PowerPC与IA-64平台上。在Linux内核3.9版中,加入了对ARM架构的支持。KVM目前由Red Hat等厂商开发,对CentOS/Fedora/RHEL等Red Hat系发行版支持极佳。
Linux-on-Power使用KVM时的虚机密度可以非常高,以一款服务器为例,该服务器为2路CPU,每路CPU有16物理核,每物理核有4线程,所以共有 2X16X4=128线程,如果每个虚拟机最低使用1线程,可以虚拟出128个虚机,大大提高虚拟机密度。
Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux服务器上。
一个完整的Docker有以下几个部分组成:
Docker Client客户端
Docker Daemon守护进程
Docker Image镜像
Docker Container容器
使用docker时,可以更加方便的发挥SMT的优势。曾经在一个极端的测试中,单台Power服务器上成功运行了10000个容器。
PowerVM是在基于POWER处理器的具有行业领先水平的虚拟化技术。从性能看,由于是完全适配power物理机实现的虚拟化,所以PowerVM的虚拟化效率较高。PowerVM中对应虚拟机的概念叫逻辑分区LPAR(Logical Partition),可以在一个LPAR中运行Linux,目前所有主流Linux发行版都支持运行在LPAR中。
另外PowerVM对于SMT的使用,还有一个独有的微分区的概念,可以将分配给LPAR的CPU定义为0.5核。
IaaS
oVirt
oVirt是一个开源的虚拟化管理平台,是RedHat 虚拟化管理平台RHEV的开源版本。
oVirt由两部分组成
客户端oVirt-node
管理端oVirt-engine
严格意义上说,oVirt算不上是一个IaaS层的软件,oVirt目前只支持KVM,也不具备很多IaaS管理的自动化的功能,但是oVirt轻量级,可以满足中小企业,小团队,小规模的需求。
oVirt从 4.0版本开始官方支持Linux-on-Power,可以从这个网址下载到安装包:https://resources.ovirt.org/pub/ ,注意Linux-on-Power的架构名称是 ppc64le。
PowerVC
PowerVC是一款高级虚拟化和云管理解决方案,基于 OpenStack 构建而成,可针对运行在 Power服务器上面的 AIX,System I 及 Linux 虚拟机提供简单的虚拟化管理和云部署支持,支持快速在 Power服务器上部署虚拟机。PowerVC 为 Power服务器的云管理奠定了基础,也可以集成到基于 OpenStack 技术的更高级的云管平台上。
OpenStack
OpenStack是由 Rackspace和NASA共同开发的云计算平台,帮助服务商和企业内部
实现类似于 Amazon EC2和S3的IaaS服务。
OpenStack包括两个主要模块:Nova和 Swift。前者是虚拟服务器部署和业务计算模
块;后者是分布式云存储模块,两者可以一起用,也可以分开单独用。Linux-on-Power既可以同时使用作为计算节点和存储节点,也可以单独使用,只作为计算节点或者存储节点。
今天的OpenStack除了可以管理基于KVM虚拟化的Power服务器,也可以管理基于PowerVM虚拟化的Power服务器,原因是PowerVM专门开发了一个NovaLink 的技术,来和OpenStack进行对接。
第三方IaaS平台管理软件
任何基于KVM的第三方IaaS平台,经过适配,都可以管理Linux-on-Power。在市场上也可以看到能够管理Linux-on-Power的第三方IaaS平台管理软件。
PaaS
Kubernetes
如同oVirt ,Kubernetes严格意义上来说也不是一个PaaS平台软件,但是同样胜在轻量级。Kubernetes官方支持Linux-on-Power平台。
OpenShift
OpenShift是红帽的云开发平台即服务(PaaS)。自由和开放源码的云计算平台使开发人员能够创建、测试和运行他们的应用程序,并且可以把它们部署到云中。OpenShift 广泛支持多种编程语言和框架,如Java,Ruby和PHP等。另外它还提供了多种集成开发工具如Eclipse integration,JBoss Developer Studio和 Jenkins等。OpenShift 基于一个开源生态系统为移动应用,数据库服务等,提供支持。
OpenShift在最新的4.x版本中,开始官方支持Linux-on-Power。相比较KVM ,Docker 省去了guest OS ,无论最终是将容器运行在裸机上,还是运行在KVM虚拟机里面,无疑都节省了很多工作量,由此也可以更方便的利用Power芯片SMT的优势。
第三方PaaS平台
任何基于Docker+Kubernetes 的第三方PaaS平台,经过适配,也都可以管理Linux-on-Power平台。这方面的案例有国内某知名电信厂商的自研PaaS平台。
如何落地
说了这么多,最关键的还是如何落地。
下面介绍几种常见的落地方式。
架构I
常见于传统核心业务,数据库运行于AIX上,应用运行于Linux上。
架构II
常见于传统核心业务,数据库运行于AIX LPAR上,应用运行于Linux上。
架构III
常见于传统核心业务,数据库运行于AIX LPAR上,应用运行于Linux LPAR上。
架构IIII
常见于互联网业务场景,采用分布式架构解决高并发访问的性能问题。
以上常见架构中,Linux-on-Power可以作为计算节点,也可以作为存储节点,应用场景也并没有绝对的划分,根据实际应用场景,综合考虑适用性,成本,性能,性价比,扩展性等各方面因素,选择合适的基础架构,才是王道。
到此,基本介绍了Linux-on-Power与云计算基础架构结合的主要方面。 至于具体细节方面的知识,在Linux-on-Power系列文章中,将逐一介绍,欢迎大家的关注,可以搜索 ”Linux-on-Power” 关键词。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论