设为首页 收藏本站
开启辅助访问 快捷导航
菜单
猿人部落 主页 资讯 查看内容

云计算之OpenStack架构详解

2019-7-26 18:09 发布者: 元帅府 评论 0 查看 1571
总体框架: OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,创建公共和私有云,它提供了一个摆设云的操纵平台或工具集,其宗旨在于:资助构造运举动假造盘算或存储服务的云,为公有云、私

总体框架:

OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,创建公共和私有云,它提供了一个摆设云的操纵平台或工具集,其宗旨在于:资助构造运举动假造盘算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、机动的云盘算。
OpenStackd开源项目由社区维护,包罗OpenStack盘算(代号为Nova),OpenStack对象存储(代号为Swift),并OpenStack镜像服务(代号Glance)的聚集。 OpenStack提供了一个操纵平台,或工具包,用于编排云。

下面列出Openstack的具体构架图

Openstack的网络拓扑布局图

整个OpenStack是由控制节点盘算节点网络节点存储节点四大部分构成。(这四个节点也可以安装在一台呆板上,单机摆设)
此中:

  1. 控制节点负责对别的节点的控制,包罗假造机创建,迁移,网络分配,存储分配等等
  2. 盘算节点负责假造机运行
  3. 网络节点负责对外网络与内网络之间的通讯
  4. 存储节点负责对假造机的额外存储管理等等

硬件假造化KVM技能:

Kernel-based Virtual Machine的简称,是一个开源的体系假造化模块,自Linux 2.6.20之后集成在Linux的各个告急发行版本中。它使用Linux自身的调理器举行管理,以是相对于Xen,其焦点源码很少。KVM如今已成为学术界的主流VMM之一。

KVM的假造化必要硬件支持(如Intel VT技能大概AMD V技能)。是基于硬件的完全假造化。而Xen早期则是基于软件模仿的Para-Virtualization,新版本则是基于硬件支持的完全假造化。但Xen本身有本身的历程调理器,存储管理模块等,以是代码较为巨大。广为传播的贸易体系假造化软件VMware ESX系列是基于软件模仿的Full-Virtualization。

OpenStack与KVM的管理方案:

如今,新版本开发代号为Essex。此前发布有四个版本:Austin、Bexar、Cactus与Diablo。新版本发布包罗云盘算控制中央Nova、镜像服务Glance、认证服务Keystone和Dashboard项目Horizon,也包罗对象存储项目Swift。

由此可以看出,OpenStack是一个框架,一个可以创建公有云和私有云的根本架构。它并不是一个现成的产物,要想开展根本架构方面的工作,企业必要顾问和开发职员。许多时间还必要第三方的集成工具。

OpenStack险些支持全部的假造化管理步伐,岂论是开源的(Xen与KVM)还是厂商的(Hyper-V与VMware)。但在从前,OpenStack是基于KVM开发的,KVM经常成为默认的假造机管理步伐。两者都使用雷同的开放源理念与开发方法。

如今,多数企业用户在IT情况中使用了高出一种的假造化软件,有一半的用户选择将开源产物作为性价比更高的假造化更换方案。IDC报道中指出,OpenStack是KVM增长的一个巨大时机。OpenStack是一个具有巨大的行业发展动力,并拥有一个充满活力的社区的云盘算平台,有95%的OpenStack平台由KVM驱动。因此,随着OpenStack的增长,KVM也会相应增长。

 

一、控制节点架构:

控制节点包罗以下服务

   管理支持服务

   根本管理服务

   扩展管理服务

   1)管理支持服务包罗MySQL与Qpid两个服务

MySQL:数据库作为根本/扩展服务产生的数据存放的地方

Qpid:消息署理(也称消息中心件)为其他各种服务之间提供了同一的消息通讯服务

   2)根本管理服务包罗Keystone,Glance,Nova,Neutron,Horizon五个服务

Keystone:认证管理服务,提供了别的全部组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为同一的数据库

Glance:镜像管理服务,提供了对假造机摆设的时间所能提供的镜像的管理,包罗镜像的导入,格式,以及制作相应的模板

Nova:盘算管理服务,提供了对盘算节点的Nova的管理,使用Nova-API举行通讯

Neutron:网络管理服务,提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理面板

Horizon:控制台服务,提供了以Web的情势对全部节点的全部服务的管理,通常把该服务称为DashBoard

   3)扩展管理服务包罗Cinder,Swift,Trove,Heat,Centimeter五个服务

Cinder:提供管理存储节点的Cinder干系,同时提供Cinder在Horizon中的管理面板

Swift:提供管理存储节点的Swift干系,同时提供Swift在Horizon中的管理面板

Trove:提供管理数据库节点的Trove干系,同时提供Trove在Horizon中的管理面板

Heat:提供了基于模板来实现云情况中资源的初始化,依赖关系处置惩罚,摆设等根本操纵,也可以管理自动紧缩,负载均衡等高级特性。

Centimeter:提供对物理资源以及假造资源的监控,并纪录这些数据,对该数据举行分析,在肯定条件下触发相应动作

控制节点一样平常来说只必要一个网络端口用于通讯/管理各个节点

二、网络节点架构

网络节点仅包罗Neutron服务

Neutron:负责管理私有网段与公有网段的通讯,以及管理假造机网络之间的通讯/拓扑,管理假造机之上的防火等等

网络节点包罗三个网络端口

eth0:用于与控制节点举行通讯

eth1:用于与除了控制节点之外的盘算/存储节点之间的通讯

eth2:用于外部的假造机与相应网络之间的通讯

三、盘算节点架构

盘算节点包罗Nova,Neutron,Telemeter三个服务

  1)根本服务

Nova:提供假造机的创建,运行,迁移,快照等各种围绕假造机的服务,并提供API与控制节点对接,由控制节点下发使命

Neutron:提供盘算节点与网络节点之间的通讯服务

  2)扩展服务

Telmeter:提供盘算节点的监控署理,将假造机的情况反馈给控制节点,是Centimeter的署理服务

盘算节点包罗最少两个网络端口

eth0:与控制节点举行通讯,受控制节点同一调配

eth1:与网络节点,存储节点举行通讯

四、存储节点架构

存储节点包罗Cinder,Swift等服务

Cinder:块存储服务,提供相应的块存储,简单来说,就是假造出一块磁盘,可以挂载到相应的假造机之上,不受文件体系等因素影响,对假造机来说,这个操纵就像是新加了一块硬盘,可以完成对磁盘的任何操纵,包罗挂载,卸载,格式化,转换文件体系等等操纵,大多应用于假造机空间不敷的情况下的空间扩容等等

Swift:对象存储服务,提供相应的对象存储,简单来说,就是假造出一块磁盘空间,可以在这个空间当中存放文件,也仅仅只能存放文件,不能举行格式化,转换文件体系,大多应用于云磁盘/文件

存储节点包罗最少两个网络接口

eth0:与控制节点举行通讯,担当控制节点使命,受控制节点同一调配

eth1:与盘算/网络节点举行通讯,完成控制节点下发的各类使命

五、各个组件作用及关系

Openstack发展至今,统共集成了下面几个组件:

  • Nova - 盘算服务
  • Neutron-网络服务
  • Swift - 对象存储服务
  • Cinder-块存储服务
  • Glance - 镜像服务
  • Keystone - 认证服务
  • Horizon - UI服务
  • Ceilometer-监控服务
  • Heat-集群服务
  • Trove-数据库服务

组件间的关系图如下:

告急组件先容

OpenStack认证服务(Keystone)
Keystone为全部的OpenStack组件提供认证和访问战略服务,它依赖自身REST(基于Identity API)体系举行工作,告急对(但不限于)Swift、Glance、Nova等举行认证与授权。究竟上,授权通过对动作消息泉源者哀求的正当性举行判定。下图表现了身份认证服务流程:

 

Keystone采取两种授权方式,一种基于用户名/暗码,另一种基于令牌(Token)

除此之外,Keystone提供以下三种服务:
    令牌服务:含有授权用户的授权信息
    目次服务:含有用户正当操纵的可用服务列表
    战略服务:使用Keystone具体指定用户或群组某些访问权限

keystone认证服务注意点:

服务入口:如Nova、Swift和Glance一样每个OpenStack服务都拥有一个指定的端口和专属的URL,我们称其为入口(endpoints)。

区位:在某个数据中央,一个区位具体指定了一处物理位置。在典范的云架构中,如果不是全部的服务都访问分布式数据中央或服务器的话,则也称其为区位。

用户:Keystone授权使用者
  PS:代表一个个体,OpenStack以用户的情势来授权服务给它们。用户拥有证书(credentials),且大概分配给一个或多个租户。颠末验证后,会为每个单独的租户提供一个特定的令牌。

服务:总体而言,任何通过Keystone举行毗连或管理的组件都被称为服务。举个例子,我们可以称Glance为Keystone的服务。

脚色:为了维护安全限定,就云内特定用户可实行的操纵而言,该用户关联的脚色好坏常告急的。
  PS:一个脚色是应用于某个租户的使用权限聚集,以答应某个指定用户访问或使用特定操纵。脚色是使用权限的逻辑分组,它使得通用的权限可以简单地分组并绑定到与某个指定租户干系的用户。

租间:租间指的是具有全部服务入口并配有特定成员脚色的一个项目。
  PS:一个租间映射到一个Nova的“project-id”,在对象存储中,一个租间可以有多个容器。根据差异的安装方式,一个租间可以代表一个客户、帐号、构造或项目。

OpenStack盘算办法----Nova

Nova是OpenStack盘算的弹性控制器。OpenStack云实例生命期所需的各种动作都将由Nova举行处置惩罚和支持,这就意味着Nova以管理平台的身份登场,负责管理整个云的盘算资源、网络、授权及测度。固然Nova本身并不提供任何假造本领,但是它将使用libvirt API与假造机的宿主机举行交互。Nova通过Web服务API来对外提供处置惩罚接口,而且这些接口与Amazon的Web服务接口是兼容的。

功能及特点: 
实例生命周期管理
盘算资源管理
网络与授权管理
基于REST的API
异步一连通讯
支持各种宿主:Xen、XenServer/XCP、KVM、UML、VMware vSphere及Hyper-V

Nova弹性云(OpenStack盘算部件)包罗以下告急部分:
API Server(nova-api)
消息队列(rabbit-mq server)
运算工作站(nova-compute)
网络控制器(nova-network)
卷管理(nova-volume)
调理器(nova-scheduler)

表明如下:
1)API服务器(nova-api)
API服务器提供了云办法与外界交互的接口,它是外界用户对云实行管理的唯一通道。通过使用web服务来调用各种EC2的API,接着API服务器便通过消息队列把哀求送达至云内目标办法举行处置惩罚。作为对EC2-api的更换,用户也可以使用OpenStack的原生API,我们把它叫做“OpenStack API”。

2)消息队列(Rabbit MQ Server)
OpenStack内部在遵照AMQP(高级消息队列协议)的根本上采取消息队枚举行通讯。Nova对哀求应答举行异步调用,当哀求吸收后便则立刻触发一个回调。由于使用了异步通讯,不会有用户的动作被长置于等候状态。比方,启动一个实例或上传一份镜像的过程较为耗时,API调用就将等候返回结果而不影响别的操纵,在此异步通讯起到了很大作用,使整个体系变得更加高效。

 3)调理器(nova-scheduler)  

调理器负责把nova-API调用送达给目标。调理器以名为“nova-schedule”的保卫历程方式运行,并根据调理算法从可用资源池中恰当地选择运算服务器。有许多因素都可以影响调理结果,比如负载、内存、子节点的远近、CPU架构等等。强大的是nova调理器采取的是可插入式架构。

如今nova调理器使用了几种根本的调理算法:
  随机化:主机随机选择可用节点;
  可用化:与随机相似,只是随机选择的范围被指定;
  简单化:应用这种方式,主机选择负载最小者来运行实例。负载数据可以从别处得到,如负载均衡服务器。

4)运算工作站(nova-compute)
运算工作站的告急使命是管理实例的整个生命周期。他们通过消息队列吸收哀求并实行,从而对实例举行各种操纵。在典范现实生产情况下,会架设许多运算工作站,根据调理算法,一个实例可以在可用的恣意一台运算工作站上摆设。

 5)网络控制器(nova-network)
网络控制器处置惩罚主机的网络设置,比方IP所在分配,设置项目VLAN,设定安全群组以及为盘算节点设置网络。

 6)卷工作站(nova-volume) 
卷工作站管理基于LVM的 实例卷,它可以或许为一个实例创建、删除、附加卷,也可以从一个实例中分离卷。卷管理为何云云告急?由于它提供了一种保持实例一连存储的本事,比如当竣事一个 实例后,根分区如果好坏一连化的,那么对其的任何改变都将丢失。但是,如果从一个实例中将卷分离出来,大概为这个实例附加上卷的话,纵然实例被关闭,数据 仍然生存此中。这些数据可以通过将卷附加到原实例或其他实例的方式而重新访问。

因此,为了日后访问,告急数据务须要写入卷中。这种应用对于数据服务器实例的存储而言,尤为告急。

OpenStack镜像服务器----Glance

OpenStack镜像服务器是一套假造机镜像发现、注册、检索体系,我们可以将镜像存储到以下恣意一种存储中:
当地文件体系(默认)
S3直接存储
S3对象存储(作为S3访问的中心渠道)
OpenStack对象存储等等。
  
功能及特点:
提供镜像干系服务。

Glance构件:
1)Glance-API:
  告急负责吸收相应镜像管理下令的Restful哀求,分析消息哀求信息并分发其所带的下令(如新增,删除,更新等)。默认绑定端口是9292。
2)Glance-Registry:
  告急负责吸收相应镜像元数据下令的Restful哀求。分析消息哀求信息并分发其所带的下令(如获取元数据,更新元数据等)。默认绑定的端口是9191。

OpenStack存储办法----Swift

Swift为OpenStack提供一种分布式、一连假造对象存储,它雷同于Amazon Web Service的S3简单存储服务。Swift具有跨节点百级对象的存储本领。Swift内建冗余和失效备援管理,也可以或许处置惩罚归档和媒体流,特殊是对大数据(千兆字节)和大容量(多对象数目)的测度非常高效。

swift功能及特点:  
海量对象存储
大文件(对象)存储
数据冗余管理
归档本领-----处置惩罚大数据集
为假造机和云应用提供数据容器
处置惩罚流媒体
对象安全存储
备份与归档
良好的可伸缩性

Swift组件
Swift账户
Swift容器
Swift对象
Swift署理
Swift RING
  
Swift署理服务器  
用户都是通过Swift-API与署理服务器举行交互,署理服务器正是吸收外界哀求的门卫,它检测正当的实体位置并路由它们的哀求。
别的,署理服务器也同时处置惩罚实体失效而转移时,故障切换的实体重复路由哀求。

Swift对象服务器
对象服务器是一种二进制存储,它负责处置惩罚当地存储中的对象数据的存储、检索和删除。对象都是文件体系中存放的典范的二进制文件,具有扩展文件属性的元数据(xattr)。

注意:xattr格式被Linux中的ext3/4,XFS,Btrfs,JFS和ReiserFS所支持,但是并没有有用测试证着实XFS,JFS,ReiserFS,Reiser4和ZFS下也同样能运行良好。不外,XFS被以为是当前最好的选择。

Swift容器服务器
容器服务器将列出一个容器中的全部对象,默认对象列表将存储为SQLite文件(译者注:也可以修改为MySQL,安装中就是以MySQL为例)。容器服务器也会统计容器中包罗的对象数目及容器的存储空间淹灭。

Swift账户服务器
账户服务器与容器服务器雷同,将列出容器中的对象。

Ring(索引环)

Ring容器纪录着Swift中物理存储对象的位置信息,它是真实物理存储位置的实体名的假造映射,雷同于查找及定位差异集群的实体真实物理位置的索引服务。这里所谓的实体指账户、容器、对象,它们都拥有属于本身的差异的Rings。

OpenStack管理的Web接口----Horizon

Horizon是一个用以管理、控制OpenStack服务的Web控制面板,它可以管理实例、镜像、创建密匙对,对实例添加卷、操纵Swift容器等。除此之外,用户还可以在控制面板中使用终端(console)或VNC直接访问实例。

总之,Horizon具有如下一些特点:  
实例管理:创建、停止实例,查察终端日记,VNC毗连,添加卷等
访问与安全管理:创建安全群组,管理密匙对,设置浮动IP等
偏好设定:对假造硬件模板可以举行差异偏好设定
镜像管理:编辑或删除镜像
查察服务目次
管理用户、配额及项目用途
用户管理:创建用户等
卷管理:创建卷和快照
对象存储处置惩罚:创建、删除容器和对象
为项目下载情况变量

六、发展趋势

如果过细梳理选择自主研发与OpenStack两个阵营,美国与中国市场,两种差异路径选择的公司,都有本身的“基因”所决定的:阿里云、亚马逊AWS、微软Azure、谷歌GCP,自主研发的都是互联网公司,而选择OpenStack如IBM、英特尔、华为,包罗退出的思科与惠普,都是传统的IT厂家。

自主研发与OpenStack,实在是互联网与传统IT之争——只管,腾讯也是互联网公司,但腾讯的云盘算起步晚,选择OpenStack是“走捷径”的唯一选择

有人将OpenStack视为传统IT硬件厂商的救命稻草,它们没有云盘算的自研本领,于是有了一个集成技能,换个方式继续卖硬件装备。OpenStack最大的短板在于——自诞生以来,OpenStack险些没有履历过大规模的实战查验版天职支繁多且相互不兼容,跨厂商无法迁移升级

互联网与传统IT相比力,它们的上风是,迭代升级上相应敏捷。OpenStack从私有云出来,它的基因就并非为大规模业务服务的,传统IT公司另有根深蒂固的硬件头脑,如IBM究竟还是卖服务器的。互联网公司切入云盘算,并敏捷做大,如亚马逊、微软、谷歌、阿里,更多的是将它们自身积聚的理念与履历的外部化。

美国云盘算格局,已经证明,OpenStack的扫除不可克制,IBM、思科、惠普等终究敌不外亚马逊、微软、谷歌——传统IT硬件厂商在云盘算范畴,打不外互联网公司,这是宿命,由各自的基因所决定。国内云盘算市场,信任也将重复如许的历程。

人生长恨水长东,OpenStack的落寞,值得痛惜,但不可克制。

 



路过

雷人

握手

鲜花

鸡蛋
收藏 邀请
上一篇:如何开发一个音视频播放器(ffmpeg3.2+sdl2.0)下一篇:阿里巴巴王坚:用数据来改变世界

相关阅读