目录
- 一、云计算
- 1.1 云计算简介
- 1.2 云计算服务模型
- 二、OpenStack
- 2.1 OpenStack起源
- 2.2 OpenStack简介
- 2.3 OpenStack项目
- 2.4 OpenStack优势
- 2.5 OpenStack设计基本原则
- 2.6 OpenStack概念架构图
- 2.7 Openstack逻辑架构
- 2.8 OpenStack物理架构
一、云计算
1.1 云计算简介
云计算(Cloud Computing)是网格计算(Grid Computing )、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机技术和网络技术发展融合的产物。狭义云计算是指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的服务。这种服务可以是和软件、互联网相关的,也可以是任意其他的服务,它具有超大规模、虚拟化、可靠安全等独特功效。
云计算进行超级计算的基础是互联网,通过数据的远程中心,以数以万计的服务器及电脑组成电脑云,这是计算机网格发展、处理以及分布式处理的结果,换句话说,这是计算机实现其科学概念商业和的结果。负责云计算的服务端维护工作的是许多专业技术人员,在数据的存储上,更加的科学和安全;在设备方面,云计算没有较高的客户端需求,使用便捷,各种设备都能轻松完成共享任务;使网络的各项功能得到拓展,增强其共享网络以及计算数据的各项能力。
1.2 云计算服务模型
- laaS(基础架构即服务)
- 提供底层IT基础设施服务,包括处理能力、存储空间、网络资源等
- 面向对象─般是IT管理人员
- Paas(平台即服务)
- 把安装好开发环境的系统平台作为一种服务通过互联网提供给用户
- 面向对象─般是开发人员
- Saas (软件即服务)
- 直接通过互联网为用户提供软件和应用程序等服务
- 面向对象一般是普通用户
二、OpenStack
2.1 OpenStack起源
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。 OpenStack于2010年发布,现在参与的人员和组织汇集了来自 100 多个国家的超过 9500 名的个人和 850 多个世界上赫赫有名的企业,如 NASA、谷歌、惠普、Intel、IBM、微软等。
2.2 OpenStack简介
- OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台
- OpenStack 的目标是提供简单实施、 可扩展以及丰富的功能集的云产品, 来自全世界的云计算专家共同维护该云项目。 OpenStack 通过多种补充服务提供了 IaaS 解决方案,每一种服务均提供了相应的应用程序接口(Application Programming Interface, 简称 API),以促进各组件之间的整合。
- OpenStack 被用来提供公有云以及私有云的建设以及管理。 作为一个开源项目, 其社区规模涵盖 130 家企业以及 1350 位开发人员。这些机构与个人都将 OpenStack 作为 IaaS 资源的通用前端。
- OpenStack 支持 KVM、Xen、Lvc、Docker 等虚拟机软件或容器,默认为 KVM。通过安装驱动,也支持 Hyper-V 和 VMware ESXi.
2.3 OpenStack项目
服务 | 项目名称 | 描述 |
Compute(计算服务) | Nova | 负责实例生命周期的管理,计算资源的单位,对Hypervisor进行屏蔽,支持多重虚拟化技术(红帽默认为KVM),支撑横向扩展 |
Network(网络服务) | Neutron | 负责虚拟网络的管理,为实例创建网络的拓扑结构,是面向租户的网络管理,可以自己定义自己的网络,各个租户之间互不影响 |
Identify(身份认证服务) | Keystone | 类似于LDAP服务,对用户、租户和角色、服务进行认证与授权,且支持多认证机构 |
Dashboard(控制面板服务) | Horizon | 提供一个Web管理界面,与OpenStack底层服务进行交互 |
Image Service(镜像服务) | Glance | 提供虚拟机镜像模板的注册与管理,将做好的操作系统拷贝为镜像模板,在创建虚拟机时直接使用,可支持多格式的镜像 |
Block Storage(块存储服务) | Cinder | 负责为运行实例提供持久的块存储设备,可进行方便的扩展,按需付费,支持多种后端存储 |
Object Storage(对象存储服务) | Swift | 为OpenStack提供基于云的弹性存储,支持集群无单点故障 |
Telemetry(计量服务) | Ceilometer | 用于度量、监控和控制数据资源的集中来源,为OpenStack用户提供记账途径 |
Database Service(数据库服务) | Trove | 提供管理数据库,即服务配置关系和非关系数据库引擎节点的Trove相关,同时提供Trove在Horizon中的管理面板 |
Bare Metal Provisioning(裸金属服务) | Ironic | 提供裸金属管理服务,Nova Baremete驱动程序 |
Orchestration(编排服务) | Heat | 提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性 |
Data Processing Service(大数据服务) | Sahara | 使用户能够在OpenStack平台上便于创建和管理Hadoop以及其他计算框架集群 |
核心项目
2.4 OpenStack优势
- 控制性
完全开源的平台,提供API接口,与第三方技术集成
- 兼容性
大多数公有云都基于OpenStack可开发,方便用户迁移
- 可扩展性
模块化设计,可以很想拓展节点
- 灵活性
根据环境灵活的增加模块,增加规模
- 行业标准
众多大型企业和IT领头企业都已使用Openstack搭建自己的云
2.5 OpenStack设计基本原则
- 按照不同的功能和通用性划分不同项目,拆分子系统
- 按照逻辑计划、规范字系统之间的通信
- 通过分层设计整个系统架构
- 不同的功能子系统提供统一的API接口
2.6 OpenStack概念架构图
- OpenStack云平台服务有四个核心模块:Nova、Glance、Cinder、Neutron四个核心模块提供计算、镜像、存储、网络;四个辅助模块:Horizen、Ceilometer、KeyStone、Swift提供访问、监控、权限、对象存储
- OpenStack由多种服务组成,每一种服务都具有独立的命名。在整个OpenStack架构中,Keystone提供认证服务,接收来自用户和服务的认证请求,并且对其身份进行认证请求,并且对其身份进行认证。各个服务之间通过公用的API接口进行交互,大部分服务均包含一个API进程,用于监听API请求,根据服务的性质选择处理请求或转发请求。服务进程之间的通讯通过消息队列实现,如AMQP
- 在部署完成的云系统平台上,用户通过Horizon或者RestAPI的方式在经Keystone模块认证授权后,可以执行创建虚拟机服务。通过Nova模块创建虚拟机实例,Nova调用Glance模块提供的镜像服务,然后调用Neutron模块提供网络服务。根据需要可以选择给虚拟机增加存储卷,卷功能由Cinder模块提供服务。整个过程在Ceilometer模块的资源监控下完成。同时Cinder提供的Volume和Glance提供的镜像可以通过Swift对象存储机制进保
2.7 Openstack逻辑架构
2.8 OpenStack物理架构
一个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。(这四个节点也可以安装在一台机器上,单机部署)其中:
- 控制节点:负责对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等等
- 计算节点:负责虚拟机运行
- 网络节点负责对外网络与内网络之间的通信
- 存储节点负责对虚拟机的额外存储管理