OpenStack相关介绍*目录Openstack介绍01Openstack核心组件0203Openstack部署架构···Open+Stack=OpenStackOpenStackisacloudoperatingsystemthatcontrolslargepoolsofcompute,storage,andnetworkingresourcesthroughoutadatacenter,allmanagedthroughadashboardthatgivesadministratorscontrolwhileempoweringtheiruserstoprovisionresourcesthroughawebinterface.···OpenStackChineseUsercase*目录Openstack介绍02Openstack核心组件0103Openstack部署架构···Openstack架构介绍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组件···ServiceProjectnameDescriptionDashboardHorizon提供一个基于WEB的自助服务接口,用来与openstack服务交互。例如生成实例、分配IP地址和配置接入控制等ComputeNova管理计算实例的生命周期。功能主要是按需生成、调度、停止虚拟机。NetworkingNeutron提供网络连接服务给其它的组件,例如给compute提供网络服务;提供API让用户自己定义网络并使用;嵌入式的架构能够支持多个网络设备商的产品及技术StorageObjectStorageSwift通过RESTful、HTTP格式API存储和检索任意非结构化的数据对象。有高容错能力,并非一个文件系统BlockStorageCinder提供永久的块存储给运行中的实例。可嵌入式驱动架构,支持创建和管理块存储设备SharedservicesIdentityserviceKeystone给其它服务提供认证和授权服务ImageServiceGlance存储虚拟机磁盘镜象,生成实例时调用Glance中的镜像文件TelemetryCeilometer监控和计量云使用情况,包括计费、配额、可扩充性和统计Higher-levelservicesOrchestrationHeat通过API使用HOT模板或者AWSCloudFormation模板部署多组件云应用DatabaseServiceTrove提供高可靠、可扩充的DBaaS功能,支持关系型、非关系型数据引擎正在孵化的组件···ServiceProjectNameDescriptionBareMetalIronic提供裸金属基础设施服务QeueServiceMarconi一个WEB友好的OpenStack消息API,给WEB和移动应用提供分布式消息服务DataProcessingSavannah(Sahara)在OpenStack上部署Hadoop大数据处理Sahara在版本Juno毕业!仪表板套件Horizon在整个Openstack应用体系框架中,Horizon就是整个应用的入口。它提供了一个模块化的,基于web的图形化界面服务门户。用户可以通过浏览器使用这个Web图形化界面来访问、控制他们的计算、存储和网络资源,如启动实例、分配IP地址、设置访问控制等。Horizon套件提供IT人员一个图形化的网页接口,让IT人员可以综观云端服务目前的规模与状态,并且能够统一存取、部署与管理所有云端服务所使用到的资源。Horizon套件是个可扩展的网页式App。所以,Horizon套件可以整合第三方的服务或是产品,像是计费、监控或是额外的管理工具。基于Django框架实现。···Horizon两种功能界面···Horizon为以下两种角色的用户提供了不同的功能及使用界面:云管理员:提供一个整体视图,可以总览整个云的资源规模及运行状况.可以创建终端用户和项目,想终端用户分配项目并进行项目可使用的资源配额管理。终端用户(云用户):提供了一个自助服务门户,可以在由云管理分配的项目中,在不超过配额限制的范围内,自由的操作、使用和分配资源。云管理员云用户身份识别套件Keystone···Keystone作为Openstack的核心模块,为Nova(计算),Glance(镜像),Swift(对象存储),Cinder(块存储),Neutron(网络)以及Horizon(Dashboard)提供认证服务镜像文件管理套件Glance···Glance是OpenStack镜像服务,用来注册、登陆和检索虚拟机镜像。Glance服务提供了一个RESTAPI,使你能够查询虚拟机镜像元数据和检索的实际镜像。通过镜像服务提供的虚拟机镜像可以存储在不同的位置,从简单的文件系统对象存储到类似OpeenStack对象存储系统。镜像服务组件:Glance-API:接收最终用户或Noav对镜像的请求,检索和存储镜像的相关API调用。Glance-registry:存储,处理和检索有关镜像的元数据,元数据大小、类型等等。Database:存储镜像元数据,可以支持多种数据库,现在使用比较广泛的是mysql和sqlite.Glance与Openstack其他模块的关系···HorizonImage可视化Swift存储ImageKeystoneImage权限控制Nova调用ImageGlance模块(镜像功能)Glance支持的Image格式···ariqcow2ovfvdirawvmdkvhd添加标题添加标题添加标题raw–非结构化的镜像格式vhd–一种通用的虚拟机磁盘格式,可用于Vmware、Xen、MicrosoftVirtualPC/VirtualServer/Hyper-V、VirtualBox等vmdk–Vmware的虚拟机磁盘格式,同样也支持多种Hypervisorvdi–VirtualBox、QEMU等支持的虚拟机磁盘格式qcow2–一种支持QEMU并且可以动态扩展的磁盘格式aki–AmazonKernel镜像ari–AmazonRamdisk镜像ami–Amazon虚拟机镜像akiami运算套件Nova···•计算管理(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)Nova支持的虚拟化平台···Openstack支持的虚拟化技术KVMLXCQEMUUMLvSphereXen网络套件Neutron···•网络服务(codenamed“Quantum/Neutron”)提供在被管理设备之间的网络连接服务.•允许用户自己创建自己的网络并attach端口使用.•通过开发的Plugins支持SDN和OpenFlow•用户自定义子网地址,私有网络/公有网络以及FloatingIP分配规则NeutronDrivers*目录Openstack介绍Openstack核心组件01Openstack部署架构0203Openstack部署架构OpenStack采用无共享、基于消息的架构,非常灵活,我们能安装每个service在单独的服务器上,这意味着安装OpenStack有多种可能的方法。几种部署架构如下:a)单结点:一台服务器运行所有的services,同时也驱动虚拟实例。这种配置只为尝试OpenStack,或者为了开发目的;b)双结点:一个controller结点运行除nova-compute外的所有services,compute结点运行nova-compute和agents。这种配置主要用于概念和开发环境的证明。c)多结点:多个Controller节点可以分别部署不同的服务:单独的cindercontroller或neutroncontroller;通过proxyHA做多controller节点集群。多个Compute节点也可以分布到不同的zone。甚至还能够增加专门的数据库节点,分布式存储节点,监控节点等。···Openstack部署架构单节点结构a.一台服务器运行所有的nova-xxx组件,同时也驱动虚拟实例。这种配置只为尝试Nova,或者为了开发目的进行安装···Openstack部署架构双节点结构a.控制节点b.计算节点···Openstack部署架构3节点结构a.控制节点b.网络节点c.计算节点···Openstack部署架构多节点结构一a.多控制节点b.多计算节点···Openstack部署架构多节点结构二a.多控制节点b.多存储节点c.多计算节点d.监控节点···Openstack部署方法···Openstack部署过程a.根据硬件环境(服务器、网络、存储)设计部署方案b.配置硬件环境(服务器、网络、存储硬件初始化配置)c.在服务器上安装操作系统及KVMd.按照部署方案安装部署辅助接点(数据库节点,分布式存储节点)e.在控制节点、存储节点、网络节点安装Openstack服务组件,计算节点安装Openstack客户端和代理程序f.配置和调试计算、网络、存储Openstack部署方法···OpenStack部署难点•OpenStack部署方式灵活多变,官方没有推荐的部署模式•OpenStack官方没有推出正式的部署工具,手动部署复杂且效率低•OpenStack部署的难点在网络和存储,70%的工作都在这两个部分部署工具特点开发者FuelWEBMirantisRDO(Packstack)CLIRedHatMaaS+JujuWEB+CLICanonicalRackspacePrivateCloud使用Chef开发RackspaceCrowba