浅析大型网站的技术基石OpenStack
发布日期:2016-3-2 10:3:17
浅析大型网站的技术基石OpenStack 我们知道虚拟化能够充分的利用资源,带来非常多的各种各样的好处。 当一个网站不是很大时,只需要四五台机器就能够支撑的时候,能够采用手工的方式虚拟机,但是当网站流量很高的时候,也就是就需要成千上万台机器的时候,那就非常不方便了。 这时候,云计算管理平台OpenStack就显出它独一无二的作用了。 云计算 这里我们先来了解一下云计算的基本概念: 一、云服务分类: 1)、SaaS:软件即服务,例如有道云笔记,百度。 2)、IaaS:基础设施即服务,就像阿里云主机那样,直接提供虚拟机的就是IaaS。 3)、PaaS:平台即服务,就像新浪SAE那样,提供虚拟空间的那种就可以算是Paas,只提供一个环境平台,用户需要上传代码才能提供服务. 4)、私有云:私有云就像一个工厂自己建立的发电厂,自己发电自己用。成本非常的高。一般是政府部门和实力强悍的公司拥有。 5)、公有云:公有云就像国家电网,为所有人提供服务。然而公有云的隐私问题,比较难以解决,所以对数据安全要求高的话,还是别用。国内有阿里云、腾讯云这类厂商。 6)、混合云:混合云综合了公有云和私有云的优劣,可以把私密数据放在私有云里面,不怎么私密的放在公有云里面,然而技术要求比较复杂啊。 7)、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接口进行通信。 A、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 云架构包括以下主要组件: a、API Server (nova-api):接受处理客户端请求。 b、Message Queue (rabbit-mq server):Nova内部组件采用RabbitMQ消息队列进行通信,对各组件解耦非常有用。 c、Compute Workers (nova-compute):核心组件,虚拟机管理。 d、Network Controller (nova-network):处理主机地网络配置。 e、Volume Worker (nova-volume):用来管理基于LVM(Logical Volume Manager)的实例卷。Volume Workers有卷的相关功能,例如新建卷、删除卷、为实例附加卷,为实例分离卷。 f、Scheduler (nova-scheduler):nova调度子服务,当客户端想Nova请求创建虚拟机的时候,该服务决定在哪个地方创建。 B、Horizon Horizon就是一个控制面板,网页形式的。便于对云计算系统的管理。 C、Keystone Keystone是openstack的认证权限管理组件,使openstack能够安全可靠的工作,每个组件都要在keystone进行注册。所以,该组件在安装Openstack时候是最先安装的。 D、Glance Glance是虚拟机镜像管理组件,值得注意的是,这个只是虚拟机镜像管理,是将镜像存储在swift或者普通磁盘上,并不能存储镜像。 上一条: 浅析云计算的六种架构
|