一、什么是云计算?

     云计算(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供应商RedhatSuseCanonical
路由器供应商CiscoJuniper networkAlcatel-luceent
刀片服务器供应商HPCiscoIBM
交换机供应商CiscoHPJuniper network
存储供应商EmcIBMNetApp
Hypervisor供应商VmwareKvmXen

 

三、openstack关键组件

 

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

Neutron

 

 

Storage存储

 

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

Cinder

 

Shared server(共享服务)

块存储,提供存储资源池
IdentityKeystone认证管理
Imageserviceglance提供虚拟机镜像的注册和存储管理
Telemetry

Ceilometer

 

 

Higher-level service(高级服务)

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

Orchestration

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

 

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是控制节点中的一个非常关键的服务。