Opentack开源云计算平台王义波OpenStack简介计算组件Nova(Compute)对象存储组件Swift(ObjectStorage)镜像组件Glance(ImageService)网络组件Quantum(Network)块存储Cinder(BlockStorage)身份验证组件Keystone(Identity)Dashboard组件HorizonOpenStack是由Rackspace和NASA共同开发的云计算平台,帮助服务商和企业内部实现类似于AmazonEC2和S3的云基础架构服务(IaaS)。用Python语言编写大型用户:NASA加拿大半官方机构CANARIE网络的DAIR项目RackspaceCloud惠普云(使用UbuntuLinux)MercadoLibre的IT基础设施云,现以Openstack管理超过60000台服务器什么是OpenStack?OpenStackCommunityOpenStack简介计算组件Nova(Compute)对象存储组件Swift(ObjectStorage)镜像组件Glance(ImageService)网络组件Quantum(Network)块存储Cinder(BlockStorage)身份验证组件Keystone(Identity)Dashboard组件HorizonOpenStackCompute•它底层的开源项目名称是Nova,能控制IaaS云计算平台,可以根据需求提供虚拟服务,主要包括nova-api,nova-compute,nova-scheduler等组件。•通过虚拟机管理程序的API(XenAPIforXenServer/XCP,libvirtforKVMorQEMU,VMwareAPIforVMware等)来创建,调度和终止虚拟机实例•基础原理:接收队列中的动作,然后执行一系列的系统命令(如启动KVM实例),同时更新数据库中的状态。OpenStackCompute主要组件介绍•nova-api是Nova的中心。它为所有外部调用提供服务,除了提供OpenStack本身的API规范外,他还提供了兼容EC2的部分API,所以也可以用EC2的管理工具对nova进行日常管理。•nova-compute负责对虚拟机实例进行创建、终止、迁移、Resize的操作。工作原理可以简单描述为:从队列中接收请求,通过相关的系统命令执行他们,再更新数据库的状态。•nova-scheduler提供调度,来决定在哪台资源空闲的机器上启动新的虚拟机实例•Queue为守护进程传递消息。只要支持AMQP协议的任何MessageQueueSever都可以,当前官方推荐用RabbitMQ。•SQLdatabase存储云基础架构中的各种数据。包括了虚拟机实例数据,网络数据等。OpenStack简介计算组件Nova(Compute)对象存储组件Swift(ObjectStorage)镜像组件Glance(ImageService)网络组件Quantum(Network)块存储Cinder(BlockStorage)身份验证组件Keystone(Identity)Dashboard组件HorizonOpenStackObjectStorage•Swift是OpenStack开源云计算项目的子项目之一。Swift使用普通的服务器来构建冗余的、可扩展的分布式对象存储集群,存储容量可达PB级。•适合存储一些类型的数据:虚拟机镜像,图片存储,邮件存储,文档的备份主要组件介绍:ProxyServerProxyServer是提供SwiftAPI的服务器进程,负责Swift其余组件间的相互通信。StorageServerStorageServer提供了磁盘设备上的存储服务。ConsistencyServersSwift的ConsistencyServers的目的是查找并解决由数据损坏和硬件故障引起的错误。OpenStackObjectStorageOpenStack简介计算组件Nova(Compute)对象存储组件Swift(ObjectStorage)镜像组件Glance(ImageService)网络组件Quantum(Network)块存储Cinder(BlockStorage)身份验证组件Keystone(Identity)Dashboard组件HorizonOpenStackImageService•它是一个虚拟机镜像的存储、查询和检索系统,服务包括的RESTfulAPI允许用户通过HTTP请求查询VM镜像元数据,以及检索实际的镜像。•OpenStackImageService包括两个主要的部分,分别是APIserver和Registryserver(s)。OpenStackImageService•APIServer(运行“glanceapi”程序)起通信hub的作用。比如各种各样的客户程序,镜像元数据的注册,以及虚拟机镜像数据的存储系统,都是通过它来进行通信的。•Registryservers是遵守RegistryAPI的服务器。•这两个服务安装在同一个服务器上。镜像本身则可存储在OpenStackObjectStorage,Amazon'sS3infrastructure,fileSystem。OpenStack简介计算组件Nova(Compute)对象存储组件Swift(ObjectStorage)镜像组件Glance(ImageService)网络组件Quantum(Network)块存储Cinder(BlockStorage)身份验证组件Keystone(Identity)Dashboard组件HorizonOpenStackNetwork•在接口设备之间提供“网络连接作为一种服务”,而这些接口设备主要靠其他的OpenStack服务进行管理(最有可能是Nova)。•该服务允许用户创建自己的网络,然后连接接口。•Quantum提供一个可插拔的体系架构,Quantum是从Folsom版本开始的新项目,Folsom以前的版本是通过Nova中的Nova-Network来管理网络的OpenStack简介计算组件Nova(Compute)对象存储组件Swift(ObjectStorage)镜像组件Glance(ImageService)网络组件Quantum(Network)块存储Cinder(BlockStorage)身份验证组件Keystone(Identity)Dashboard组件HorizonOpenStackBlockStorage•可以挂载在实例上,为实例提供稳定的数据块存储服务。–往实例上挂载块存储,就好比往实例上插入一个优盘一样•Cinder在从Folsom开始加入OpenStack的一个全新的项目,之前的版本中是通过Nova-Volume来提供类似服务的。OpenStack简介计算组件Nova(Compute)对象存储组件Swift(ObjectStorage)镜像组件Glance(ImageService)网络组件Quantum(Network)块存储Cinder(BlockStorage)身份验证组件Keystone(Identity)Dashboard组件HorizonOpenStackIdentity和Dashboard•Identity(keystone)为所有的OpenStack服务提供身份验证和授权。•Dashboard(Horizon)为所有OpenStack的服务提供了一个模块化的web-based用户界面。使用这个WebGUI,可以在云上完成大多数的操作,如启动实例,分配IP地址,设置访问控制等。ThankYou!