0
点赞
收藏
分享

微信扫一扫

OpenStack

OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。

OpenStack开源项目由社区维护,包括OpenStack计算(代号为Nova),OpenStack对象存储(代号为Swift),并OpenStack镜像服务(代号Glance)的集合。 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.    管理支持服务
  2.    基础管理服务
  3.    扩展管理服务

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:用于外部的虚拟机与相应网络之间的通信


  1)基础服务

  • Nova:提供虚拟机的创建,运行,迁移,快照等各种围绕虚拟机的服务,并提供API与控制节点对接,由控制节点下发任务
  • Neutron:提供计算节点与网络节点之间的通信服务


 2)扩展服务

  • Telmeter:提供计算节点的监控代理,将虚拟机的情况反馈给控制节点,是Centimeter的代理服务
  • eth0:与控制节点进行通信,受控制节点统一调配
  • eth1:与网络节点,存储节点进行通信,

计算节点包含最少两个网络端口

  • Cinder:块存储服务,提供相应的块存储,简单来说,就是虚拟出一块磁盘,可以挂载到相应的虚拟机之上,不受文件系统等因素影响,对虚拟机来说,这个操作就像是新加了一块硬盘,可以完成对磁盘的任何操作,包括挂载,卸载,格式化,转换文件系统等等操作,大多应用于虚拟机空间不足的情况下的空间扩容等等
  • Swift:对象存储服务,提供相应的对象存储,简单来说,就是虚拟出一块磁盘空间,可以在这个空间当中存放文件,也仅仅只能存放文件,不能进行格式化,转换文件系统,大多应用于云磁盘/文件
  • 存储节点包含最少两个网络接口
  • eth0:与控制节点进行通信,接受控制节点任务,受控制节点统一调配
  • eth1:与计算/网络节点进行通信,完成控制节点下发的各类任务


五、各个组件作用及关系

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

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

OpenStack_虚拟化_02

5.1、OpenStack认证服务--Keystone

Keystone为所有的OpenStack组件提供认证和访问策略服务,它依赖自身REST(基于Identity API)系统进行工作,主要对(但不限于)Swift、Glance、Nova等进行认证与授权。事实上,授权通过对动作消息来源者请求的合法性进行鉴定。下图显示了身份认证服务流程:

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

除此之外,Keystone提供以下三种服务:

  1.  令牌服务:含有授权用户的授权信息
  2.     目录服务:含有用户合法操作的可用服务列表
  3.     策略服务:利用Keystone具体指定用户或群组某些访问权限

5.2、OpenStack计算设施--Nova

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


功能及特点: 

  1. 实例生命周期管理
  2. 计算资源管理
  3. 网络与授权管理
  4. 基于REST的API
  5. 异步连续通信
  6. 支持各种宿主:Xen、XenServer/XCP、KVM、UML、VMware vSphere及Hyper-V


Nova弹性云(OpenStack计算部件)包含以下主要部分:

  1. API Server(nova-api)
  2. 消息队列(rabbit-mq server)
  3. 运算工作站(nova-compute)
  4. 网络控制器(nova-network)
  5. 卷管理(nova-volume)
  6. 调度器(nova-scheduler)


5.3、OpenStack镜像服务器--Glance

OpenStack镜像服务器是一套虚拟机镜像发现、注册、检索系统等镜像相关服务,我们可以将镜像存储到以下任意一种存储中:

  • 本地文件系统(默认)
  • S3直接存储
  • S3对象存储(作为S3访问的中间渠道)
  • OpenStack对象存储等等。

Glance构件:

  • 1)Glance-API: 主要负责接收响应镜像管理命令的Restful请求,分析消息请求信息并分发其所带的命令(如新增,删除,更新等)。默认绑定端口是9292。
  • 2)Glance-Registry:主要负责接收响应镜像元数据命令的Restful请求。分析消息请求信息并分发其所带的命令(如获取元数据,更新元数据等)。默认绑定的端口是9191。


Swift为OpenStack提供一种分布式、持续虚拟对象存储,它类似于Amazon Web Service的S3简单存储服务。

Swift具有跨节点百级对象的存储能力。Swift内建冗余和失效备援管理,也能够处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常高效。





http://www.taodudu.cc/news/show-4829644.html?action=onClick






举报

相关推荐

0 条评论