一、什么是云计算?

     云计算(Cloud Computing)是(DistributedComputing)、(Parallel Computing)、(UtilityComputing)、(Network Storage Technologies)、(Virtualization)、(LoadBalance)等传统发展融合的产物。

1、云计算的部署类型:

分别是私有云、公有云、混合云。

私有云指的是部署在一个封闭和特定环境(网络封闭或者服务范围封闭)中的一个云计算系统。

 

公有云指的是部署在一个开放环境中,为所有具备网络接入能力的人和系统提供服务。用户通过互联网访问和使用公有云的服务,但不拥有云也不管理云。

 

混合云指的是以私有云为基础,能够在业务负载超越私有云自身能力或其它指定的情况下,把部分业务负载透明地分流到其它云上进行处理,使得私有云和部分其它云的资源整合在一起形成的一个系统。

2、云计算的服务类型:

可以分为基础设施及服务(IaaS)、应用平台及服务(PaaS)、软件及服务(SaaS)三个层次。

 

二、openstack的功能与作用

 

Openstack具有建设这样资源池的能力,通过openstack的各种组件多种模式的排列组合,可以搭建成各种规模的云,这些云可以是私有云,公有云,混合云。

         Openstack具有三大核心功能,即计算,存储,网络,分别对应相应的项目Nova,Cinder等。其中Nova提供了计算资源的管理,可以管理跨服务器网络的vm实例。同时Nova还提供了对多种Hyperviosr的支持,如KVM,QEMU,Xen,LXC,Vmware,Hyper-V,Powervm等。Cinder提供了存储资源的管理,可以管理各个厂商提供的专业存储设备。

支持openstack项目的主流供应商

 

 

X86服务器供应商 HP(惠普) DELL(戴尔) IBM
Linux供应商 Redhat Suse Canonical
路由器供应商 Cisco Juniper network Alcatel-luceent
刀片服务器供应商 HP Cisco IBM
交换机供应商 Cisco HP Juniper network
存储供应商 Emc IBM NetApp
Hypervisor供应商 Vmware Kvm Xen

 

三、openstack关键组件

 

服务名称 项目名称 描述
Dashboard Horizon 基于openstackAPI接口使用django开发的web管理
Compute Nova 通过虚拟化技术提供计算资源池
Networking

Neutron

 

 

Storage存储

 

实现了虚拟机的网络资源管理
Object Storage Swift 对象存储,适用于“一次写入,多次读取”
Block storage

Cinder

 

Shared server(共享服务)

块存储,提供存储资源池
Identity Keystone 认证管理
Imageservice glance 提供虚拟机镜像的注册和存储管理
Telemetry

Ceilometer

 

 

Higher-level service(高级服务)

提供监控和数据采集,计量服务

Orchestration

Heat 自动化部署的组件
DatabaseService Trove 提供数据库应用服务

 

Mysql:

         Openstack所使用的数据库,包括novaglancecinder等在内的组件都会建立自己的数据库,保存一些必要的数据。

Keystone:

         Openstack的用户认证组件,它的功能主要是建立管理项目的用户和各种服务端口,以及进行用户的身份认证,若要使用openstack的任意的API,第一步就必须通过keystone的验证。

keystone的主要功能是提供认证和编录服务

keystone提供了两种认证方式:token,identifybackend

         token(令牌,实际是一个随机字串,在认证时直接使用),主要用于内部各组件之间

         identify(账号,密码),需要用户登陆时,如用户通过horizon访问云资源

catalog(编录):保存当前openstack架构中的调用接口(ip地址,端口,url信息),openstack各个组件之间交互通过api接口,openstack架构各个组件通过httprestful机制(一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制)远程过程调用,基于URI输出。

policy:管理策略,如与用户管理、虚拟机实例管理有关的策略.

 

 

Glance:

         用来存放管理虚拟机镜像和快照的服务,这也是一个最小架构中必须有的服务。

glance存放镜像的元数据的

registry:调用数据库的接口,检索接口

database:映像文件的存储位置等

         swift:分布式存储

 

Neutron:

         网络服务,用来提供虚拟机网络通信的组件,负责接收对网络的调用请求。

Nova

         Nova是个至关重要的组件,也是个相对庞大的组件,其中有很多服务,它是进行生成虚拟机工作的主要服务。

Nova计算节点,是openstack的最核心的节点,运行虚拟机实例,分配cpu、内存,nova-compute本身并不能运行虚拟机,是要通过hypervisor,nova-compute通过api调用hypervisor,,nova-compute支持那种api就可以调用那种hypervisor,nova-compute支持libvirt api就可以调用libvirt支持的hypervisor(如kvm),xenapi可以调用xen

Cinder:块存储

         用来创建,删除及管理volume(虚拟磁盘卷),以及给volume做快照等服务的组件

swift:分布式文件系统,用来存储镜像文件模板

Horizion:

         Openstackweb管理页面,使用django框架开发。Web管理页面包含了日常使用的大部分功能,提供给用户一个最直观的展现方式。很多简单的二次开发都是从Horizon开始的。

Rabbitmq

         openstack中,各个服务之间是通过消息来交互的,因为openstack使用AMQP作为消息传递的技术,所以rabbitmq,qpid,zeromq等支持AMQP的软件都是被openstack所支持的。Rabbitmq是第一个被openstack所使用的消息传递软件。Openstack通过AMQP实现RPC服务,来保证不同组件之间的通信,rabbitmq是控制节点中的一个非常关键的服务。