OpenStack(1)

OpenStack(1)

OpenStack开源云计算平台

2013/8/18    来源:万方数据    作者: 李知杰   赵健飞  
 
OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。
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构成
 
    (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 六大组件的逻辑关系
 
    由图2,我们可以总结出以下几点;①Dashboard提供了一个统一的Web操作界面来访问其它的OpenStack服务;②Compute通过 Image存储和检索虚拟磁盘文件和相关元数据;③Network为compute提供了虚拟网络;④Block Storage为compute提供了存储卷;⑤Image可以将实际的虚拟磁盘文件存储到0bject Store上;⑥所有服务都要通过keystone来授权访问。
 
5 OpenStack的逻辑架构
 
    图3是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构建的云还是其它平台构建的云,只需要把应用部署到云即可,然后为使用的云资源 付费。
posted @ 2016-04-20 10:29 心灵捕手 阅读( ...) 评论( ...)   编辑 收藏
内容概要:本文设计了一种基于PLC的全自动洗衣机控制系统内容概要:本文设计了一种,采用三菱FX基于PLC的全自动洗衣机控制系统,采用3U-32MT型PLC作为三菱FX3U核心控制器,替代传统继-32MT电器控制方式,提升了型PLC作为系统的稳定性与自动化核心控制器,替代水平。系统具备传统继电器控制方式高/低水,实现洗衣机工作位选择、柔和过程的自动化控制/标准洗衣模式切换。系统具备高、暂停加衣、低水位选择、手动脱水及和柔和、标准两种蜂鸣提示等功能洗衣模式,支持,通过GX Works2软件编写梯形图程序,实现进洗衣过程中暂停添加水、洗涤、排水衣物,并增加了手动脱水功能和、脱水等工序蜂鸣器提示的自动循环控制功能,提升了使用的,并引入MCGS组便捷性与灵活性态软件实现人机交互界面监控。控制系统通过GX。硬件设计包括 Works2软件进行主电路、PLC接梯形图编程线与关键元,完成了启动、进水器件选型,软件、正反转洗涤部分完成I/O分配、排水、脱、逻辑流程规划水等工序的逻辑及各功能模块梯设计,并实现了大形图编程。循环与小循环的嵌; 适合人群:自动化套控制流程。此外、电气工程及相关,还利用MCGS组态软件构建专业本科学生,具备PL了人机交互C基础知识和梯界面,实现对洗衣机形图编程能力的运行状态的监控与操作。整体设计涵盖了初级工程技术人员。硬件选型、; 使用场景及目标:I/O分配、电路接线、程序逻辑设计及组①掌握PLC在态监控等多个方面家电自动化控制中的应用方法;②学习,体现了PLC在工业自动化控制中的高效全自动洗衣机控制系统的性与可靠性。;软硬件设计流程 适合人群:电气;③实践工程、自动化及相关MCGS组态软件与PLC的专业的本科生、初级通信与联调工程技术人员以及从事;④完成PLC控制系统开发毕业设计或工业的学习者;具备控制类项目开发参考一定PLC基础知识。; 阅读和梯形图建议:建议结合三菱编程能力的人员GX Works2仿真更为适宜。; 使用场景及目标:①应用于环境与MCGS组态平台进行程序高校毕业设计或调试与运行验证课程项目,帮助学生掌握PLC控制系统的设计,重点关注I/O分配逻辑、梯形图与实现方法;②为工业自动化领域互锁机制及循环控制结构的设计中类似家电控制系统的开发提供参考方案;③思路,深入理解PL通过实际案例理解C在实际工程项目PLC在电机中的应用全过程。控制、时间循环、互锁保护、手动干预等方面的应用逻辑。; 阅读建议:建议结合三菱GX Works2编程软件和MCGS组态软件同步实践,重点理解梯形图程序中各环节的时序逻辑与互锁机制,关注I/O分配与硬件接线的对应关系,并尝试在仿真环境中调试程序以加深对全自动洗衣机控制流程的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值