预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

OpenStack各组件详解和通信流程⼀、openstack由来openstack最早由美国国家航空航天局NASA研发的Nova和Rackspace研发的swift组成。后来以apache许可证授权,旨在为公共及私有云平台建设。openstack主要⽤来为企业内部实现类似于AmazonEC2和S3的云基础架构服务(Iaas).每6个⽉更新⼀次,基本与ubuntu同步,命名是以A-Z作为⾸字母来的。⼆、openstack项⽬与组件(服务名是项⽬名的别名)1、核⼼项⽬3个(1)控制台服务名:Dashboard项⽬名:Horizon功能:web⽅式管理云平台,建云主机,分配⽹络,配安全组,加云盘。(2)计算服务名:计算项⽬名:Nova(可以⽀持各种各样的虚拟化技术,vmware\kvm等)功能:负责响应虚拟机创建请求、调度、销毁云主机。(3)⽹络服务名:⽹络项⽬名:Neutron(实现⽹络虚拟化)功能:实现SDN(软件定义⽹络),提供⼀整套API,⽤户可以基于该API实现⾃⼰定义专属⽹络,不同⼚商可以基于此API提供⾃⼰的产品实现。2、共享服务项⽬3个(1)认证服务服务名:认证服务项⽬名:Keystone功能:为访问openstack各组件提供认证和授权功能,认证通过后,提供⼀个服务列表(存放你有权访问的服务),可以通过该列表访问各个组件。(2)镜像服务服务名:镜像服务项⽬名:Glance功能:为云主机安装操作系统提供不同的镜像选择(3)计费服务服务名:计费服务项⽬名:Ceilometer(监控)功能:收集云平台资源使⽤数据,⽤来计费或者性能监控3、存储项⽬2个(附加项⽬)现在主流的存储主要是三种:⽂件存储、块存储、对象存储。⽂件存储相当于⼀个⼤的⽂件夹,典型是FTP\NFS服务器,以⽂件作为传输协议。Ext3、Ext4、NTFS是本地⽂件存储,NFS、CIFS是⽹络⽂件存储(NAS存储);最明显的特征是⽀持POSIX的⽂件访问接⼝:open、read、write、seek、close等;优点:便于扩展&共享;缺点:读写速度慢。块存储在物理级别的最⼩读写单位是扇区。块存储可以认为是裸盘,最多包⼀层逻辑卷(LVM);常见的DAS、FC-SAN、IP-SAN都是块存储,块存储最明显的特征就是不能被操作系统直接读写,需要格式化为指定的⽂件系统(Ext3、Ext4、NTFS)后才可以访问。优点:读写快(带宽&IOPS);缺点:因为太底层了,不利于扩展。对象存储将元数据独⽴了出来,控制节点叫元数据服务器(服务器+对象存储管理软件),⾥⾯主要负责存储对象的属性(主要是对象的数据被打散存放到了那⼏台分布式服务器中的信息),⽽其他负责存储数据的分布式服务器叫做OSD,主要负责存储⽂件的数据部分。当⽤户访问对象,会先访问元数据服务器,元数据服务器只负责反馈对象存储在哪些OSD,假设反馈⽂件A存储在B、C、D三台OSD,那么⽤户就会再次直接访问3台OSD服务器去读取数据。基于restapi的⽅式访问,说穿了就是url地址。对象存储和分布式⽂件系统的表⾯区别:对象存储⽀持的访问接⼝基本都是restful接⼝、⽽分布式⽂件系统提供的POSIX兼容的⽂件操作接⼝;(1)对象存储服务名:对象存储项⽬名:Swift功能:REST风格的接⼝和扁平的数据组织结构。RESTFULHTTPAPI来保存和访问任意⾮结构化数据,ring环的⽅式实现数据⾃动复制和⾼度可以扩展架构,保证数据的⾼度容错和可靠性(2)块存储服务名:块存储项⽬名:Cinder功能:提供持久化块存储,即为云主机提供附加云盘。4、⾼层服务项⽬1个(1)编排服务服务名:编排服务项⽬名:Heat功能:⾃动化部署应⽤,⾃动化管理应⽤的整个⽣命周期.主要⽤于Paas三、openstack各组件详解及运⾏流程1、各组件逻辑关系图2、openstack新建云主机流程图3、虚拟机启动过程1.界⾯或命令⾏通过RESTfulAPI向keystone获取认证信息。2.keystone通过⽤户请求认证信息,并⽣成auth-token返回给对应的认证请求。3.界⾯或命令⾏通过RESTfulAPI向nova-api发送⼀个bootinstance的请求(携带auth-token)。4.nova-api接受请求后向keystone发送认证请求,查看token是否为有效⽤户和token。5.keystone验证token是否有效,如有效则返回有效的认证和对应的⾓⾊(注:有些操作需要有⾓⾊权限才能操作)。6.通过认证后nova-api和数据库通讯。7.初始化新建虚拟机的数据库记录。8.nova-api通过rpc.call向nova-scheduler请求是否有创建虚拟机的资源(HostID)。9.nova-scheduler进程侦听消