(1).OpenStack概述
OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。
OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目,支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack能够将诸如计算能力、存储、网络和软件等资源抽象成服务,以便让用户可以通过互联网远程来享用,付费的形式也变得因需而定,调整方便,拥有极强的虚拟可扩展性。
(2).OpenStack的作用
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务(IaaS)资源的通用前端。
1)IaaS
IaaS(Infrastructure as a Service),即基础设施即服务。消费者通过Internet可以从完善的计算机基础设施获取服务,这类服务称为基础设施即服务。基于 Internet 的服务(如存储和数据库)是 IaaS的一部分。
例如:前往阿里云、腾讯云、百度云、华为云购买一台云主机,选择基础设施(CPU、内存、硬盘)。
2)PaaS
PaaS是Platform as a Service的缩写,是指平台即服务。 把服务器平台或开发环境作为服务进行提供就成了PaaS。
例如:OpenShift,红帽的云开发平台即服务;新浪云应用SAE(云应用 SAE - 云服务 - 云托管 - 新浪云)
OpenShift是自由和开放源码的于计算平台,它可以使开发人员能够创建、测试和运行他们的应用程序,并且可以把它们部署到云中。Openshift广泛支持多种编程语言和框架,如Java,Ruby和PHP等。另外它还提供了多种集成开发工具如Eclipse integration,JBoss Developer Studio和 Jenkins等。OpenShift 基于一个开源生态系统为移动应用,数据库服务等,提供支持。
3)SaaS
SaaS是Software as a Service的缩写名称,意思为软件即服务,即通过网络提供软件服务。
SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得Saas平台供应商提供的服务。SaaS 应用软件有免费、付费和增值三种模式。付费通常为“全包”费用,囊括了通常的应用软件许可证费、软件维护费以及技术支持费,将其统一为每个用户的月度租用费。
例如:在线网校系统|在线教育/教育云/在线教育解决方案-助您轻松实现_互联网+教育-在线教育学习平台-EduSoho开源网络课堂官网(EduSoho在线网校系统)
4)总结
三种云平台架构:IaaS、PaaS、SaaS是三种不同的商业模式
5)云的其他分类
按拥有者分类:公有云(Public Cloud)、私有云(Private Cloud)、混合云(Hybrid Cloud)
按技术厂商分类:微软云计算解决方案、亚马逊AWS、OpenStack等
注意:国内云平台以OpenStack的二次开发较多,社区贡献国内最高的是华为云。
(3).OpenStack版本命名规则以及各组件关系
1)命名规则
版本发布以A-Z顺序发布,大约半年左右发布一次,目前已经发布到Stein版本(OpenStack Releases: OpenStack Releases)
查看最新OpenStack yum源:Index of /repos/openstack
2)核心组件
OpenStack的核心组件:Keystone(身份认证)、Nova(计算)、Neutron(网络)、Glance(镜像存储)、Cinder(块存储)、Swift(对象存储)、Horizon(web UI界面)、Ceilometer(计量)、Heat(部署编排)、Trove(数据库)。
详细说明:
身份认证(Keystone):统一的授权、认证管理。所有组件都依赖亍Keystone提供3A(认证Authentication,授权Authorization,记账Account)服务。
计算管理(Nova):Nova是OpenStack云中的计算组织控制器。Nova自身并没有提供任何虚拟化能力,相反它使用libvirt API来与被支持的虚拟技术Hypervisors交互,如:kvm、Xen、VMware等虚拟化技术。
网络(Neutron):实现虚拟机的网络资源管理,如:网络连接、ip管理、公网映射。
镜像管理(Glance): 主要存储和管理系统镜像, 如:cento镜像。
块存储(Cinder):为虚拟机提供存储空间, 比如硬盘、分区,目前支持LVM、ip-san、fc-san等。
对象存储(Swift):OpenStack Swift 开源项目提供了弹性可伸缩、高可用的分布式对象存储服务,适合存储大规模非结构化数据。通过key/value的方式式实现对文件的存储,现在的云盘就是这样的,和MFS、HDFS类似。注:如果客户需要一个1000T的存储空间,使用Cinder就不行,因为效率太低,这时就用Swift。
界面(Horizon):安装好后,openstack的web界面控制台DashBoard
计量(Ceilometer):Ceilometer是OpenStack中的一个子项目,它像一个漏斗一样,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。
部署编排(Heat):是一个编排引擎,它可以基于文本文件形式的模板启动多个复合云应用程序(这些文件可以被视为代码)。简单来说,Heat为OpenStack用户提供了一种自动创建云组件(如网络、实例、存储设备等)的方法。
数据库(Trove):为关系型数据库和非关系型数据库引擎提供可扩展的和可靠的云数据库服务,并继续改进其功能齐全、可扩展的开源框架。
扩展:3A认证
1、认证(Authentication),验证用户的身份不可使用的网络服务;
2、授权(Authorization):依据认证结果开放网络服务给用户;
3、计帐(Accounting):记录用户对各种网络服务的用量,幵提供给计费系统。整个系统在网络管理不安全问题中十分有效。
例如:宽带收费就是3A认证的典型例子:输入帐号密码(认证)-->开100M带宽(授权)-->在营业厅(计帐)
![](https://i-blog.csdnimg.cn/blog_migrate/469a99723df5905ebdbbe1f2ce02fc89.png)
(4).OpenStack的网络模式
Local模式:一般测试时使用,只需一台物理机即可
GRE模式:隧道模式,VLAN数量没有限制,性能有点问题
VLAN(虚拟局域网)模式:vlan数量上限为4096
VXLAN(虚拟扩展局域网)模式:vlan数量没有限制,且性能比GRE好
Flat模式:管理员创建租户直接到外网,不需要NAT
(5).扩展:VXLAN
1)VXLAN概述
VXLAN中文名虚拟扩展局域网,它是一种在UDP中封装MAC的简单机制,可以创建跨多个物理IP子网的虚拟2层子网。例如,可以通过VXLAN技术,使得北京与上海的服务器处于同一个局域网。(有点类似VPN隧道)
2)VXLAN为什么被开发出来?
虽然现在不只一种标准可以在IP中封装MAC(包括EtherIP和GRE通道桥接),但是它们都无法做到VLAN逻辑标记,因此只能使用上限为4096的VLAN。另外,即使可以使用这些标准(可以在IP中封装MAC的标准)来分隔逻辑网,也必须在负载时深入分析MAC头信息,以便查找出虚拟分片ID。
思科和VMware提出了VXLAN,它可以通过一个24位分片ID,在一个数据中心内部署百万个虚拟网。而且,VXLAN数据包格式很容易在硬件中实现,所以它以后也许可以更紧密的与物理网络设备集成。
3)VXLAN的使用情景
只有在需要大量逻辑网时,才会考虑VXLAN。如果只是少量的逻辑网,那么还是使用VLAN。
4)更多VXLAN相关信息,请参考:关于VLAN和VXLAN的理解_octopusflying的博客-CSDN博客_vlan与vxlan的区别
(6).OpenStack相关网站
官网:Open Source Cloud Computing Infrastructure - OpenStack
github:Mirrors of opendev.org/openstack · GitHub
中文官网(此时为开源基础设施峰会):SegmentFault 思否