您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > OpenStack概述
OpenStack概述唐卓湖南大学信息科学与工程学院2015-09目录OpenStack核心组件OpenStack快速部署OpenStack集群HA实现操作界面介绍2什么是OpenStack?概念OpenStack最早由美国国家航天局(NASA)研发的Nova和Rackspace研发的Swift组成;后来以Apache许可证授权,是一个旨在为公共及私有云的建设,面向云平台管理的自由软件和开放源代码项目。核心项目组成Nova:计算Keystone:认证Glance:镜像Cinder:块存储Neutron:网络Swift:对象存储Heat:编排Ceilometer:计量31OpenStack概念架构Horizon(Dashboard)与其他主要模块的关联(包括Nova,Cinder,Glance,Swift,Neutron,keystone)通过Ceilometer(监控功能)可以监控的模块(包括Nova,Glance,Cinder,Neutron)Keystone(身份验证功能)模块可以对其他模块进行相应操作进行身份及权限验证(包括Nova,Glance,Cinder,Swift,Neutron,Ceilometer)VMNova为VM提供计算资源Glance为VM提供镜像Cinder为VM提供块存储资源Neutron为VM提供网络资源及网络连接Cinder连接VM后所产生的数据可以备份到Swift对象存储中Glance提供镜像可以保存在Switf对象存储中OpenStack最简物理架构2类节点:CloudControllerNode:Keystone(身份验证服务)Glance(镜像管理服务)Nova(计算资源管理服务)数据库服务(MySQL)消息服务(RabbitMQ或QPid)ComputeNode:Nova-ComputeNova-NetworkKVM虚拟化系统2种网络:InternalNetwork(内部网络)用于提供Provider网络(VMtoProvider)用于tenant网络(VMtoVM)ExternalNetwork(外部网络)用于外部用户与VM通信及控制(VMtoInternet)OpenStack管理方式Web自助管理界面使用方便,支持Chrome/Firefox/Safari,支持IE10以上实现大部分OpenStack功能,少部分功能不支持CLI客户端工具需要在客户端安装,OpenStack每个服务都有自己对应的工具功能强大,方便进行定制配置6OpenStack主要逻辑模块–HorizonDashboard服务在整个Openstack应用体系框架中,Horizon就是整个应用的入口。它提供了一个模块化的,基于web的图形化界面服务门户。用户可以通过浏览器使用这个Web图形化界面来访问、控制他们的计算、存储和网络资源,如启动实例、分配IP地址、设置访问控制等。基于Django框架实现OpenStack主要逻辑模块–Horizon两种功能界面Horizon为以下两种角色的用户提供了不同的功能及使用界面:云管理员:提供一个整体视图,可以总览整个云的资源规模及运行状况.可以创建终端用户和项目,想终端用户分配项目并进行项目可使用的资源配额管理。终端用户(云用户):提供了一个自助服务门户,可以在由云管理分配的项目中,在不超过配额限制的范围内,自由的操作、使用和分配资源。云管理员云用户•计算管理(codenamed“Nova”)基于用户需求为VM提供计算资源管理.基于Python语言编写。•Nova-API:对外统一提供标准化接口.接受和响应最终用户ComputeAPI的请求,同时还实现与Openstack其他各逻辑模块的通讯与服务提供•Nova-Scheduler:从队列上得到一个虚拟机实例请求并且决定它应该在哪里运行(使用多种过滤器或算法调度)•Queue:提供了一个守护进程之间传递消息的中央枢纽。消息队列系统作用还可以实现与Openstack其他各逻辑模块之间的通信建立连接枢纽•Nova-Database:存储云基础设施的编译时和运行时的状态,从理论上讲,OpenStackNova可以支持任何SQL-Alchemy支持的数据库,但是目前被广泛使用的数据库有sqlite3(只适用于测试和开发工作),MySQL和PostgreSQL。•Nova-Compute:主要是一个人工守护进程,它可以通过虚拟机管理程序的API(XenAPIforXenServer/XCP,libvirtforKVMorQEMU,VMwareAPIforVMware等)来创建和终止虚拟机实例。支持多种虚拟化平台•Nova还提供控制台的服务,让最终用户通过代理服务器访问他们的虚拟实例的控制台。这涉及到多个守护进程(nova-console,nova-novncproxy、nova-xvpnvncproxy和nova-consoleauth)OpenStack主要逻辑模块-NovaNova的架构Nova处理过程请求一个虚拟机实例过程Nova支持的虚拟化平台Openstack支持的虚拟化技术KVMLXCQEMUUMLvSphereXen支持的调度器和过滤器•SimpleScheduler简单调度器•FilterScheduler过滤调度器•MultiScheduler多重调度器•ChanceScheduler随机调度器•ImagePropertiesFilter•AvailabilityZoneFilter•ComputeFilter•CoreFilter•AllHostFilter•DifferentHostFilter•IsolateHostFilter•RamFilter•SimpleCIDRAffinityFilter•SameHostFilterOpenStack主要逻辑模块–Keystone身份验证服务Keystone作为Openstack的核心模块,为Nova(计算),Glance(镜像),Swift(对象存储),Cinder(块存储),Neutron(网络)以及Horizon(Dashboard)提供认证服务基本概念项目(project),有时也称为租户(tenant)一组资源的容器,包括CPU/内存/硬盘/IP地址等每个项目可以使用的资源有限额,称之为配额(quotas)一个项目中可以有多个用户用户(user)必须至少属于一个项目可以同时属于多个项目角色(role)目前常用的主要就admin和member两种角色虚拟机(instance)16OpenStack主要逻辑模块–Glance镜像服务Glance是OpenStack镜像服务,用来注册、登陆和检索虚拟机镜像。Glance服务提供了一个RESTAPI,使你能够查询虚拟机镜像元数据和检索的实际镜像。通过镜像服务提供的虚拟机镜像可以存储在不同的位置,从简单的文件系统对象存储到类似OpeenStack对象存储系统。镜像服务组件:Glance-API:接收最终用户或Noav对镜像的请求,检索和存储镜像的相关API调用。Glance-registry:存储,处理和检索有关镜像的元数据,元数据大小、类型等等。Database:存储镜像元数据,可以支持多种数据库,现在使用比较广泛的是mysql和sqlite.Glance与Openstack其他模块的关系HorizonImage可视化Swift存储ImageKeystoneImage权限控制Nova调用ImageGlance模块(镜像功能)•块存储管理模块(codenamed“Cinder”)提供到虚拟机的永久性块存储卷.类似AWS的EBS块存储服务•多个卷可以被挂载到单一虚拟机实例,同时卷可以在虚拟机实例间移动,单个卷在同一时刻只能被挂载到一个虚拟机实例•块存储系统管理块设备到虚拟机的创建,挂载以及卸载.•块设备卷完全与OpenstackCompute集成,并支持云用户在Dashboard中管理数据自己的存储.•除了支持简单的Linux服务器本地存储之外,还支持众多的存储平台,包括Ceph,NetApp,Nexenta,SolidFire,Zadara.•快照管理提供了强大的在块存储上实现数据备份的功能可以用来作为引导卷使用•块存储适合性能敏感性业务场景,例如数据库存储大规模可扩展的文件系统或服务器需要访问到块级裸设备存储.OpenStack主要逻辑模块-块存储CinderCinder如何支持典型存储1.本地存储对于本地存储,cinder-volume可以使用LVM驱动,该驱动当前的实现需要在主机上事先用LVM命令创建一个cinder-volumes的卷组,当该主机接受到创建卷请求的时候,cinder-volume在该卷组上创建一个逻辑卷,并且用openiscsi将这个卷当作一个iscsitgt给输出.当然还可以将若干主机的本地存储用sheepdog虚拟成一个共享存储,然后使用sheepdog驱动。2.块存储•Heat(编排服务)可以提供如各种应用的高可用配置,负载均衡和自动线性扩展等功能,是一个非常强大而有用的工具。左图说明了Heat与其他项目之间的交互关系。•Heat将服务器的配置抽象成一个模板,然后将这个JSON格式的模板转化成一个云端应用。OpenStack编排服务-HeatHeat编排服务NeutronCinderSwiftCeilometerNova编排模板虚拟机•Cloud-init•Cfn-init•Cfn-hup•Cfg-push-statsGlance镜像存储Heat包括下图所示的一些进程,这些服务都属于控制服务,并运行于控制节点。Heat的组成Heat内部服务进程Heat-engine编排模板,并将事件返回给请求者控制服务访问服务进程通过API来访问编排服务Heat-api接收API请求,并发送到heat-engine去处理命令行Heat命令行工具,将编排请求发送到heat-api去处理•网络服务(codenamed“Quantum/Neutron”)提供在被管理设备之间的网络连接服务.•允许用户自己创建自己的网络并attach端口使用.•通过开发的Plugins支持SDN和OpenFlow•用户自定义子网地址,私有网络/公有网络以及FloatingIP分配规则OpenStack主要逻辑模块–Quantum/Neutron网络服务NeutronDriversQuantum/Neutron的关键概念网络Network一个L2二层网络单元租户可通过Quantum/NeutronAPI创建自己的网络子网Subnet一段IPV4/IPV6地址段为Instance提供私网或公网地址路由器Router三层路由器为租户的Instance提供路由功能端口Port虚拟交换机上的端口管理Instance的网卡•Ceilometer可以用来跟踪OpenStack集群,首先目的是为了计费,但是整个框架非常通用,可以扩展到其他用途,如资源监控、性能报告、问题调试、容量分析、智能调度、优化等。•计费通常包括以下三步。(1)收集运行数据。(2)将运行数据转化为可以计费的条目,并计算费用。(3)生成计费表单,收集付费。OpenStack主要逻辑模块–Ceilometer计费Ceilometer计量服务的组成Telemetry(ceilometer)计费数据收集进程计费收集进程Ceilometer-collector监控消息队列的通知或计费数据,处理后转化为计费信息并发送回消息队列。Ceilometer-agent-central收集虚机和计算节点之外的资源使用数据。计费节点、虚拟机计费数据收集Ceilometer-agent-compute进行
本文标题:OpenStack概述
链接地址:https://www.777doc.com/doc-3864475 .html