我们知道虚拟化能够充分的利用资源,带来各种各样的好处。 当一个网站不大,只需要四五台机器就可以支撑的时候,可以采用手工的方式虚拟机,但是当网站流量很高,需要成千上万台机器的时候,那就非常不方便了。 这时候,云计算管理平台OpenStack就显出作用了。
云计算
先来说一下云计算的基本概念:
云服务分类:
IaaS:基础设施即服务,就像阿里云主机那样,直接提供虚拟机的就是IaaS。
PaaS:平台即服务,就像新浪SAE那样,提供虚拟空间的那种就可以算是Paas,只提供一个环境平台,用户需要上传代码才能提供服务.
SaaS:软件即服务,例如有道云笔记,百度。
公有云:公有云就像国家电网,为所有人提供服务。然而公有云的隐私问题,比较难以解决,所以对数据安全要求高的话,还是别用。国内有阿里云、腾讯云这类厂商。
私有云:私有云就像一个工厂自己建立的发电厂,自己发电自己用。成本较高。一般是政府部门和实力强悍的公司拥有。
混合云:混合云综合了公有云和私有云的优劣,可以把私密数据放在私有云里面,不怎么私密的放在公有云里面,然而技术要求比较复杂啊。
CaaS:OpenStack 创业公司EasyStack提出并演示的Cloud as a Service(云既服务)。以满足中大规模企业级用户对云计算安全的要求、服务级别和品质的要求、对兼顾隔离控制和灵活弹性的要求、对成本和业务弹性的要求,这些都可以在CaaS里找到答案
OpenStack概述
OpenStack是云计算事实上的标准。OpenStack是一个由Rackspac云解决方案公司和美国航空航天局(NASA)合作开发推出的经Apache2.0许可授权并以Python语言为基础的完全开源项目;该项目最初的
设计目的是用来存储海量图片和空间视频等信息的云计算管理软件,OpenStack迅速发展成一整套综合的开源云计算项目。
OpenStack不提供虚拟化技术,而是对虚拟化进行管理,它兼容几乎所有主流虚拟化技术,例如KVM、Xen、VMware、ESX、QEMU,,通过Libvirt虚拟层来对这些虚拟化技术进行包装,Libvirt统一了虚拟化工具API接口供上层调用,OpenStack还完全支持Amazon AWS的EC2 API和S3 API,OpenStack的这种对虚拟化技术较全面支持的特点使它能够广泛地部署。
OpenStack是云计算laaS开源解决方案组件,按照我的理解,云平台主要由以下四种层次。上一章讲的属于第二层次,而OpenStack属于第三层和第四层。
OpenStack架构
Openstack主要有以下几个组件。
他们之间的关系如下:
各组件之间都是松耦合的,他们之间采用Restful接口进行通信。
Nova
Nova是OpenStack核心组件,其他很多组件都是从Nova项目分割出来的,都是为Nova服务的,OpenStack虚拟机实例生命周期的所有活动都由Nova处理。这样使得Nova成为一个负责管理计算资源、网络、认证、所需可扩展性的平台。但是,Nova自身并没有提供任何虚拟化能力,相反它使用libvirt API来与被支持的Hypervisors交互(Xen,KVM等等)。Nova 通过一个与Amazon Web Services(AWS)EC2 API兼容的web services API来对外提供服务,还支持基于消息的异步通信方式。
Nova 云架构包括以下主要组件:
API Server (nova-api):接受处理客户端请求。
Message Queue (rabbit-mq server):Nova内部组件采用RabbitMQ消息队列进行通信,对各组件解耦非常有用。
Compute Workers (nova-compute):核心组件,虚拟机管理。
Network Controller (nova-network):处理主机地网络配置。
Volume Worker (nova-volume):用来管理基于LVM(Logical Volume Manager)的实例卷。Volume Workers有卷的相关功能,例如新建卷、删除卷、为实例附加卷,为实例分离卷。
Scheduler (nova-scheduler):nova调度子服务,当客户端想Nova请求创建虚拟机的时候,该服务决定在哪个地方创建。
Horizon
Horizon就是一个控制面板,网页形式的。便于对云计算系统的管理。
Keystone
Keystone是openstack的认证权限管理组件,使openstack能够安全可靠的工作,每个组件都要在keystone进行注册。所以,该组件在安装Openstack时候是最先安装的。
Glance
Glance是虚拟机镜像管理组件,注意,这个只是虚拟机镜像管理,并不能存储镜像,而是将镜像存储在swift或者普通磁盘上
网站建设 网站开发