1 OpenStack的特点
OpenStack是一个完全开源的
云计算系统,使用者可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售;OpenStack是基于强大的社区开发模式,任何公司和个人都可以参与到项目中,参与测试开发,贡献代码;0penStack被专门基金会管理,可以说是一个真正开源的云计算项目;OpenStack为组建云提供了必要的软件、控制台和API;
OpenStack以user和project身份来启动实例,管理网络访问规则和控制访问权限,给用户提供强大的灵活性和扩展性;OpenStack全部组件都由python编程语言开发,和Java等其它编程语言相比,python程序具有非常高的并发处理能力和极低的系统资源占用率,增加了系统的性能和稳定性,且代码易于维护和扩展。
2 Openstack设计原则
①Scalability and elasticity are our main goals(可扩展性和伸缩性是我们的主要目标);②Any feature that limits our main goals must be optional(任何影响到可扩展性和伸缩性的功能都必须是可选的);③Everything should be asynchronous,If you can't do something asynchronously,see#2(所有的环节必须是异步的,如果不能异步实现,参考第②条设计原理);④All required components must be horizontally scalable(所有的基础组件必须能横向扩展);⑤Always use shared nothing architecture(SN) or sharding,If you can't share nothing/shard,see#2(始终使用无共享的架构,如果不能实现,参见第②条);⑥Distribute everything especially logic.Move logic to where state naturally exists(所有的都是分布式的,尤其是逻辑。把逻辑放在状态应该存在的地方);⑦Accept eventual consistency and use it where it is appropriate(接受最终一致性,并在适合的条件下使用);⑧Test everything(充足的测试)。
3 OpenStack的构成
Openstack发展到目前版本,主要由六大组件构成,如图1所示。
图1 OpenStack构成
(1)OpenStack Compute(Nova)计算服务。运行在主机操作系统上潜在的虚拟化机制交互的驱动,并提供基于Web的API功能。
(2)OpenStack Object Storage(Swift)存储服务。可扩展的对象存储系统,可以用来创建基于云的弹性存储。
(3)Image Service(Glance)镜像服务。虚拟机镜像的存储、查询和检索系统。
(4)OpenStack Identity(Keystone)认证服务。为运行OpenStack Compute上的OpenStack云提供了认证和管理用户、帐号和角色信息服务,并为OpenStack Object Stor—age提供授权服务。
(5)OpenStack Dashboard(Horizon)UI服务。Open—Stack的Web管理控制台,可以通过Web界面访问的方式来操作管理网络和虚拟机实例等。
(6)OpenStack Quantum&Melange网络&地址管理。提供了虚拟网络和1P地址管理服务。
4 OpenStack各组件之间的关系
0penStack项目总的来说被设计为一个“可交付的大型可伸缩的云操作系统”。为了达到这个目标,每个组成服务目的是在一起工作来提供一个完整的基础设施即服务(IaaS)。这种集成通过每个服务提供公共应用程序编程接口(API)来实现。因为这些API被用作服务与服务之间相互协调的唯一方式,所以也允许底层的这些服务可以任意替换,而不会影响其它服务,因为与这些服务相互通讯的API永远不会变化。这些组件最终也都提供相同的API给云的终端用户。
图2是OpenStack的六大组件的逻辑关系图。
图2 六大组件的逻辑关系
由图2,我们可以总结出以下几点;①Dashboard提供了一个统一的Web操作界面来访问其它的OpenStack服务;②Compute通过Image存储和检索虚拟磁盘文件和相关元数据;③Network为compute提供了虚拟网络;④Block Storage为compute提供了存储卷;⑤Image可以将实际的虚拟磁盘文件存储到0bject Store上;⑥所有服务都要通过keystone来授权访问。
5 OpenStack的逻辑架构
图3是OpenStack各个组件之间的逻辑关系图。
图3 OpenStack备组件之间逻辑关系
由图3,可以总结出以下几点:①终端用户通过nova—api对话来与OpenStack Compute交互,通过glanee-api对话来与0penStack Glance交互,通过OpenStack ObjectAPI来与OpenStack swift交互;②OpenStaek Compute守护进程之间通过队列(行为)和数据库(信息)来交换信息,以执行API请求;③OpenStack Glance与OpenStack Swift基本上都是独立的基础架构,OpenStack Compute通过Grlance API和0biect API来进行交互。
其各个组建的情况如下:①nova—api守护进程是OpenStack Compute的中心。它给所有API查询(Compute API或EC2 API)提供端点,初始化界大多数部署活动(比如运行实例),以及实施一些策略(绝大多数的配额检查);②Nova-compute进程主要是一个创建和终止虚拟机实力的Workder守护进程。其过程相当复杂,但是基本原理很简单:从队列中接受行为,然后在更新数据库的状态时,通过一系列的系统命令执行;③Nova-volume负责管理映射到计算机实例的卷的创建、附加、取消和删除。这些卷可以来自很多提供商,比如ISCSI和AoE;④Novanetwork worker守护进程类似于nova-compute和nova- volume。它们从队列中接受网络任务,然后执行任务以操控网络,比如创建bridging interfaces或者改变iptables rules;⑤Queue提供中心hub,为守护进程传递消息。当前用RabbitMQ实现。但是理论上是python ampqlib支持的任何AMPQ消息队列;⑥Nova database存储云基础架构中的绝大多数编译时和运行时状态。这包括了可用的实例类型,在用的实例,可用的网络和项目。理论上,OpenStack Compute能支持SQL-Alchemy支持的任何数据库,当前广泛使用sqlite3(仅用于测试和开发工作)、MySQL和PostgreSQL;⑦OpenStack Glance是一个单独的项目,它是一个compute架构中可选的部分,分为3个部分:glance—api,glance—registry和image store。其中,glance—api接受OpenStack image API调用,glance-registry负责存储和检索镜像的元数据,实际的Image Blob存储在Image Store中。Image Store可以是多种不同的ObjectStore,包括OpenStack Ojbect Storage(Swift);⑧Open—Stack Swift是一个单独的项目,它是分布式存储架构,能防止单点故障并支持横向扩展。它包括以下4个部分:swift-proxy,account,container和oh/ect。swift-proxy通过接收0penStack Object API或者HTTP传人的请求,接受文件上传、修改元数据或容器创建。此外,它还将提供文件或容器清单到浏览器上。swiftproxy可以使用一个可选的缓存(通常部署在memcache中)来提高性能。account管理账户定义对象存储服务。container管理一个映射的容器(即文件夹)在对象存储服务。对象服务器管理实际对象(例如文件)在存储节点。
6 结语
OpenStaek很可能成为未来云计算平台的标准,只要遵循统一的标准,用户便可以随意将自己的应用部署到不同的云平台,而不需要对应用做任何修改。在未来统一的标准下,用户完全不用关心云服务提供商是用0penStaek构建的云还是其它平台构建的云,只需要把应用部署到云即可,然后为使用的云资源付费。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:OpenStack开源云计算平台
本文网址:http://www.toberp.com/html/support/11121510359.html